Claude 773e382141 feat(cli): 最小可行 ingest CLI — walking skeleton 補跑首版(T-kb-skeleton②)
repo clone 下來是純 SDD 骨架(tasks.md T0.5~T5 全未開始,零程式碼)。這支
scripts/ingest-cli.mjs 是打穿「Leo/notes → Haiku 萃取 triples → POST
kbdb-graph-plugin /triplets/ingest」這條線的最小版本,走路徑 A 簡化版
(拉之前 cloud-worker 精耕好的 wiki 卡,而非裸 journal 原文)。

Haiku 呼叫走 `claude -p --model haiku` CLI 子行程(沙盒無 ANTHROPIC_API_KEY,
用已登入 CC session 授權繞過,仍是真 Haiku 推論,非直打 API — 細節見
docs/HANDOFF-cloud-worker-2026-07-03.md)。

實測對 3 張卡跑過,2 張乾淨端到端成功(curl 驗證見 HANDOFF),1 張因
第一輪跑批次時 180s client timeout 中途砍掉,留下 2/7 的半殘資料 +
暴露一個真實設計坑:POST /triplets/ingest 非原子、幂等 dedup 用
content_hash 比對會讓半殘狀態被永久當「已處理」跳過,不會自動補完。
沒有為了好看而重送覆蓋或補假資料,半殘狀態原樣留著當證據。

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-03 09:10:19 +00:00
2026-06-26 12:43:26 +08:00
2026-06-26 12:43:26 +08:00
2026-06-26 12:43:26 +08:00
2026-06-26 12:43:26 +08:00

kbdb-ingest-plugin

KBDB 堆疊的餵食器——從 GitHub repo 拉知識庫,採取/萃取成三元組候選,餵給 kbdb-graph-plugin,織成跨 vault 的圖。

堆疊裡最薄的一層:

base KBDBarcrun/kbdb           ← 儲存(D1 三表 + CRUD API
   ↑ API
kbdb-graph-plugin                  ← 三元組領域 + 圖查詢
   ↑ APIingest 餵候選)
kbdb-ingest-plugin(本 repo       ← 純餵食器:拉 + 採取/萃取 + 跨庫織網

它做什麼

  • 採取(優先):拉本地 CC 已建好的三元組 + gloss(用了精耕模板的 repo)。
  • 萃取(fallback:裸原文時自己萃成 (subject, predicate, object) + gloss;模型可選(預設 Haiku)。
  • 跨 repo 織網:匯總多 repo 的三元組,織出單一 repo 看不到的跨庫橋與異見。

它不做什麼

  • 不碰儲存(不直連 D1/Vectorize/表)——只 POST 候選給 graph 的寫入 API。
  • 不算向量 normalize(歸 base embed 模組)。
  • 不帶查詢 MCPambient 餵食器,只帶 ops CLI)。

命題

不是「更好的 notes RAG」(紅海),而是跨所有 vault 的圖——Obsidian/Logseq 結構上做不到的那層。護城河是你累積的圖,不是這份程式碼。

契約

contracts/ingest-candidate.json — ingest→graph 的凍結 envelope 契約(與 graph repo 同一份)。


InkStoneCo 子專案。開發規範見 CLAUDE.md,跨專案藍圖見 InkStoneCo docs/3-specs/mira-dissolve/

S
Description
No description provided
Readme 184 KiB
Languages
Shell 83.2%
JavaScript 16.8%