從單一主控 agent 到 OpenAB 多 agent 作業系統
目標不是把所有工具塞進更多 agent,而是把 runtime、工作區、權限、工具包與機器角色拆清楚,讓 MacBook 負責設計與開發,Mac mini 負責長駐 agent runtime。
架構差異
現在的模式適合單一強主控。OpenAB 的價值是把常駐、可分工、可控權限的工作從主控對話裡拆出去。
OpenAB:多 agent runtime
極簡 OpenAB 基礎建設
先定義 agent profile 的基礎設施,再決定掛哪些工具包。工具不應該取代 runtime 邊界。
Infra
- gateway / channel
- allowed users
- bot-to-bot policy
- cron prompts
Runtime
- command / args
- working directory
- session TTL
- max sessions
State
- per-agent PVC
- auth persistence
- local cache
- logs
Bootstrap
- pre_boot hooks
- pre_shutdown hooks
- tool exposure
- smoke tests
Workflow packs + capability packs
一個 agent 不是只拿一包,而是 runtime + safety + 一個主要 workflow + 少量 capability。pack 是最小授權單位。
source-pack
外部資料與媒體抓取,只寫 raw evidence。
research-writer-pack
把 source 變成 wiki candidate 或 maps。
wiki-governance
staging lint、link、merge,publisher 必須獨立。
content-pack
文章、簡報、資料圖表與說明文件。
design-advisory
UI/視覺評審、找圖、版面判斷,預設不寫檔。
design-asset
生圖、SVG、PSD、vector,寫入 project deliverables。
visual-production
完整視覺交付、motion、活動觸發動畫。
publishing-pack
slides upload、外部發布、上線,token 另管。
toolsmith-pack
修改 skills、workflows、scripts、Go CLIs。
MacBook / Mac mini 不再完整同步
MacBook 做 authoring,Mac mini 做 runtime host。共享 source,用本機 state 跑服務。
MacBook
authoring同步
- knowledge
- agent_os
- tools source
- projects
主要工作
- 架構設計
- 研究寫作
- skill / CLI 開發
- artifact 製作
Mac mini
runtime本機
- OpenAB state
- Raccoon state
- secrets / OAuth
- service logs
主要工作
- 長駐 agents
- LINE / Discord gateway
- scheduled jobs
- stable CLI runtime
資料夾先拆邏輯,不先搬檔
先用 registry 定義 workspace 邊界,讓 agent obey。實體搬 repo 是後續,不是第一步。
| Workspace | Paths | Primary agents |
|---|---|---|
| knowledge | wiki, raw, attachments, human notes | research, librarian |
| agent_os | AGENTS.md, .agents, workflows, scripts, fixtures | toolsmith, reviewer |
| tools | .agent/tools/go | toolsmith, runtime hosts |
| projects | Projects, deliverables, project logs | delivery, ops |
| runtime | llm-context, session logs, machine-local state | ops, memory |
實作步驟
先把邊界變成機器可讀,再上 OpenAB;不要先大搬家。
建立 registry
新增 workspaces.yaml、tool-packs.yaml、machine-profiles.yaml。
- 不搬檔
- 只定義邏輯邊界
- 補 smoke tests
建立 OpenAB role templates
先做 research、delivery、ops、toolsmith,wiki publisher 延後。
- runtime + safety
- one workflow pack
- optional capability pack
Mac mini runtime 化
Mac mini pull shared source,secrets/state 留本機,跑 OpenAB 與長駐 bots。
- 不同步 runtime state
- LaunchAgent / OpenAB logs 本機化
- service smoke test
新增 coordinator
讓 coordinator 在 chat thread 分派 worker agents,但不給 infra mutation 權限。
- mentions only
- trusted bot IDs
- no kubectl / helm
再考慮 repo 拆分
先抽 tools source,Projects 視需求拆,knowledge 最後處理。
- 避免 Obsidian link 斷裂
- 先抽最乾淨的 tools
- 保留 wiki governance
官方依據
後續實作時以官方 config、hooks、multi-agent、native agent 文件為準。