ABOpenAB × hg-vault agent architecture

從單一主控 agent 到 OpenAB 多 agent 作業系統

目標不是把所有工具塞進更多 agent,而是把 runtime、工作區、權限、工具包與機器角色拆清楚,讓 MacBook 負責設計與開發,Mac mini 負責長駐 agent runtime。

Updated 2026-05-28 Scope: hg-vault / OpenAB / multi-agent First move: registry before file moves
你 / Discord / LINE任務入口與人類判斷
OpenAB Brokersession、gateway、routing、cron
Coordinator拆任務、指派、整合回報
Worker Agentsresearch / wiki / delivery / ops / toolsmith
Scoped Workspacesknowledge、agent_os、tools、projects、runtime
Bounded Writes每個 agent 只碰自己的路徑與 secrets

架構差異

現在的模式適合單一強主控。OpenAB 的價值是把常駐、可分工、可控權限的工作從主控對話裡拆出去。

現在:單一主控 agent

調度者人手動決定下一步
工作區整個 hg-vault 通常一起可見
權限主要靠 AGENTS.md、skill contract、判斷力
狀態conversation、llm-context、project log
最佳用途高上下文、需要人類判斷、一次性深工作

OpenAB:多 agent runtime

調度者coordinator-agent 可指派 worker agents
工作區依 agent profile expose 指定 workspace
權限runtime、env、secrets、PVC、allowed writes 分層控管
狀態per-agent session pool、TTL、persistent state
最佳用途長駐、可重複、可隔離、可排程的工作

極簡 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 是最小授權單位。

Workflow

source-pack

外部資料與媒體抓取,只寫 raw evidence。

Workflow

research-writer-pack

把 source 變成 wiki candidate 或 maps。

Workflow

wiki-governance

staging lint、link、merge,publisher 必須獨立。

Workflow

content-pack

文章、簡報、資料圖表與說明文件。

Capability

design-advisory

UI/視覺評審、找圖、版面判斷,預設不寫檔。

Capability

design-asset

生圖、SVG、PSD、vector,寫入 project deliverables。

Workflow

visual-production

完整視覺交付、motion、活動觸發動畫。

Capability

publishing-pack

slides upload、外部發布、上線,token 另管。

Meta

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 是後續,不是第一步。

WorkspacePathsPrimary agents
knowledgewiki, raw, attachments, human notesresearch, librarian
agent_osAGENTS.md, .agents, workflows, scripts, fixturestoolsmith, reviewer
tools.agent/tools/gotoolsmith, runtime hosts
projectsProjects, deliverables, project logsdelivery, ops
runtimellm-context, session logs, machine-local stateops, memory

實作步驟

先把邊界變成機器可讀,再上 OpenAB;不要先大搬家。

1

建立 registry

新增 workspaces.yamltool-packs.yamlmachine-profiles.yaml

  • 不搬檔
  • 只定義邏輯邊界
  • 補 smoke tests
2

建立 OpenAB role templates

先做 research、delivery、ops、toolsmith,wiki publisher 延後。

  • runtime + safety
  • one workflow pack
  • optional capability pack
3

Mac mini runtime 化

Mac mini pull shared source,secrets/state 留本機,跑 OpenAB 與長駐 bots。

  • 不同步 runtime state
  • LaunchAgent / OpenAB logs 本機化
  • service smoke test
4

新增 coordinator

讓 coordinator 在 chat thread 分派 worker agents,但不給 infra mutation 權限。

  • mentions only
  • trusted bot IDs
  • no kubectl / helm
5

再考慮 repo 拆分

先抽 tools source,Projects 視需求拆,knowledge 最後處理。

  • 避免 Obsidian link 斷裂
  • 先抽最乾淨的 tools
  • 保留 wiki governance

官方依據

後續實作時以官方 config、hooks、multi-agent、native agent 文件為準。