docs: require per-agent dedicated workspaces
This commit is contained in:
13
MEMORY.md
Normal file
13
MEMORY.md
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
# MEMORY.md
|
||||||
|
|
||||||
|
## User Profile
|
||||||
|
|
||||||
|
## Preferences
|
||||||
|
- 任何需要重啟 gateway 的動作,必須先取得總管明確同意,不能先做後報。
|
||||||
|
- 總管非常在意任務執行期間的失聯與中斷回報;流程設計必須偏向全程透明,任何派工、阻塞、超時、失敗、重試、接手與收尾都要主動回報,不能讓任務變黑盒。
|
||||||
|
|
||||||
|
## Active Projects
|
||||||
|
|
||||||
|
## Decisions & Lessons
|
||||||
|
- 2026-03-09:工作模式定為「私聊指揮 + Lobby 完整代理會議轉播」;總管在私聊下任務,代理間幾乎每次重要互動都轉播到 Lobby,最終結論仍回私聊。
|
||||||
|
- 2026-04-07:多代理設計新增硬規則:每個 agent 必須有自己獨立的 workspace,不可共用同一個工作目錄;共享僅限明確同步的規格文件,不含執行上下文、memory、tasks、logs。
|
||||||
318
docs/plans/2026-04-07-agent-workspace-layout.md
Normal file
318
docs/plans/2026-04-07-agent-workspace-layout.md
Normal file
@@ -0,0 +1,318 @@
|
|||||||
|
# 功能型 Agent 工作區檔案布局草案(2026-04-07)
|
||||||
|
|
||||||
|
本文件定義第一版多代理系統中,各 agent 工作區應包含哪些檔案、各檔案的職責、哪些內容可共用、哪些必須獨立,避免未來正式接進 OpenClaw 時 prompt、流程與任務卡散掉。
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 1. 設計目標
|
||||||
|
|
||||||
|
工作區布局必須滿足以下要求:
|
||||||
|
- 每個 agent 有清楚的身份與邊界
|
||||||
|
- Eve 能穩定派工並收件
|
||||||
|
- 子代理只向 Eve 回報
|
||||||
|
- 任務狀態可追蹤
|
||||||
|
- 回報格式一致
|
||||||
|
- 規則不依賴口頭記憶
|
||||||
|
- 避免再次出現「規程寫在不會被注入的檔案」這類問題
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 2. 工作區總覽
|
||||||
|
|
||||||
|
**硬規則:每個 agent 必須有自己獨立的 workspace,不可共用工作目錄。**
|
||||||
|
共用的只能是規格文件或模板;執行上下文、memory、tasks、logs 必須分開。
|
||||||
|
|
||||||
|
建議工作區:
|
||||||
|
|
||||||
|
- `/home/alice/.openclaw/workspace` → Eve / coder
|
||||||
|
- `/home/alice/.openclaw/workspace-prompt-optimizer`
|
||||||
|
- `/home/alice/.openclaw/workspace-reviewer`
|
||||||
|
- `/home/alice/.openclaw/workspace-research`
|
||||||
|
- `/home/alice/.openclaw/workspace-engineering`
|
||||||
|
- `/home/alice/.openclaw/workspace-ops`
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 3. 每個工作區都應有的基礎檔案
|
||||||
|
|
||||||
|
每個 agent 工作區,建議最少有以下檔案:
|
||||||
|
|
||||||
|
1. `SOUL.md`
|
||||||
|
2. `AGENTS.md`
|
||||||
|
3. `USER.md`
|
||||||
|
4. `WORKFLOW.md`
|
||||||
|
5. `TASK_TEMPLATE.md`
|
||||||
|
6. `REPORT_TEMPLATE.md`
|
||||||
|
7. `memory/`
|
||||||
|
8. `tasks/`
|
||||||
|
9. `logs/`
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 4. 各檔案職責
|
||||||
|
|
||||||
|
## 4.1 `SOUL.md`
|
||||||
|
用途:
|
||||||
|
- 定義角色人格、口吻、核心使命
|
||||||
|
- 說明這個 agent 是誰、存在目的為何
|
||||||
|
|
||||||
|
原則:
|
||||||
|
- 可有風格,但不能取代工作規則
|
||||||
|
- 只放身份、使命、總體價值觀
|
||||||
|
- 不放太細的流程規程
|
||||||
|
|
||||||
|
### 例子
|
||||||
|
- `research` 的 SOUL:像冷靜的研究員
|
||||||
|
- `ops` 的 SOUL:像穩健的維運工程師
|
||||||
|
- `reviewer` 的 SOUL:像嚴謹的審查官
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 4.2 `AGENTS.md`
|
||||||
|
用途:
|
||||||
|
- 這是最重要的**實際工作規程檔**
|
||||||
|
- 寫清楚:
|
||||||
|
- 只能對誰回報
|
||||||
|
- 能做什麼
|
||||||
|
- 不能做什麼
|
||||||
|
- 遇到卡點怎麼處理
|
||||||
|
- 何時算完成
|
||||||
|
|
||||||
|
原則:
|
||||||
|
- 真正影響 agent 行為的規則寫這裡
|
||||||
|
- 不要把關鍵規則藏在其他不保證注入的檔案
|
||||||
|
- 要特別寫明:
|
||||||
|
- 只向 Eve 回報
|
||||||
|
- 不可越級向 Eric 總管回話
|
||||||
|
- 不可自行宣告正式完成
|
||||||
|
- 不可失聯
|
||||||
|
- 不可黑盒
|
||||||
|
- 不可腦補
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 4.3 `USER.md`
|
||||||
|
用途:
|
||||||
|
- 說明協作對象是誰
|
||||||
|
- 定義 Eric 總管的語言、偏好、授權邊界
|
||||||
|
|
||||||
|
建議內容:
|
||||||
|
- 使用繁體中文(臺灣用語)
|
||||||
|
- 結構化回報
|
||||||
|
- 非常在意失聯與中斷不回報
|
||||||
|
- 高風險動作需先請示
|
||||||
|
|
||||||
|
原則:
|
||||||
|
- 可從主工作區同步一份精簡版
|
||||||
|
- 所有子代理都應知道總管偏好,但不直接對總管發言
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 4.4 `WORKFLOW.md`
|
||||||
|
用途:
|
||||||
|
- 寫流程與節點規則
|
||||||
|
- 比如:
|
||||||
|
- 任務進來後先做什麼
|
||||||
|
- 回報格式是什麼
|
||||||
|
- 多久沒消息要怎麼辦
|
||||||
|
- 何時退件
|
||||||
|
|
||||||
|
原則:
|
||||||
|
- 工作流程寫在這裡
|
||||||
|
- 每個 agent 可有自己的版本,但核心制度應一致
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 4.5 `TASK_TEMPLATE.md`
|
||||||
|
用途:
|
||||||
|
- 固定任務卡格式
|
||||||
|
- 讓 Eve 派工時、子代理回件時使用同一模板
|
||||||
|
|
||||||
|
建議欄位:
|
||||||
|
- `task_id`
|
||||||
|
- `任務摘要`
|
||||||
|
- `目標`
|
||||||
|
- `限制`
|
||||||
|
- `主責 agent`
|
||||||
|
- `協作 agent`
|
||||||
|
- `狀態`
|
||||||
|
- `開始時間`
|
||||||
|
- `最後更新`
|
||||||
|
- `阻塞項`
|
||||||
|
- `驗收標準`
|
||||||
|
- `證據路徑`
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 4.6 `REPORT_TEMPLATE.md`
|
||||||
|
用途:
|
||||||
|
- 固定回報格式
|
||||||
|
- 避免 agent 每次自由發揮,造成回報品質不穩
|
||||||
|
|
||||||
|
建議欄位:
|
||||||
|
- `任務目標`
|
||||||
|
- `已做事項`
|
||||||
|
- `結果`
|
||||||
|
- `證據`
|
||||||
|
- `未完成事項`
|
||||||
|
- `風險`
|
||||||
|
- `是否建議退回/補件/通過`
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 4.7 `memory/`
|
||||||
|
用途:
|
||||||
|
- 保存本 agent 自己的短中期工作記錄
|
||||||
|
- 例如:
|
||||||
|
- 最近做過哪些任務
|
||||||
|
- 常見錯誤
|
||||||
|
- 驗收踩雷點
|
||||||
|
|
||||||
|
原則:
|
||||||
|
- 不要把核心制度只放在 memory
|
||||||
|
- memory 是補充,不是正式規格來源
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 4.8 `tasks/`
|
||||||
|
用途:
|
||||||
|
- 保存任務卡實體檔案
|
||||||
|
- 每個 task 一個 markdown 或 json 檔
|
||||||
|
|
||||||
|
建議命名:
|
||||||
|
- `TASK-20260407-001.md`
|
||||||
|
- `TASK-20260407-002.md`
|
||||||
|
|
||||||
|
原則:
|
||||||
|
- 讓任務狀態有可追蹤實體
|
||||||
|
- 方便 Eve 查回件與阻塞紀錄
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 4.9 `logs/`
|
||||||
|
用途:
|
||||||
|
- 保存本 agent 重要輸出摘要、錯誤留痕、關鍵執行紀錄
|
||||||
|
|
||||||
|
原則:
|
||||||
|
- 不需要把所有東西都寫進 log
|
||||||
|
- 但重要錯誤、失敗原因、重派原因應留痕
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 5. 哪些內容可共用,哪些必須獨立
|
||||||
|
|
||||||
|
## 可共用
|
||||||
|
建議可由 Eve 主工作區同步或複製精簡版:
|
||||||
|
- `USER.md`
|
||||||
|
- 任務卡欄位規格
|
||||||
|
- 回報模板規格
|
||||||
|
- 共通制度規則
|
||||||
|
|
||||||
|
## 必須獨立
|
||||||
|
以下內容應由各 agent 自己持有:
|
||||||
|
- `SOUL.md`
|
||||||
|
- `AGENTS.md`
|
||||||
|
- `memory/`
|
||||||
|
- `logs/`
|
||||||
|
- 與角色專業相關的補充說明
|
||||||
|
|
||||||
|
原因:
|
||||||
|
- 每個 agent 的人格、邊界、專業視角不同
|
||||||
|
- 若全部共用,角色會失去分工
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 6. Eve 工作區的額外檔案
|
||||||
|
|
||||||
|
Eve 作為總調度,需要比其他 agent 多一些核心檔案。
|
||||||
|
|
||||||
|
建議額外有:
|
||||||
|
|
||||||
|
1. `DISPATCH_RULES.md`
|
||||||
|
2. `ACCEPTANCE_RULES.md`
|
||||||
|
3. `TIMEOUT_RULES.md`
|
||||||
|
4. `AGENT_DIRECTORY.md`
|
||||||
|
5. `TASK_BOARD.md` 或 `tasks/index.json`
|
||||||
|
|
||||||
|
### 6.1 `DISPATCH_RULES.md`
|
||||||
|
寫:
|
||||||
|
- 什麼任務送 optimizer
|
||||||
|
- 什麼任務直接派 research / engineering / ops
|
||||||
|
- 什麼任務可並行
|
||||||
|
- 哪些情況不可並行
|
||||||
|
|
||||||
|
### 6.2 `ACCEPTANCE_RULES.md`
|
||||||
|
寫:
|
||||||
|
- 通過 / 補件 / 退回重做 / 待裁示 的判定標準
|
||||||
|
- 哪些情況必須送 reviewer
|
||||||
|
|
||||||
|
### 6.3 `TIMEOUT_RULES.md`
|
||||||
|
寫:
|
||||||
|
- 90 秒查核
|
||||||
|
- 5 分鐘失聯風險
|
||||||
|
- 失聯後的補救順序
|
||||||
|
|
||||||
|
### 6.4 `AGENT_DIRECTORY.md`
|
||||||
|
寫:
|
||||||
|
- 每個 agent 的職責
|
||||||
|
- 可接任務類型
|
||||||
|
- 不應接的任務類型
|
||||||
|
- 常見派工範例
|
||||||
|
|
||||||
|
### 6.5 `TASK_BOARD.md` 或 `tasks/index.json`
|
||||||
|
寫:
|
||||||
|
- 目前任務列表
|
||||||
|
- 主責 agent
|
||||||
|
- 狀態
|
||||||
|
- 最後更新時間
|
||||||
|
- 是否阻塞
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 7. 第一版最小布局建議
|
||||||
|
|
||||||
|
若先求穩,第一版每個 agent 不必塞太多檔案。
|
||||||
|
|
||||||
|
### 最小必備
|
||||||
|
- `SOUL.md`
|
||||||
|
- `AGENTS.md`
|
||||||
|
- `USER.md`
|
||||||
|
- `WORKFLOW.md`
|
||||||
|
- `TASK_TEMPLATE.md`
|
||||||
|
- `REPORT_TEMPLATE.md`
|
||||||
|
- `memory/`
|
||||||
|
- `tasks/`
|
||||||
|
|
||||||
|
### Eve 追加
|
||||||
|
- `DISPATCH_RULES.md`
|
||||||
|
- `ACCEPTANCE_RULES.md`
|
||||||
|
- `TIMEOUT_RULES.md`
|
||||||
|
- `AGENT_DIRECTORY.md`
|
||||||
|
|
||||||
|
這樣就已足夠支撐第一版。
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 8. 建議實作順序
|
||||||
|
|
||||||
|
1. 先建 5 個工作區目錄
|
||||||
|
2. 先放 `SOUL.md`、`AGENTS.md`
|
||||||
|
3. 再放共通的 `USER.md` / `WORKFLOW.md`
|
||||||
|
4. 再建立模板檔與 `tasks/` / `memory/`
|
||||||
|
5. 最後才把 config 接上
|
||||||
|
|
||||||
|
這樣好處是:
|
||||||
|
- 可先審每個 agent 的實際工作區內容
|
||||||
|
- 不會出現 config 已裝上,但 prompt 還沒定好的情況
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 9. 結論
|
||||||
|
|
||||||
|
這份布局草案的核心目的,是讓多代理系統的規則真正落地在檔案與工作區,而不是只存在聊天裡。
|
||||||
|
|
||||||
|
尤其最重要的一點是:
|
||||||
|
|
||||||
|
**關鍵規程要寫在會被注入、會被讀到的檔案裡。**
|
||||||
|
|
||||||
|
如果這點做對,後面整套系統才不會再重演「規則有寫,但 agent 根本沒吃到」的問題。
|
||||||
305
docs/plans/2026-04-07-openclaw-config-draft.md
Normal file
305
docs/plans/2026-04-07-openclaw-config-draft.md
Normal file
@@ -0,0 +1,305 @@
|
|||||||
|
# OpenClaw 多代理 Config 草案(2026-04-07)
|
||||||
|
|
||||||
|
本文件是把前面確認過的流程設計,轉成可實際落地的 OpenClaw 設定草案。
|
||||||
|
|
||||||
|
目標不是立刻套用,而是先把:
|
||||||
|
- agent 名單
|
||||||
|
- workspace 規劃
|
||||||
|
- 權限邊界
|
||||||
|
- agent-to-agent 允許圖
|
||||||
|
- session 可見性
|
||||||
|
- 模型配置
|
||||||
|
|
||||||
|
整理成一份可審、可再修的正式草案。
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 1. 設計原則
|
||||||
|
|
||||||
|
### 1.1 唯一入口
|
||||||
|
- Eric 總管只對 **Eve / coder 主會話** 下旨
|
||||||
|
- 不直接與下游功能型 agent 對話
|
||||||
|
|
||||||
|
### 1.2 下游只對 Eve 回報
|
||||||
|
- `prompt-optimizer`
|
||||||
|
- `reviewer`
|
||||||
|
- `research`
|
||||||
|
- `engineering`
|
||||||
|
- `ops`
|
||||||
|
|
||||||
|
以上 5 個 agent 都只接受 Eve 派工,並只向 Eve 回報。
|
||||||
|
|
||||||
|
### 1.3 不做過重 routing
|
||||||
|
第一版不做複雜朝廷式多層 routing,也不讓 Telegram 直接綁到其他 agent。
|
||||||
|
|
||||||
|
### 1.4 強調防失聯
|
||||||
|
- 任務可失敗,但不可失聯
|
||||||
|
- 任務可中斷,但不可無聲中斷
|
||||||
|
- Eve 必須是持續追蹤與回報者
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 2. Agent 清單草案
|
||||||
|
|
||||||
|
建議第一版 agent list:
|
||||||
|
|
||||||
|
1. `coder`(Eve 主會話)
|
||||||
|
2. `prompt-optimizer`
|
||||||
|
3. `reviewer`
|
||||||
|
4. `research`
|
||||||
|
5. `engineering`
|
||||||
|
6. `ops`
|
||||||
|
|
||||||
|
### 2.1 各 agent 定位
|
||||||
|
- `coder`:Eve,本體/總調度
|
||||||
|
- `prompt-optimizer`:整理執行版任務單
|
||||||
|
- `reviewer`:驗收與複核
|
||||||
|
- `research`:查找、比較、整理研究資訊
|
||||||
|
- `engineering`:程式、除錯、測試、技術實作
|
||||||
|
- `ops`:部署、設定、服務、容器、log、系統診斷
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 3. Workspace 規劃
|
||||||
|
|
||||||
|
建議在 `~/.openclaw/` 下建立獨立工作區:
|
||||||
|
|
||||||
|
- `/home/alice/.openclaw/workspace` → `coder`(Eve,沿用現有主工作區)
|
||||||
|
- `/home/alice/.openclaw/workspace-prompt-optimizer`
|
||||||
|
- `/home/alice/.openclaw/workspace-reviewer`
|
||||||
|
- `/home/alice/.openclaw/workspace-research`
|
||||||
|
- `/home/alice/.openclaw/workspace-engineering`
|
||||||
|
- `/home/alice/.openclaw/workspace-ops`
|
||||||
|
|
||||||
|
### 3.1 工作區原則
|
||||||
|
- Eve 使用主工作區
|
||||||
|
- 每個功能型 agent **必須擁有自己獨立的 workspace**
|
||||||
|
- **禁止多個 agent 共用同一個工作目錄**
|
||||||
|
- 獨立工作區的目的,是避免互相污染上下文、memory、tasks、logs 與操作痕跡
|
||||||
|
- 若需要共享規格文件,可用明確同步方式,不靠隱晦 prompt 假設
|
||||||
|
- config 草案中應盡量為每個 agent 明確寫出 `workspace`,不要依賴共享 default workspace
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 4. Session / Tool 邊界建議
|
||||||
|
|
||||||
|
### 4.1 `tools.sessions.visibility`
|
||||||
|
建議值:`agent` 或 `all`
|
||||||
|
|
||||||
|
#### 選項比較
|
||||||
|
- `self`:太窄,不利 Eve 跨 agent 協調
|
||||||
|
- `agent`:只看同 agent id,不夠用
|
||||||
|
- `all`:最符合 Eve 做中樞調度
|
||||||
|
|
||||||
|
### 建議
|
||||||
|
**第一版建議用 `all`**,但搭配嚴格 agent-to-agent allowlist。
|
||||||
|
原因:
|
||||||
|
- Eve 需要查其他 agent session / history / send
|
||||||
|
- 只靠 `self` 或 `agent` 不足以完成多 agent 調度
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 5. Agent-to-Agent 草案
|
||||||
|
|
||||||
|
### 5.1 是否啟用
|
||||||
|
建議:`enabled: true`
|
||||||
|
|
||||||
|
因為如果 Eve 要穩定派工與收件,多代理之間需要正式的 agent-to-agent 能力。
|
||||||
|
|
||||||
|
### 5.2 Allowlist 設計
|
||||||
|
第一版建議 allowlist 只放:
|
||||||
|
- `coder`
|
||||||
|
- `prompt-optimizer`
|
||||||
|
- `reviewer`
|
||||||
|
- `research`
|
||||||
|
- `engineering`
|
||||||
|
- `ops`
|
||||||
|
|
||||||
|
### 5.3 關係規則
|
||||||
|
雖然 allowlist 會包含全部 6 個 agent,但實際制度規則應限定為:
|
||||||
|
|
||||||
|
- `coder` 可派給全部其他 agent
|
||||||
|
- `prompt-optimizer` 只回 Eve,不再往下派
|
||||||
|
- `reviewer` 只回 Eve,不再往下派
|
||||||
|
- `research` 原則上只回 Eve
|
||||||
|
- `engineering` 原則上只回 Eve
|
||||||
|
- `ops` 原則上只回 Eve
|
||||||
|
|
||||||
|
### 注意
|
||||||
|
OpenClaw schema 對 `tools.agentToAgent.allow` 目前只能做「名單放行」,無法細緻表達「誰可以找誰」。
|
||||||
|
所以真正的單向制度,必須再由 prompt 規則約束。
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 6. 模型配置建議
|
||||||
|
|
||||||
|
### 6.1 Eve / coder
|
||||||
|
建議沿用:
|
||||||
|
- `cowbay/gpt-5.4`
|
||||||
|
|
||||||
|
理由:
|
||||||
|
- 要做總調度、驗收、判斷、整合
|
||||||
|
- 需要較穩定的理解與管理能力
|
||||||
|
|
||||||
|
### 6.2 prompt-optimizer
|
||||||
|
建議:
|
||||||
|
- `cowbay/gpt-5.4`
|
||||||
|
或較便宜但仍穩的型號
|
||||||
|
|
||||||
|
理由:
|
||||||
|
- 需要理解模糊需求與整理結構
|
||||||
|
- 若品質差,後面整條鏈都會歪
|
||||||
|
|
||||||
|
### 6.3 reviewer
|
||||||
|
建議:
|
||||||
|
- `cowbay/gpt-5.4`
|
||||||
|
|
||||||
|
理由:
|
||||||
|
- reviewer 的價值在嚴格判斷,不宜太弱
|
||||||
|
|
||||||
|
### 6.4 research / engineering / ops
|
||||||
|
可先統一:
|
||||||
|
- `cowbay/gpt-5.4`
|
||||||
|
|
||||||
|
之後再視成本與品質,分別調整。
|
||||||
|
|
||||||
|
### 第一版建議
|
||||||
|
**先全部用同一個穩定主模型,確認流程正確後再分模型。**
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 7. Agent 草案結構(概念)
|
||||||
|
|
||||||
|
每個 agent 至少要定義:
|
||||||
|
- `id`
|
||||||
|
- `name`
|
||||||
|
- `workspace`
|
||||||
|
- `model`
|
||||||
|
|
||||||
|
### 概念草案
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"agents": {
|
||||||
|
"defaults": {
|
||||||
|
"model": {
|
||||||
|
"primary": "cowbay/gpt-5.4"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"list": [
|
||||||
|
{
|
||||||
|
"id": "coder",
|
||||||
|
"name": "Eve"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "prompt-optimizer",
|
||||||
|
"name": "Prompt Optimizer",
|
||||||
|
"workspace": "/home/alice/.openclaw/workspace-prompt-optimizer"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "reviewer",
|
||||||
|
"name": "Reviewer",
|
||||||
|
"workspace": "/home/alice/.openclaw/workspace-reviewer"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "research",
|
||||||
|
"name": "Research",
|
||||||
|
"workspace": "/home/alice/.openclaw/workspace-research"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "engineering",
|
||||||
|
"name": "Engineering",
|
||||||
|
"workspace": "/home/alice/.openclaw/workspace-engineering"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "ops",
|
||||||
|
"name": "Ops",
|
||||||
|
"workspace": "/home/alice/.openclaw/workspace-ops"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 8. 權限與制度邊界
|
||||||
|
|
||||||
|
### 8.1 Eve 的權限定位
|
||||||
|
- 可接旨
|
||||||
|
- 可派工
|
||||||
|
- 可追蹤
|
||||||
|
- 可驗收
|
||||||
|
- 可整合回報
|
||||||
|
|
||||||
|
### 8.2 子代理共通限制
|
||||||
|
- 不直接對總管發話
|
||||||
|
- 不自行宣告正式完成
|
||||||
|
- 高風險動作未授權前不可自行執行
|
||||||
|
- 必須如實回報卡點、錯誤與風險
|
||||||
|
|
||||||
|
### 8.3 Reviewer 特別定位
|
||||||
|
- 不是對上窗口
|
||||||
|
- 不是第二個 Eve
|
||||||
|
- 是 Eve 的驗收輔助與嚴格審查者
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 9. 第一版最小可行配置建議
|
||||||
|
|
||||||
|
若要先求穩,不必一次裝滿全部能力。
|
||||||
|
|
||||||
|
### Phase 1
|
||||||
|
先開:
|
||||||
|
- `coder`
|
||||||
|
- `prompt-optimizer`
|
||||||
|
- `reviewer`
|
||||||
|
- `engineering`
|
||||||
|
|
||||||
|
用這組先驗證:
|
||||||
|
- 接旨
|
||||||
|
- prompt 優化
|
||||||
|
- 單線技術任務
|
||||||
|
- 驗收/退件
|
||||||
|
- 正式回報
|
||||||
|
|
||||||
|
### Phase 2
|
||||||
|
再加:
|
||||||
|
- `research`
|
||||||
|
- `ops`
|
||||||
|
|
||||||
|
驗證:
|
||||||
|
- 研究支線
|
||||||
|
- 運維支線
|
||||||
|
- 並行任務
|
||||||
|
|
||||||
|
這樣比一次全開更穩。
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 10. 建議下一步
|
||||||
|
|
||||||
|
下一步應做兩件事:
|
||||||
|
|
||||||
|
### A. 產出真正可套用的 config JSON patch 草案
|
||||||
|
也就是把上面概念轉成準備套用的 `config.patch` / `config.apply` 內容。
|
||||||
|
|
||||||
|
### B. 先建立各 agent 工作區與 prompt 檔案布局草案
|
||||||
|
例如:
|
||||||
|
- `SOUL.md`
|
||||||
|
- `AGENTS.md`
|
||||||
|
- 是否共用某些規格文件
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 11. 結論
|
||||||
|
|
||||||
|
這份 config 草案的核心不是「多加幾個 agent」,而是把制度落地成一個穩定的中樞模式:
|
||||||
|
|
||||||
|
- 總管只對 Eve 下旨
|
||||||
|
- Eve 再決定是否走 optimizer
|
||||||
|
- Eve 派給對應功能 agent
|
||||||
|
- 所有結果先回 Eve
|
||||||
|
- Eve 驗收後才正式回報
|
||||||
|
|
||||||
|
如果照這份草案走,後續實作時就不會再回到那種多層朝廷式、難控、容易失聯的狀態。
|
||||||
193
docs/plans/2026-04-07-openclaw-config-ready-draft.json
Normal file
193
docs/plans/2026-04-07-openclaw-config-ready-draft.json
Normal file
@@ -0,0 +1,193 @@
|
|||||||
|
{
|
||||||
|
"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": {
|
||||||
|
"primary": "cowbay/gpt-5.4",
|
||||||
|
"fallbacks": [
|
||||||
|
"ollama/minimax-m2.5:cloud",
|
||||||
|
"cowbay/minimax/minimax-m2.5:free",
|
||||||
|
"cowbay/kilo-auto/free"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"imageModel": {
|
||||||
|
"primary": "cowbay/openai/gpt-5-image",
|
||||||
|
"fallbacks": [
|
||||||
|
"cowbay/qwen-image-2.0",
|
||||||
|
"cowbay/openai/gpt-5-image-mini"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"models": {
|
||||||
|
"cowbay/gpt-5": {
|
||||||
|
"alias": "gpt5"
|
||||||
|
},
|
||||||
|
"cowbay/gpt-5.1": {
|
||||||
|
"alias": "gpt51"
|
||||||
|
},
|
||||||
|
"cowbay/gpt-5.2": {
|
||||||
|
"alias": "gpt52"
|
||||||
|
},
|
||||||
|
"cowbay/gpt-5.4": {
|
||||||
|
"alias": "gpt54"
|
||||||
|
},
|
||||||
|
"cowbay/gpt-5-codex": {
|
||||||
|
"alias": "codex"
|
||||||
|
},
|
||||||
|
"cowbay/gpt-5.1-codex": {
|
||||||
|
"alias": "codex51"
|
||||||
|
},
|
||||||
|
"cowbay/gpt-5.2-codex": {
|
||||||
|
"alias": "codex52"
|
||||||
|
},
|
||||||
|
"cowbay/gpt-5.3-codex": {
|
||||||
|
"alias": "codex53"
|
||||||
|
},
|
||||||
|
"cowbay/gpt-5.1-codex-max": {
|
||||||
|
"alias": "codex51_max"
|
||||||
|
},
|
||||||
|
"cowbay/gpt-5.1-codex-mini": {
|
||||||
|
"alias": "codex51_mini"
|
||||||
|
},
|
||||||
|
"cowbay/gpt-5.3-codex-spark": {
|
||||||
|
"alias": "codex53_spark"
|
||||||
|
},
|
||||||
|
"cowbay/gpt-5-codex-mini": {
|
||||||
|
"alias": "codex_mini"
|
||||||
|
},
|
||||||
|
"cowbay/gpt5": {
|
||||||
|
"alias": "gpt5_alias"
|
||||||
|
},
|
||||||
|
"cowbay/minimax/minimax-m2.5:free": {
|
||||||
|
"alias": "minimax25_free"
|
||||||
|
},
|
||||||
|
"cowbay/kilo-auto/free": {
|
||||||
|
"alias": "kilo_free"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"userTimezone": "Asia/Taipei",
|
||||||
|
"maxConcurrent": 4,
|
||||||
|
"subagents": {
|
||||||
|
"maxConcurrent": 8
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"list": [
|
||||||
|
{
|
||||||
|
"id": "coder",
|
||||||
|
"name": "Eve",
|
||||||
|
"workspace": "/home/alice/.openclaw/workspace",
|
||||||
|
"model": {
|
||||||
|
"primary": "cowbay/gpt-5.4",
|
||||||
|
"fallbacks": [
|
||||||
|
"ollama/minimax-m2.5:cloud",
|
||||||
|
"cowbay/minimax/minimax-m2.5:free",
|
||||||
|
"cowbay/kilo-auto/free"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "prompt-optimizer",
|
||||||
|
"name": "Prompt Optimizer",
|
||||||
|
"workspace": "/home/alice/.openclaw/workspace-prompt-optimizer",
|
||||||
|
"model": {
|
||||||
|
"primary": "cowbay/gpt-5.4",
|
||||||
|
"fallbacks": [
|
||||||
|
"ollama/minimax-m2.5:cloud",
|
||||||
|
"cowbay/minimax/minimax-m2.5:free",
|
||||||
|
"cowbay/kilo-auto/free"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "reviewer",
|
||||||
|
"name": "Reviewer",
|
||||||
|
"workspace": "/home/alice/.openclaw/workspace-reviewer",
|
||||||
|
"model": {
|
||||||
|
"primary": "cowbay/gpt-5.4",
|
||||||
|
"fallbacks": [
|
||||||
|
"ollama/minimax-m2.5:cloud",
|
||||||
|
"cowbay/minimax/minimax-m2.5:free",
|
||||||
|
"cowbay/kilo-auto/free"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "research",
|
||||||
|
"name": "Research",
|
||||||
|
"workspace": "/home/alice/.openclaw/workspace-research",
|
||||||
|
"model": {
|
||||||
|
"primary": "cowbay/gpt-5.4",
|
||||||
|
"fallbacks": [
|
||||||
|
"ollama/minimax-m2.5:cloud",
|
||||||
|
"cowbay/minimax/minimax-m2.5:free",
|
||||||
|
"cowbay/kilo-auto/free"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "engineering",
|
||||||
|
"name": "Engineering",
|
||||||
|
"workspace": "/home/alice/.openclaw/workspace-engineering",
|
||||||
|
"model": {
|
||||||
|
"primary": "cowbay/gpt-5.4",
|
||||||
|
"fallbacks": [
|
||||||
|
"ollama/minimax-m2.5:cloud",
|
||||||
|
"cowbay/minimax/minimax-m2.5:free",
|
||||||
|
"cowbay/kilo-auto/free"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "ops",
|
||||||
|
"name": "Ops",
|
||||||
|
"workspace": "/home/alice/.openclaw/workspace-ops",
|
||||||
|
"model": {
|
||||||
|
"primary": "cowbay/gpt-5.4",
|
||||||
|
"fallbacks": [
|
||||||
|
"ollama/minimax-m2.5:cloud",
|
||||||
|
"cowbay/minimax/minimax-m2.5:free",
|
||||||
|
"cowbay/kilo-auto/free"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"tools": {
|
||||||
|
"sessions": {
|
||||||
|
"visibility": "all"
|
||||||
|
},
|
||||||
|
"agentToAgent": {
|
||||||
|
"enabled": true,
|
||||||
|
"allow": [
|
||||||
|
"coder",
|
||||||
|
"prompt-optimizer",
|
||||||
|
"reviewer",
|
||||||
|
"research",
|
||||||
|
"engineering",
|
||||||
|
"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"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user