88b7fbf409
Phase b:把 ingest 從手動直驅升級成真無人值守。drainer/ 是 workflow km_wiki_ingest_drain 的可部署執行體(Cloudflare Worker),復用已 live 的 arcrun-code/kbdb/graph、不改 cypher-executor。 - 兩觸發共用 processCard 核心:(A) cron drain(Gitea tree 列卡→游標後取一小批→ 逐卡處理→進游標→到底回捲;撐 5,083 檔);(B) Gitea push webhook→只處理 delta。 - 游標存 KBDB 一個 ingest_cursor entry(走 API、零建表)。冪等:未改卡 entry (page_name+content_hash)/triplet(uri+hash) 皆 skip,只有新/改卡真寫。 - src/usercode.ts 由 workflow.yaml parse_card.code 抽出(單一真相源 card-to-envelope.mjs)。 - 維持非-auto:wrangler.toml 的 cron trigger 預設註解(不自走),drain 走 POST /drain。 scheduled handler 已在 code,leo 過閘後取消註解即開自走。README 記部署/secret/webhook 設定。 已部署 leo21c:arcrun-km-wiki-drainer.leo21c.workers.dev。以 wrangler dev(本地 miniflare + .dev.vars token,非 secret 寫入)對 live 服務驗證:cron drain 冪等全 skip、游標前進+回捲、 webhook delta 只寫變更卡、三模式命中新卡。GITEA_TOKEN secret 需 leo 於互動模式設(auto 擋 secret 寫入)。 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HJiLCRUU2o3aSpPEzVCt2o
Arcrun Examples Library
給 AI 操盤手快速參考的 workflow 範本庫。每個範例都是可直接
acr push部署的 YAML。對應 SDD:
matrix/arcrun/.agents/specs/llm-interface/Milestone 3.3
結構
每個範例一個資料夾:
{slug}/
├── workflow.yaml 可直接 push 部署
├── description.md 解決什麼問題 / 怎麼觸發 / 預期結果
└── tags.json ["webhook", "llm", "cron", ...] 用於搜尋
範例列表
| Slug | 場景 |
|---|---|
webhook-to-http |
簡單轉發:webhook → 打另一個 API |
cron-watcher |
每 5 分鐘掃資料庫 → 觸發子 workflow(mira pattern) |
llm-classify |
claude_api 分類文字 → 寫 KBDB |
rag-search-answer |
從 KBDB 找 context → claude 回答 |
email-summary |
gmail 收信 → claude 摘要 → telegram 推 |
pdf-to-blocks |
上傳 PDF → 轉文字 → 切 chunk → 存 KBDB |
github-issue-bot |
收 GH webhook → claude 分析 → 留 comment |
daily-digest |
cron → 多源聚合(KBDB / RSS / 等) → 推送 |
parallel-fanout |
一份輸入分發多 workflow 並行處理 |
error-retry |
try_catch + wait + retry 重試外部 API |
如何用(AI 視角)
arcrun_search_examples('rag context answer')→ 命中rag-search-answer- 拿 YAML,按自己需求改 prompt / 資料來源
arcrun_validate_yaml→arcrun_push_workflow→ 完成
CI 自動同步
GH Actions 監聽本目錄變動 → 把每個範例 PATCH 進 KBDB type=workflow-example
(含 YAML + description + tags)。MCP search_examples 走 KBDB semantic search。