diff --git a/docs/plans/2026-04-07-openclaw-config-draft.md b/docs/plans/2026-04-07-openclaw-config-draft.md index ec344fe..638c42f 100644 --- a/docs/plans/2026-04-07-openclaw-config-draft.md +++ b/docs/plans/2026-04-07-openclaw-config-draft.md @@ -84,18 +84,20 @@ ## 4. Session / Tool 邊界建議 ### 4.1 `tools.sessions.visibility` -建議值:`agent` 或 `all` +Schema 核對後,可選值重點如下: #### 選項比較 -- `self`:太窄,不利 Eve 跨 agent 協調 -- `agent`:只看同 agent id,不夠用 -- `all`:最符合 Eve 做中樞調度 +- `self`:只看當前 session,太窄 +- `tree`:**預設值**;可看當前 session + 自己 spawn 出來的 subagent sessions +- `agent`:可看同一個 agent id 下的 sessions,但仍不等於跨 agent 調度 +- `all`:可看所有 sessions;若要跨 agent,仍需搭配 `tools.agentToAgent` ### 建議 -**第一版建議用 `all`**,但搭配嚴格 agent-to-agent allowlist。 +**本架構第一版仍建議用 `all`**,但搭配嚴格 `tools.agentToAgent.allow`。 原因: -- Eve 需要查其他 agent session / history / send -- 只靠 `self` 或 `agent` 不足以完成多 agent 調度 +- Eve 需要查其他 agent 的 session / history / send +- `tree` 雖然較保守,但只涵蓋當前 session 與其下游,不足以支撐完整多代理中樞協調 +- `all` 不是單獨放行;跨 agent 仍受 `tools.agentToAgent` 約束 --- @@ -126,8 +128,12 @@ - `ops` 原則上只回 Eve ### 注意 -OpenClaw schema 對 `tools.agentToAgent.allow` 目前只能做「名單放行」,無法細緻表達「誰可以找誰」。 -所以真正的單向制度,必須再由 prompt 規則約束。 +OpenClaw schema 對 `tools.agentToAgent` 目前只確認有: +- `enabled` +- `allow` + +也就是說,config 層目前只能做「名單放行」,無法細緻表達「誰可以找誰」的單向圖。 +所以真正的單向制度,必須再由 prompt / workflow 規則約束。 --- @@ -168,14 +174,36 @@ OpenClaw schema 對 `tools.agentToAgent.allow` 目前只能做「名單放行」 --- -## 7. Agent 草案結構(概念) +## 7. Agent 草案結構(schema 已確認) -每個 agent 至少要定義: +Schema 核對後,每個 `agents.list[]` entry: + +### 必要欄位 - `id` + +### 第一版建議明確寫出的欄位 - `name` - `workspace` - `model` +### Schema 另有支援、可留待第二版評估的欄位 +- `default` +- `agentDir` +- `skills` +- `identity` +- `tools` +- `subagents` +- `runtime` +- `thinkingDefault` +- `reasoningDefault` +- `fastModeDefault` + +因此,第一版 ready draft 先聚焦在: +- 穩定 agent id +- 明確 workspace +- 明確 model +- 先不把 prompt 制度細節誤塞進 config schema 不保證的欄位 + ### 概念草案 ```json @@ -279,12 +307,21 @@ OpenClaw schema 對 `tools.agentToAgent.allow` 目前只能做「名單放行」 ## 10. 建議下一步 -下一步應做兩件事: +下一步建議分三件事做: -### A. 產出真正可套用的 config JSON patch 草案 -也就是把上面概念轉成準備套用的 `config.patch` / `config.apply` 內容。 +### A. 保持「說明文件」與「ready draft JSON」分離 +- `openclaw-config-ready-draft.json` 應只保留 schema-backed config 欄位 +- `meta`、`phase`、`implementationNotes` 這類設計說明,應留在 markdown,不要混進可套用 JSON -### B. 先建立各 agent 工作區與 prompt 檔案布局草案 +### B. 第二輪再決定每個 agent 要不要加進階欄位 +優先評估: +- `skills` +- `identity` +- `tools` +- `runtime` +- `agentDir` + +### C. 再建立各 agent 工作區與 prompt 檔案布局草案 例如: - `SOUL.md` - `AGENTS.md` diff --git a/docs/plans/2026-04-07-openclaw-config-ready-draft.json b/docs/plans/2026-04-07-openclaw-config-ready-draft.json index 4fc4674..fb71a00 100644 --- a/docs/plans/2026-04-07-openclaw-config-ready-draft.json +++ b/docs/plans/2026-04-07-openclaw-config-ready-draft.json @@ -1,9 +1,4 @@ { - "meta": { - "note": "Draft only. Do not apply until Eric approves.", - "generatedAt": "2026-04-07T21:45:00+08:00", - "purpose": "First-pass multi-agent orchestrator config draft for Eve-centric workflow" - }, "agents": { "defaults": { "model": { @@ -170,24 +165,5 @@ "ops" ] } - }, - "implementationNotes": { - "policy": [ - "Each agent must use its own dedicated workspace; shared working directories are not allowed", - "Telegram DM stays on coder/Eve only", - "Child agents do not speak directly to Eric", - "Child agents report back to Eve only", - "Actual routing discipline is enforced by prompt rules in addition to allowlist" - ], - "phase1RecommendedAgents": [ - "coder", - "prompt-optimizer", - "reviewer", - "engineering" - ], - "phase2RecommendedAgents": [ - "research", - "ops" - ] } }