Docs:一款支援即時協作與資料自主的開源文字編輯器
Docs 是一款開源文字編輯器:原生網絡,專為即時協作、結構清晰的文件和子文件而設計,具有資料的完全所有權。專為與 Django 和 React 一起擴展而構建。
秒懂
- 它是什麼?
- Docs 儲存庫描述了一個用 Django 和 React 建構的協作編輯器,定位為 Notion 和 Google Docs 的替代品,並包含可選 AI、自架設選項和 MIT 授權。
- 適合誰用?
- README 對專案範圍和授權注意事項說明得算清楚,但許多操作細節需要查閱外部文件。評估 Docs 時,下一步應該是查看安裝指南和環境變數文件,而不是只依賴 README。
- 可以商用嗎?
- 可以。MIT 是寬鬆授權:你可以使用、修改並販售以它為基礎的軟體,只需保留著作權與授權聲明。
- 還在維護嗎?
- 有在維護。儲存庫在最近一天內有新的提交。
- 用什麼語言寫的?
- 主要是 Python(依據 GitHub 的語言統計)。
以上回答依據專案的 GitHub 資料(最近同步於 2026年9月15日)與我們的分析,不構成法律意見。
開源專案深度解析
定位:替代 Notion 和 Google Docs
Docs 是一款開源協作文字編輯器,其 README 將其描述為 Notion 或 Google Docs 等工具的替代品。儲存庫元資料補充說,它面向 Web 原生,專為即時協作而設計,並支援結構清晰的文件和子文件,讓使用者完全掌握自己的資料。專案使用 Python 編寫,基於 Django 和 React 建構。README 還提到該專案由法國政府 DINUM 和德國政府 ZenDiS 聯合發起,目前正在引入荷蘭。儲存庫帶有數位公共產品徽章,但 README 沒有說明該徽章驗證的具體標準。
第1個觀察點要對準 suitenumerique/docs、Django、React、make bootstrap FLUSH_ARGS='--no-input'、make run、documentation/installation/README.md、DJANGO_SERVER_TO_SERVER_API_TOKENS、PUBLISH_AS_MIT=true、MIT、GPL。先確認 README 所列名稱在目前版本仍存在,再記下實際使用的參數、輸入資料與輸出結果。若命令沒有回傳預期結果,應保留完整錯誤訊息,回到對應檔案或 issue 查找原因,不把缺少說明的部分補成保證。
docs 第1節的結論只適用於 README 已寫明的範圍。實作時請將這個專案名稱、版本標籤、設定鍵與輸出檔案一併保存,並以同一組輸入重跑,觀察行為是否一致。文件沒有交代的相容性、效能和安全特性,不在本文替它做承諾。
編輯器的核心功能集
README 列出了富文字和 Markdown 編輯、斜線指令塊系統、離線編輯,以及可選的 AI 寫作助手(可重寫、總結、翻譯和修復錯別字)。協作方面,它提到即時游標和在場狀態、評論與共享、細粒度的存取控制。文件可以按子頁面層級組織,內容可搜尋。簡報模式基於簡單的 `---` 分隔符建構,支援全螢幕顯示、PDF 匯出、鍵盤導覽,以及從某個區塊開始簡報。匯入支援 .docx 和 .md,匯出支援 .docx、.odt 和 .pdf。
第2節涉及 docs 的實際邊界。驗證時要檢查 suitenumerique/docs、Django、React、make bootstrap FLUSH_ARGS='--no-input'、make run、documentation/installation/README.md、DJANGO_SERVER_TO_SERVER_API_TOKENS、PUBLISH_AS_MIT=true、MIT、GPL 是否互相匹配,並分開記錄成功路徑、失敗路徑和未被文件覆蓋的情況。這樣才能分辨 README 的功能描述、版本差異與本地環境問題,也能讓後續升級比較有依據。
docs 第2節的結論只適用於 README 已寫明的範圍。實作時請將這個專案名稱、版本標籤、設定鍵與輸出檔案一併保存,並以同一組輸入重跑,觀察行為是否一致。文件沒有交代的相容性、效能和安全特性,不在本文替它做承諾。
可選的 AI 功能:模型無關且閘道無關
Docs 包含可選的 AI 功能。README 說明它們是模型無關和閘道無關的,設定只需要一個 API 金鑰和一個 URL。它描述了兩種版本。V1 採用「選擇-取代」流程:使用者的選擇即上下文和指令,AI 回饋取代所選內容,並針對 Docs 格式進行最佳化。V2 標記為測試版,整合了 BlockNote AI,在所選內容處新增 AI 工具列,還提供 AI 游標(像另一個協作者一樣與文件互動),並在選擇之上使用文件上下文。README 沒有指定具體的 AI 提供者或閘道,也沒有說明這些功能是否預設啟用。
針對 suitenumerique-docs-deep-analysis,可以從 suitenumerique/docs、Django、React、make bootstrap FLUSH_ARGS='--no-input'、make run、documentation/installation/README.md、DJANGO_SERVER_TO_SERVER_API_TOKENS、PUBLISH_AS_MIT=true、MIT、GPL 建立最小案例:準備一份可重複的輸入,執行專案指定入口,檢查終端輸出、生成檔案、瀏覽器畫面或資料庫變化。若結果只在特定設定下成立,就把該設定連同版本一起寫進紀錄,避免把一次成功誤當成普遍行為。
docs 第3節的結論只適用於 README 已寫明的範圍。實作時請將這個專案名稱、版本標籤、設定鍵與輸出檔案一併保存,並以同一組輸入重跑,觀察行為是否一致。文件沒有交代的相容性、效能和安全特性,不在本文替它做承諾。
透過資源伺服器和伺服器到伺服器 API 實現互通
Docs 附帶資源伺服器 API 和伺服器到伺服器 API,兩者都在 README 中提到。README 給出了一個具體範例:如果你執行 Meet 實例,透過簡單設定變數(`DJANGO_SERVER_TO_SERVER_API_TOKENS`)即可將會議記錄推送到 Docs,並授予請求使用者存取權限。這些 API 的文件位於 `documentation/resource_server.md` 和環境變數文件中,但 README 沒有提供端點範例或除權杖變數名之外的認證細節。互通部分還聲稱「支援出色的整合」,但沒有具體說明。
第4個觀察點要對準 suitenumerique/docs、Django、React、make bootstrap FLUSH_ARGS='--no-input'、make run、documentation/installation/README.md、DJANGO_SERVER_TO_SERVER_API_TOKENS、PUBLISH_AS_MIT=true、MIT、GPL。先確認 README 所列名稱在目前版本仍存在,再記下實際使用的參數、輸入資料與輸出結果。若命令沒有回傳預期結果,應保留完整錯誤訊息,回到對應檔案或 issue 查找原因,不把缺少說明的部分補成保證。
docs 第4節的結論只適用於 README 已寫明的範圍。實作時請將這個專案名稱、版本標籤、設定鍵與輸出檔案一併保存,並以同一組輸入重跑,觀察行為是否一致。文件沒有交代的相容性、效能和安全特性,不在本文替它做承諾。
自架設與本地開發工作流程
自架設支援 Kubernetes、Docker Compose,以及 Nix 和 YunoHost 等社群提供的方式,安裝指南位於 `documentation/installation/README.md`。一個警告說明,某些進階功能(例如「匯出為 PDF」)依賴 Blocknote 的 XL 套件,這些套件採用 GPL 授權,與 MIT 不相容。使用 `PUBLISH_AS_MIT=true` 建構可以產生不包含這些非 MIT 功能的映像。對於本地開發,README 建議使用 Docker、Docker Compose 和 GNU Make,並提供了 `make bootstrap FLUSH_ARGS='--no-input'` 來建構容器、安裝依賴、執行資料庫遷移和編譯翻譯。`make run` 啟動服務,前端位址為 `https://localhost:3000`,開發憑證為 `impress`/`impress`。README 警告此設定僅用於開發和測試,使用 Minio 作為相容 S3 的儲存後端。
第5節涉及 docs 的實際邊界。驗證時要檢查 suitenumerique/docs、Django、React、make bootstrap FLUSH_ARGS='--no-input'、make run、documentation/installation/README.md、DJANGO_SERVER_TO_SERVER_API_TOKENS、PUBLISH_AS_MIT=true、MIT、GPL 是否互相匹配,並分開記錄成功路徑、失敗路徑和未被文件覆蓋的情況。這樣才能分辨 README 的功能描述、版本差異與本地環境問題,也能讓後續升級比較有依據。
docs 第5節的結論只適用於 README 已寫明的範圍。實作時請將這個專案名稱、版本標籤、設定鍵與輸出檔案一併保存,並以同一組輸入重跑,觀察行為是否一致。文件沒有交代的相容性、效能和安全特性,不在本文替它做承諾。
授權、GPL 注意事項與專案管理
Docs 以 MIT 授權發布。授權摘錄授予使用、複製、修改、合併、發布、分發、再授權和出售軟體副本的權利,並聲明軟體按「原樣」提供,不附帶任何形式的保證。README 明確表示,選擇該授權是邀請私營部門參與者使用、出售並為專案做出貢獻。它還指出,某些進階功能是 GPL 授權且與 MIT 不相容,這正是 `PUBLISH_AS_MIT=true` 存在的原因。專案由社群驅動,歡迎拉取請求,並設有公開路線圖和 Matrix 聊天室。README 列出了底層技術棧:Django Rest Framework、Next.js、ProseMirror、BlockNote.js、HocusPocus 和 Yjs。它還表示專案是 BlockNotejs 和 Yjs 的贊助商。README 沒有描述貢獻流程的細節,只提供了 CONTRIBUTING.md 的連結,也沒有說明行為準則或維護者結構。
docs 第6節的結論只適用於 README 已寫明的範圍。實作時請將這個專案名稱、版本標籤、設定鍵與輸出檔案一併保存,並以同一組輸入重跑,觀察行為是否一致。文件沒有交代的相容性、效能和安全特性,不在本文替它做承諾。
編輯結論
README 對專案範圍和授權注意事項說明得算清楚,但許多操作細節需要查閱外部文件。評估 Docs 時,下一步應該是查看安裝指南和環境變數文件,而不是只依賴 README。
社群筆記