架構與資料流
目前服務安裝於 Windows 11 的 WSL2「Obsidian5090」,由 Docker Compose 管理六個容器。員工示範另設 EmployeeDemo WSL。
哪個元件負責什麼
Section titled “哪個元件負責什麼”| 元件 | 工作 |
|---|---|
| Nextcloud | 帳號、群組、檔案、分享、原始版本與 WebDAV |
| 自寫 knowledge 應用 | 知識 UI、來源權限檢查、人工審核、Markdown 匯出與 MCP OAuth |
| Rust 背景服務 | 收錄、解析、工作狀態、來源追蹤及排程 |
| OpenWiki | 依同一範圍的來源整理條目、摘要及引用 |
| OpenAI 雲端 | 執行已授權的 ChatGPT 模型推論 |
| PostgreSQL | Nextcloud 的資料庫 |
| SQLite | Rust 服務的工作、知識與審核資料 |
| Redis/cron | 快取、檔案鎖與 Nextcloud 背景排程 |
自寫應用裝在 Nextcloud 容器內;OpenWiki 裝在 Rust 背景容器內。它們不是另外兩個容器。橋接密鑰用來驗證 Nextcloud 到背景服務的內部呼叫,不是員工登入密碼。
一份文件如何變成知識
Section titled “一份文件如何變成知識”來源上傳或同步後,由檔案事件與每 5 分鐘補掃發現。Rust 解析文件,OpenWiki 呼叫雲端模型建立未核准草稿。部門成員可依來源權限閱讀草稿;指定審核人核准後才更新正式版。
資料存在哪裡
Section titled “資料存在哪裡”- 原始檔與版本由 Nextcloud 保存。
- 工作佇列、來源與條目由背景服務的 SQLite 保存。
- 生成工作檔在 OpenWiki 分範圍工作目錄。
89_未核准知識庫與90_已核准知識庫是可同步的 Markdown 匯出,不是唯一資料庫。- 生成過程會送內容至 OpenAI。這不是所有內容都留在內網的架構,也不需要 5090 GPU 進行模型推論。
員工怎麼看 Docker
Section titled “員工怎麼看 Docker”示範教室的架構頁顯示正式服務的唯讀快照,包含名稱、映像、狀態與資源用量。員工不會取得 Docker socket、主機終端、環境變數或日誌。WSL 共用主機核心與網路,不能把不同 WSL 當成獨立 VM 安全邊界。