用户：我在想一个问题，如果可以让pk agent去调用其他agent（mcp/cli的方式），并且共享项目文档。那是不是可以实现ai cor-work的效果
助手：這個問題問得很好。**簡短回答：可以，而且你已經有 80% 的零件了。**

---

## 🧠 概念上完全成立

```
        ┌─────────────────────┐
        │   PK Agent（協調者） │
        │   你想要它幹嘛       │
        └──────────┬──────────┘
                   │ 根據任務分發
       ┌───────────┼───────────┐
       ▼           ▼           ▼
   Claude Code   Codex    Hermes Sub-agent
   （擅長重構）  （擅長實作）（擅長工具整合）
       │           │           │
       └───────────┼───────────┘
                   ▼
        ┌─────────────────────┐
        │   共享項目文檔       │
        │   (Syncthing + DB)  │
        └─────────────────────┘
```

這就是 **Multi-Agent Orchestration** 的標準模式。

---

## ✅ 你現在已有的零件

| 零件 | 狀態 | 用途 |
|------|------|------|
| **Hermes Agent**（PK） | ✅ 已裝 | 協調者，調用其他 agent |
| **Claude Code CLI** | ✅ 已裝 | 重構 / 大改動 |
| **Codex CLI** | ✅ 已裝 | 實現 / 寫代碼 |
| **OpenCode CLI** | ✅ 已裝 | 審查 / 測試 |
| **OpenClaw** | ⚠️ wheels 已下載 | 另一類 agent |
| **MCP 服務器** | ✅ Hermes 支援 | 統一協議調用 |
| **Syncthing 共享文件夾** | ✅ Linux ↔ Windows 已通 | 共享項目文檔 |
| **MariaDB 共享狀態** | ✅ 雙向同步已配 | 持久化上下文 |
| **Kanban 任務隊列** | ✅ Hermes 自帶 | 多 agent 協作調度 |
| **Memory 系統** | ✅ 長期記憶 | 跨會話上下文 |

**幾乎全齊了，只差 2 件事**：

---

## ❌ 還缺什麼

### 1. **路由邏輯**（哪個任務交給哪個 agent）

```
"重構這段代碼" → Claude Code（擅長大改動）
"寫新功能"     → Codex（擅長實作）
"跑滲透測試"   → HexStrike MCP（已有）
"查內網知識庫" → Hermes Sub-agent + RAG
"做 PPT"      → ppt-generator skill
```

PK Agent 需要這個**決策表**。

### 2. **共享上下文協議**（不只是共享文件）

光共享文件不夠，還要：
- 任務**狀態**（誰在做什麼、進度）
- 中間**產物**（代碼、報告、測試結果）
- 失敗**回退**（某個 agent 失敗了怎麼辦）

這就是 **Kanban + structured handoff** 的角色。

---

## 🚀 三個可行方案（從輕到重）

### 🥉 方案 A：Hermes + Kanban（最輕，30 分鐘落地）

```
Hermes 主會話
  → /kanban create "task-1" assign=claude-code
  → Windows 端 Hermes worker 撿任務 → claude -p "..."
  → 結果寫回 Kanban
  → 主會話讀結果 → 派下一個任務
```

**優點**: 全是現成的  
**缺點**: 輪詢延遲,不會即時協作

### 🥈 方案 B：Hermes + MCP 服務器（中等，2 小時落地）

```
寫一個 mcp-orchestrator.py：
  - 暴露 tools: invoke_claude / invoke_codex / invoke_opencode
  - 內部調用各 agent CLI
  - 返回結構化結果 + 自動寫進共享文件夾
```

Hermes 配置：
```yaml
mcp_servers:
  - name: orchestrator
    command: python3 /opt/mcp-orchestrator.py
```

之後 Hermes 直接說"把這段代碼給 Claude 重構"就會自動調用 Claude Code CLI。

### 🥇 方案 C：自建 AI Co-work 平台（重，1-2 週）

完整系統：
- Web Dashboard（任務看板 + agent 狀態）
- 消息總線（agent 之間即時通訊）
- 共享 RAG（項目文檔 → 向量庫）
- 統一審計日誌
- 失敗重試 + 成本控制

這就是 **AutoGen / CrewAI / LangGraph** 在做的事,自己做版本。

---

## ⚠️ 真正的挑戰（不是技術）

| 挑戰 | 說明 |
|------|------|
| **語義損失** | Agent A 的中間產物，Agent B 拿到後會丟失上下文 |
| **成本失控** | 多 agent 串起來 token 消耗 ×3-5 |
| **死循環** | A 等 B,B 等 C,C 等 A |
| **責任分散** | 出 bug 不知道哪個 agent 的問題 |
| **調試噩夢** | 需要完整的 trace 日誌 |

**這些 AutoGen / CrewAI 也沒完美解決**，所以多 agent 系統通常是 **80/20**：80% 場景簡單 PK Agent + 子 agent 就能搞定,真正需要多 agent 即時協作的場景其實不多。

---

## 💡 我的建議（實用主義）

**先做方案 B（MCP orchestrator）**，驗證你的場景是否真的需要多 agent 協作：

1. **寫個 100 行的 mcp-orchestrator.py**
2. **暴露 3 個 tools**: `invoke_claude_code / invoke_codex / invoke_opencode`
3. **內部用 subprocess + 結構化 JSON 返回**
4. **結果自動寫到 /root/Sync/ai-cowork/**

驗證場景：
- 「重構這段 Python 代碼」→ Claude Code
- 「為這段代碼寫 unit test」→ Codex  
- 「跑一遍滲透測試」→ HexStrike MCP
- 「總結結果做 PPT」→ ppt-generator skill

**2 個小時能跑通**。要不要我直接動手？