Agents Reference
Maigo 的角色責任與模型選擇分開。角色定義保留探索、計畫、實作、審查、驗證的交棒契約; 本機或遠端推論服務由執行 Maigo 的宿主連接。Maigo 不啟動模型服務、不管理 API key。
Claude Code 隨附預設
沒有指定 model profile 時,Claude Code 沿用以下 agent frontmatter 預設。 這是隨附設定,並非對其他模型能力的評分。
| Agent | Model | 責任 |
|---|---|---|
| 🩵 Tomori | opus | 規劃步驟、驗收條件與取捨。 |
| 🐱 Raana | sonnet | 探索 codebase、找慣例與影響面。 |
| 🎀 Anon | sonnet | 按計畫實作,留下變更與驗證證據。 |
| 🟡 Soyo | sonnet | 按 checklist 審查,列出具體 must-fix。 |
| 🟣 Taki | haiku | 跑 test / lint / type check,回報實際結果。 |
維護者改隨附預設時,要同步 agents/*.md 的 model: 與這張表;
uv run python scripts/validate_plugin.py 會檢查一致性。
使用者改個人對應可用下面的 profile,無須修改 plugin。
Model profiles
在原本的命令加 --model-profile <path>,例如:
maigo:quick --model-profile /path/to/models.json 修正日期解析
/maigo:team --model-profile /path/to/models.json 實作查詢功能
適用於有角色派工的 quick、go、team、review、triage-issue、take-issue、describe-pr、 doctor、crystallize;address-comments 把選擇傳給內層 route。 可明確要求這個 session 沿用同一份檔案。沒有指定就用宿主原生預設;不自動發現設定檔。 相對路徑以呼叫命令時的 project cwd 解析一次,轉為絕對路徑後再傳進 worktree 或內層命令。
JSON 格式:
{
"schema_version": 1,
"default_model": "local-coder",
"roles": {
"Tomori": "remote-planner",
"Soyo": "remote-reviewer"
}
}
這些是示意名稱,請換成目前宿主 model 參數接受、且已設定連線的模型 ID。
local-coder 不會自動指向 Ollama,remote-reviewer 也不會自動建立 vLLM 連線。
推論服務的 tool calling、chat template 等設定仍由宿主與服務端負責;設定可解析不等於
該模型能可靠完成 Maigo 工作流。profile 不含 endpoint、provider、金鑰或宿主能力欄位。
| 欄位 | 意義 |
|---|---|
schema_version |
必填,目前為整數 1 |
default_model |
可省略;本次角色的預設 model override |
roles |
可省略;以角色定義的名稱指定 model override,大小寫須一致 |
| model 值 | 非空字串,或 null 表示不傳 model override;不接受前後空白或控制字元 |
優先順序是角色明確值 → default_model → null。
角色明確填 null 可退出 default_model,回到宿主原生預設;這不保證是主線模型。
未知欄位、未知角色、重複 JSON key 或不支援的版本會回報錯誤,避免拼錯後悄悄套用預設。
只對本次會執行的角色檢查宿主能否套用 override。
只有一個模型
宿主支援逐次指定模型時,全部角色共用一個模型只需:
{"schema_version": 1, "default_model": "local-coder"}
宿主只有單一模型、無法逐角色 override 時,先在宿主選好模型,執行 Maigo 時省略 profile,
或使用 {"schema_version": 1}。如果仍要求特定 override,resolver 會回報無法套用,
不會把要求丟掉。沒有 subagents 時,主 agent 依序執行角色,並明示共用 context;
review checklist 與實際測試照常保留。team 只有在宿主允許並行時才並行審查與驗證。
檢查派工結果
orchestrator 依當前工具 schema 宣告可用能力;下列指令本身不探測或啟動模型:
python3 /path/to/maigo/scripts/resolve_dispatch.py --roles Anon Soyo \
--profile /path/to/models.json --subagents --model-override
三個能力旗標 --subagents、--model-override、--parallel 預設都為否。
後兩個需要 --subagents;有設定檔不代表有這些能力。
輸出的 execution 決定 subagents 或 inline,parallel 只允許原流程中互不相依的階段並行,
roles 保留輸入順序並列出角色檔與模型。exit 0 / ready 是設定可套用的派工計畫;
exit 2 / error 附原因,不能當作測試結果。
宿主的模型限制仍可能拒絕或替換請求,因此要核對宿主回報的實際模型;沒有證據時標未確認。 Claude Code 的逐次 model 參數與原生預設有自己的解析順序,見 官方模型選擇說明。 完整派工與重試規則見 model-dispatch。
兩位旁白:🌙 Doloris / 🌑 Mortis
這兩位不在 agents/ 也沒對應 Task agent——他們是 orchestrator 對使用者說話時戴上的臉,不下場做事。
所以沒有 frontmatter、沒有 tool list、沒有 model tier,只在開場 / 收場 / 卡關節點出現。
行為規格與何時用哪一位:skills/narration。