--- tags: [掛載架構, 架構設計] gloss: kbdb-ingest-plugin 在 KBDB 堆疊裡的位置——掛在 graph 上、graph 掛在 base 上的最薄餵食器層。 --- # 掛載架構 ← [[ingest/00-INDEX]] **來源**:`CLAUDE.md`、`README.md`、`docs/3-specs/ingest-pipeline/design.md` **最後更新**:2026-06-26 ## 摘要 KBDB 是三層堆疊:base 管儲存、graph 管三元組領域與查詢、ingest 是最薄的餵食器,只透過 API 往上一層 POST 候選。 ## 重點 - 三層由下而上:`base KBDB(arcrun/kbdb)` 管儲存(D1 三表 + CRUD API)→ `kbdb-graph-plugin` 管三元組領域 + 圖查詢,並開 `POST /triplets/ingest` 寫入端 → `kbdb-ingest-plugin`(本 repo)純餵食器:拉 + 採取/萃取 + 跨庫織網。 - 每層只透過上一層的 **HTTP API** 互動,不碰其內部結構。ingest 只打 graph 的寫入端,從不直連 base。 - ingest 內部資料流:SourceAdapter(GitHub 拉 + content-hash,`source.uri = github:owner/repo@path`)→ 採取或 extract → 跨 repo 匯總織網 → POST envelope。 - **無環**:graph 永不回呼 ingest。觸發只能從下游發起方向之外(webhook/排程,或 KBDB MCP `refresh` 代轉),下游圖層不主動驅動上游餵食器。 - 命名只養一個品牌 Arcrun,本元件功能名當水管:`ingest`。 ## 實體 > 本卡關鍵實體(graph node)。 - **kbdb-ingest-plugin**(本 repo/餵食器)— KBDB 堆疊最薄一層,純 POST 候選 envelope 給 graph、不碰儲存。 - **kbdb-graph-plugin**(graph 層)— 三元組領域與圖查詢層,對 ingest 開 `POST /triplets/ingest` 寫入端。 - **base KBDB**(arcrun/kbdb/基本盤)— 最底儲存層,D1 三表 + CRUD API,ingest 與 graph 都不繞過它直碰表。 - **SourceAdapter** — ingest 內部從 GitHub 拉 repo 並算 content-hash 的元件。 ## 關聯 ### 內文知識關係(端點=上方 `## 實體` 正規名) - kbdb-ingest-plugin >> 掛載於 >> kbdb-graph-plugin - kbdb-graph-plugin >> 掛載於 >> base KBDB - kbdb-ingest-plugin >> POST候選給 >> kbdb-graph-plugin - SourceAdapter >> 隸屬於 >> kbdb-ingest-plugin ### 卡片關係(卡對卡) - [[掛載架構]] >> 受約束於 >> [[envelope-契約]] - [[掛載架構]] >> 展開為 >> [[採取優先於萃取]]