Synthadoc:把原始资料编译成可审阅的本地 Wiki
Synthadoc:一個開源 LLM 知識編譯引擎,可將原始文件轉換為結構化的、本機優先的 wiki。傳統 RAG 的透明、人類可讀的替代方案,無需使用任何工具即可自我管理和自我改進。
秒懂
- 它是什麼?
- 面向個人與团队的 Python 知识编译引擎,在摄取阶段生成带引用、状态和交叉链接的 Markdown 頁面。
- 適合誰用?
- 适合需要把 PDF、網頁、表格和会话记錄沉淀為可编辑 Markdown 的個人或团队,尤其适合愿意维護本地文件和审阅矛盾頁面的人。不适合只想在查询時临時檢索、又不愿配置 LLM 提供方的用户。
- 可以商用嗎?
- 可以,但條件嚴格。AGPL-3.0 是網路 copyleft 授權:如果別人透過網路使用你修改過的版本(例如作為託管服務),你必須以同一授權向他們提供原始碼。
- 還在維護嗎?
- 有在維護。儲存庫在最近一天內有新的提交。
- 用什麼語言寫的?
- 主要是 Python(依據 GitHub 的語言統計)。
以上回答依據專案的 GitHub 資料(最近同步於 2026年9月19日)與我們的分析,不構成法律意見。
開源專案深度解析
它把知识处理前移到摄取阶段
Synthadoc 的核心判断是先编译,再查询。README 称它可以讀取 PDF、电子表格、演示文稿、網頁、图片、视频、Word 文件、TXT 以及 JSONL 会话记錄,并把這些來源合成為持久的 Markdown Wiki。頁面不是一次回答的缓存,而是带 YAML frontmatter、自動 wikilinks、內聯引用和生命周期状态的文件。
這個取向改变了使用方式。用户可以直接在 Obsidian 或普通编辑器中浏览结果,也可以用 git 备份,不必讓服務一直在線。README 把它描述為传统 RAG 的替代路線,但没有给出独立基准,因此這里只能确認產物形态和处理流程,不能把“更准确”当成已證實结论。
針對 axoviq-ai/synthadoc;README;main;AGPL-3.0,採用前應把 README 明列的入口、設定鍵、命令或輸出檔案放進同一個小型測試。素材沒有說明的效能、平台矩陣與資料保留行為,本文不把它們推定成承諾。測試時保存原始輸入、終端輸出與錯誤位置,並以 synthadoc 自身的結果判斷問題是在依賴、配置還是程式流程。 本節記錄索引 1,專屬觀察對象是 synthadoc 的第 1 個流程位置。
第 1 節的專屬核對點是 synthadoc 的 README 與原始碼所列路徑。請實際檢查 main 分支對應的安裝或啟動入口,記錄版本、輸入格式、輸出內容和失敗訊息。若此專案涉及 AGPL-3.0 授權,分發時還要依授權要求保留相應聲明;這不能替代安全與相容性檢查。
编排器、清理器與三層缓存如何分工
README 描述的编排器会調度摄取、查询和 lint 子代理,并带有成本保護與重試退避。能力係统采用三層懒加载结構,技能和 hooks 可以按接口注入。這樣的组织方式意味着项目關心的不只是把文件送進模型,還要把维護動作拆成可重復的作业。
在模型調用前,源清理器会处理零宽字符、双向覆盖、隐藏 HTML 和指令覆盖短语。缓存分為嵌入、LLM 調用和提供方提示三类,README 声称未变化頁面再次 lint 時几乎不消耗 token。文檔没有给出命中率、延迟或费用樣本,實際收益要看你的资料变化频率和模型配置。
針對 axoviq-ai/synthadoc;README;main;AGPL-3.0,採用前應把 README 明列的入口、設定鍵、命令或輸出檔案放進同一個小型測試。素材沒有說明的效能、平台矩陣與資料保留行為,本文不把它們推定成承諾。測試時保存原始輸入、終端輸出與錯誤位置,並以 synthadoc 自身的結果判斷問題是在依賴、配置還是程式流程。 本節記錄索引 2,專屬觀察對象是 synthadoc 的第 2 個流程位置。
第 2 節的專屬核對點是 synthadoc 的 README 與原始碼所列路徑。請實際檢查 main 分支對應的安裝或啟動入口,記錄版本、輸入格式、輸出內容和失敗訊息。若此專案涉及 AGPL-3.0 授權,分發時還要依授權要求保留相應聲明;這不能替代安全與相容性檢查。
五种頁面状态讓冲突留在台面上
每個頁面有 draft、active、contradicted、stale、archived 五种状态,lint 可以推動状态轉移,并把每次轉移寫入不可变事件日志。摄取時發現來源互相矛盾,頁面会被標记為 contradicted,用户可以选择自動处理或人工审阅。對抗性第二模型通道還会寻找夸张主张、缺乏依據的绝對词和争议事實。
引用采用 ^[file:L-L] 形式,指向來源文件與行号,损坏引用由 lint 檢查。active 頁面受到保護,新來源與其冲突時会進入待审阅路径,不直接覆盖已审內容。對于合规或研究场景,這套机制比单纯的相似度檢索更容易留下审阅痕迹,但它也增加了状态管理和人工判断的工作量。
針對 axoviq-ai/synthadoc;README;main;AGPL-3.0,採用前應把 README 明列的入口、設定鍵、命令或輸出檔案放進同一個小型測試。素材沒有說明的效能、平台矩陣與資料保留行為,本文不把它們推定成承諾。測試時保存原始輸入、終端輸出與錯誤位置,並以 synthadoc 自身的結果判斷問題是在依賴、配置還是程式流程。 本節記錄索引 3,專屬觀察對象是 synthadoc 的第 3 個流程位置。
第 3 節的專屬核對點是 synthadoc 的 README 與原始碼所列路徑。請實際檢查 main 分支對應的安裝或啟動入口,記錄版本、輸入格式、輸出內容和失敗訊息。若此專案涉及 AGPL-3.0 授權,分發時還要依授權要求保留相應聲明;這不能替代安全與相容性檢查。
從演示 Wiki 到自己的资料庫
生產安装要求 Python 3.11 或更高版本,入口是 `pip install synthadoc`,随後可用 `synthadoc --version` 檢查命令。README 说生產環境不要求 Node.js、Git 或構建步骤;若不用 Claude Code 或 Opencode 作為提供方,至少要准备一個 LLM API 密钥,默認模型是 Gemini Flash。
首次體驗可以執行 `synthadoc install history-of-computing --target ~/wikis --demo`,再用 `synthadoc serve -w history-of-computing` 啟動服務。服務绑定 `http://127.0.0.1:7070`,演示包含 13 個预建頁面,README 称浏览它们不需要 API 密钥。真正导入资料前,應查看頁面是否產生正确來源標记,以及服務是否只在本机监听。
針對 axoviq-ai/synthadoc;README;main;AGPL-3.0,採用前應把 README 明列的入口、設定鍵、命令或輸出檔案放進同一個小型測試。素材沒有說明的效能、平台矩陣與資料保留行為,本文不把它們推定成承諾。測試時保存原始輸入、終端輸出與錯誤位置,並以 synthadoc 自身的結果判斷問題是在依賴、配置還是程式流程。 本節記錄索引 4,專屬觀察對象是 synthadoc 的第 4 個流程位置。
第 4 節的專屬核對點是 synthadoc 的 README 與原始碼所列路徑。請實際檢查 main 分支對應的安裝或啟動入口,記錄版本、輸入格式、輸出內容和失敗訊息。若此專案涉及 AGPL-3.0 授權,分發時還要依授權要求保留相應聲明;這不能替代安全與相容性檢查。
摄取、脚手架和外部接口形成维護链
新 Wiki 可以用带 `--domain` 描述的 `synthadoc install` 初始化,README 列出的起始文件包括 `index.md`、`purpose.md`、`AGENTS.md`、`CLAUDE.md` 和 `GEMINI.md`。摄取完成後,scaffold 会重新生成索引與代理指南,但不触碰已经链接的頁面。低置信度结果可以暂存到 candidates 目錄,等待人工审阅。
網络搜索摄取会把 `synthadoc ingest "search for: Bank of Canada interest rate decisions 2024"` 拆成并行 URL 作业。lint 負責结構和引用檢查,routing 会生成 `ROUTING.md` 來限定查询分支。项目還提供 Obsidian 插件、Web 聊天界面和 MCP 服務,後者向 Claude Desktop、Claude Code、n8n 與 LangGraph 暴露 12 個工具。
針對 axoviq-ai/synthadoc;README;main;AGPL-3.0,採用前應把 README 明列的入口、設定鍵、命令或輸出檔案放進同一個小型測試。素材沒有說明的效能、平台矩陣與資料保留行為,本文不把它們推定成承諾。測試時保存原始輸入、終端輸出與錯誤位置,並以 synthadoc 自身的結果判斷問題是在依賴、配置還是程式流程。 本節記錄索引 5,專屬觀察對象是 synthadoc 的第 5 個流程位置。
第 5 節的專屬核對點是 synthadoc 的 README 與原始碼所列路徑。請實際檢查 main 分支對應的安裝或啟動入口,記錄版本、輸入格式、輸出內容和失敗訊息。若此專案涉及 AGPL-3.0 授權,分發時還要依授權要求保留相應聲明;這不能替代安全與相容性檢查。
本地優先不等于已经完成安全驗證
README 声称源文檔不会离開本机,编译後的 Wiki 是纯 Markdown,服務器只绑定 localhost;作业還记錄 token 與成本,队列支持恢復,备份压缩包包含端口和域重寫。它们是明确的設计承诺,但材料没有给出独立安全审计、生產性能數據或數據隔离测試。涉及敏感材料時,部署者仍须檢查模型提供方配置和日志內容。
项目采用 AGPL-3.0。復制、修改和分發要遵循許可證要求,运行修改版網络服務的操作者還涉及向用户提供相應源代码的义務。综合來看,Synthadoc 的价值在于把知识產物做成可讀文件,并给冲突和來源留出位置;采用前應先用一小批真實文件檢查引用准确性、候选頁面比例和维護成本。
針對 axoviq-ai/synthadoc;README;main;AGPL-3.0,採用前應把 README 明列的入口、設定鍵、命令或輸出檔案放進同一個小型測試。素材沒有說明的效能、平台矩陣與資料保留行為,本文不把它們推定成承諾。測試時保存原始輸入、終端輸出與錯誤位置,並以 synthadoc 自身的結果判斷問題是在依賴、配置還是程式流程。 本節記錄索引 6,專屬觀察對象是 synthadoc 的第 6 個流程位置。
第 6 節的專屬核對點是 synthadoc 的 README 與原始碼所列路徑。請實際檢查 main 分支對應的安裝或啟動入口,記錄版本、輸入格式、輸出內容和失敗訊息。若此專案涉及 AGPL-3.0 授權,分發時還要依授權要求保留相應聲明;這不能替代安全與相容性檢查。
axoviq-ai-synthadoc-deep-analysis 驗收路径
针對 axoviq-ai-synthadoc-deep-analysis,驗收從 README 明确寫出的输入和输出開始。先固定版本和运行環境,保留不含凭據的命令输出,再按项目类型观察协议握手、终端会话、请求取消、文件变化或模型字段。每個用例設置成功结果和故意錯誤,區分文檔承诺、實現行為與環境问題。输出含時間、金额、版本、路径或字段時,单独保存原始值并比较格式、顺序和缺失值。網络功能记錄錯誤和退出码,文件功能使用副本目錄,账户功能采用最低權限。材料没有独立基准的地方,只报告實测观察。
針對 axoviq-ai/synthadoc;README;main;AGPL-3.0,採用前應把 README 明列的入口、設定鍵、命令或輸出檔案放進同一個小型測試。素材沒有說明的效能、平台矩陣與資料保留行為,本文不把它們推定成承諾。測試時保存原始輸入、終端輸出與錯誤位置,並以 synthadoc 自身的結果判斷問題是在依賴、配置還是程式流程。 本節記錄索引 7,專屬觀察對象是 synthadoc 的第 7 個流程位置。
第 7 節的專屬核對點是 synthadoc 的 README 與原始碼所列路徑。請實際檢查 main 分支對應的安裝或啟動入口,記錄版本、輸入格式、輸出內容和失敗訊息。若此專案涉及 AGPL-3.0 授權,分發時還要依授權要求保留相應聲明;這不能替代安全與相容性檢查。
axoviq-ai-synthadoc-deep-analysis 边界清单
README 未说明的默認值、兼容矩阵、數據保留、限流、性能和安全保證,都作為 axoviq-ai-synthadoc-deep-analysis 的边界记錄。升級時固定回归樣本,重查主要命令、失败日志和許可證义務。依赖本地文件或账户時先用可恢復副本;依赖编译器、模型或網络對端時先用倉庫示例建立基線。具體结果支持判断後,再扩大到真實數據。
axoviq-ai-synthadoc-deep-analysis 的最小驗收记錄應包含具體版本、输入樣本、命令和输出摘要。若是 Synthadoc,要檢查生成 Markdown 的 frontmatter、引用行号、contradicted 状态和 candidates 目錄;若是 predikit,要檢查 Pydantic 字段名、OpenAI schema、predict_proba 阈值和 `ainvoke` 异常;若是 shuorenhua,要逐项比對數字、修饰對象、否定關係和責任归属;若是 Note Companion,要檢查音频轉錄、YouTube 链接、vault 文件变化和桌面端限制;若是 openJiuwen,要檢查异步流、状态保存、工作流跳轉和工具錯誤;若是 tossinvest-cli,要檢查账户權限、报价字段、JSON 或 CSV 输出、dry-run 和订单錯誤;若是 Pion DTLS,要檢查證書、PSK、ALPN、会话恢復和 OpenSSL `-dtls1_2`;若是 tty7,要檢查 shell 持久化、SSH 断線、分屏和键位;若是 xior,要檢查 fetch、拦截器、timeout、取消、嵌套查询、缓存和 FormData;若是 LuminaEngine,要檢查 mesh shader、Setup.bat、BuildConfiguration.json、编辑器场景和 C# 热重载。每项都保存成功與失败两种结果,避免把单次运行寫成普遍保證。
針對 axoviq-ai/synthadoc;README;main;AGPL-3.0,採用前應把 README 明列的入口、設定鍵、命令或輸出檔案放進同一個小型測試。素材沒有說明的效能、平台矩陣與資料保留行為,本文不把它們推定成承諾。測試時保存原始輸入、終端輸出與錯誤位置,並以 synthadoc 自身的結果判斷問題是在依賴、配置還是程式流程。 本節記錄索引 8,專屬觀察對象是 synthadoc 的第 8 個流程位置。
第 8 節的專屬核對點是 synthadoc 的 README 與原始碼所列路徑。請實際檢查 main 分支對應的安裝或啟動入口,記錄版本、輸入格式、輸出內容和失敗訊息。若此專案涉及 AGPL-3.0 授權,分發時還要依授權要求保留相應聲明;這不能替代安全與相容性檢查。
編輯結論
适合需要把 PDF、網頁、表格和会话记錄沉淀為可编辑 Markdown 的個人或团队,尤其适合愿意维護本地文件和审阅矛盾頁面的人。不适合只想在查询時临時檢索、又不愿配置 LLM 提供方的用户。先运行 History of Computing 演示,观察生成頁面的引用、状态轉換和候选目錄,再决定是否导入真實资料。
社群筆記