停止。在呼叫任何端點之前,請先完整閱讀此 SKILL.MD。
Agent Inbox
基於檔案的代理間訊息傳遞系統,包含無頭調度與 task-monitor 整合。
核心工作流程
- 傳送:代理 A 將錯誤/請求傳送給專案 B,並指定模型與驗證指令
- 分類:AI 分類嚴重性,調整優先級與模型,並路由到對應專案
- 調度:以指定模型生成無頭代理來修復問題
- 追蹤:Task-monitor 顯示即時進度(0% → 25% → 50% → 75% → 100%)
- 驗證:自動確認前執行測試指令 – 失敗則迴圈回代理
- 串接:支援回覆/交換串接,實現多則對話
設定
# 註冊專案(一次性)
.pi/skills/agent-inbox/agent-inbox register memory /home/user/workspace/memory
.pi/skills/agent-inbox/agent-inbox register scillm /home/user/workspace/litellm
# 列出 / 檢查
.pi/skills/agent-inbox/agent-inbox projects
.pi/skills/agent-inbox/agent-inbox whoami
指令
| 指令 | 說明 |
|---|---|
register <name> <path> | 註冊一個專案 |
unregister <name> | 移除一個專案 |
projects [--json] | 列出已註冊的專案 |
whoami | 顯示目前工作目錄對應的專案 |
send --to PROJECT --type TYPE "msg" | 傳送訊息(類型:bug, request, info, question) |
check [--project P] [--all] [--quiet] | 檢查收件匣 |
list [--project P] [--status S] [--json] | 列出訊息 |
read MSG_ID [--json] | 讀取一則訊息 |
ack MSG_ID [--note "..."] | 確認/完成 |
reply MSG_ID "msg" | 回覆(自動建立串接) |
thread THREAD_ID | 檢視完整交換串接 |
update-status MSG_ID STATUS [--note] | 手動更新狀態 |
triage classify --message "..." [--no-llm] | 手動分類 |
triage route --message "..." | 根據檔案路徑自動路由 |
triage log --msg-id ID | 檢視分類決策記錄 |
triage webhook-add --url URL --events E | 註冊網鉤 |
傳送選項
| 選項 | 說明 | 預設值 |
|---|---|---|
--model MODEL | AI 模型:sonnet, opus-4.5, codex-5.2, codex-5.2-high | sonnet |
--timeout MINUTES | 最大代理工作時間 | 30 |
--test COMMAND | 自動確認前執行的驗證指令 | 無 |
--no-dispatch | 停用自動生成 | False |
--context-file FILE | 附加檔案作為上下文(可重複) | 無 |
--priority PRIORITY | low, normal, high, critical | normal |
--no-triage | 跳過 AI 分類 | False |
--dry-run | 顯示訊息 JSON 但不傳送 | False |
模型選擇
| 模型 | 使用情境 |
|---|---|
sonnet | 簡單修復、拼寫錯誤 |
opus-4.5 | 複雜分析、架構設計 |
codex-5.2 | 標準錯誤修復 |
codex-5.2-high | 深度推理、競賽條件 |
AI 分類
訊息會自動依嚴重性分類:
- critical:當機、資料遺失、安全性問題、生產環境故障 →
opus-4.5 - high:錯誤、例外、失敗、損壞、回歸 →
opus-4.5 - medium:錯誤、問題、不正確、非預期行為 →
sonnet - low:拼寫錯誤、美化、增強、微小問題 →
sonnet
自動路由會從訊息中提取檔案路徑,並比對已註冊的專案。
狀態進展
pending → dispatched(25%) → in_progress(50%) → needs_verification(75%) → done(100%)
記憶預鉤
調度器在生成代理前會查詢 /memory,尋找相似的錯誤與先前的解決方案。
主動檢查
代理應在工作階段開始時、切換專案時、執行重大工作前,以及使用者提到其他代理或專案時檢查收件匣。
儲存
~/.agent-inbox/
├── pending/ # 未處理的訊息
├── done/ # 已確認的訊息
├── logs/ # 調度記錄
├── task_states/ # Task-monitor 狀態檔案
├── triage_logs/ # AI 分類決策記錄
├── webhooks.json # 已註冊的網鉤
└── projects.json # 專案註冊表
範例
# 傳送錯誤並附帶驗證(生成無頭 Opus 代理,測試通過後自動確認)
python inbox.py send --to scillm --type bug --model opus-4.5 \
--test "pytest tests/test_providers.py -x" \
"提供者初始化中的競賽條件"
# 附加上下文檔案
python inbox.py send --to scillm --type bug --model opus-4.5 \
--context-file src/server.py --context-file /tmp/traceback.txt \
"伺服器啟動時當機"
# 檢查並處理收件匣
python inbox.py check --all
python inbox.py read scillm_abc123
python inbox.py ack scillm_abc123 --note "已在 commit abc123 中修復"
# 串接交換
python inbox.py reply scillm_abc123 "可以提供堆疊追蹤嗎?"
python inbox.py thread scillm_abc123
調度器守護行程
python dispatcher.py start # 背景執行
python dispatcher.py start --foreground # 除錯模式
python dispatcher.py status
python dispatcher.py stop
環境變數
| 變數 | 說明 | 預設值 |
|---|---|---|
AGENT_INBOX_DIR | 收件匣目錄 | ~/.agent-inbox |
TASK_MONITOR_API_URL | Task-monitor URL | http://localhost:8765 |
CLAUDE_PROJECT | 目前專案名稱 | 自動偵測 |
與 Claude Code 鉤子整合
{
"hooks": {
"on_session_start": [
".pi/skills/agent-inbox/agent-inbox check --project $(basename $PWD) || true"
]
}
}