e8bd518efa
改前四種寫法並存、沒一個是 credential,而執行端只認 {{credential.X}}
(graph-executor.ts:247→resolveCredentialRefs)⇒ 用戶照抄必踩坑:
{{api_key}} 13/{{gitea_token}} 2/{{secret.GITHUB_BOT_TOKEN}} 2/{{kbdb_api_key}} 1
改後(19 處統一):
{{credential.arcrun_namespace}} 15/{{credential.gitea_token}} 2/{{credential.github_bot_token}} 2
⚠️ 中途修正一次錯誤命名:我先改成 kbdb_partner_key(照零件契約舊敘述 ak_xxx),
leo 當場指正「現在沒有 partner key,改用 namespace,沒有發 API key 的機制」——
實際機制確為 X-Arcrun-API-Key: <namespace>(實例上活的 workflow 為證)。
不動:{{secret.LEO_TELEGRAM_CHAT_ID}} 3 處——chat_id 是聊天室 ID 不是金鑰,
無腦套規則會引進「找不到 credential」的錯誤。
驗:違規寫法歸零/12 個範例 YAML 全可解析。
殘:kbdb_upsert_block 契約仍寫『KBDB partner key(ak_xxx)』=假資訊源(我就是被它騙的),
修它被 component-guard 擋(正確),需 leo 跑 scripts/component-arm.sh。
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 |
graph-neighbors |
同步查詢:撈 KBDB triplet → 記憶體 BFS 找 N 跳鄰居(查詢面工作流,走同步查詢 trigger) |
如何用(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。