---
title: "qm 是什麼？和 Hermes Agent、Pi Agent、OpenClaw、Codex、Claude 怎麼選"
slug: qm-vs-hermes-pi-openclaw-codex-claude
excerpt: "qm 不是另一個 terminal coding agent，而是把 agent harness、多人 identity、scoped memory、權限、sandbox、Slack 與 web 放進同一個組織平台。本文比較 qm、Hermes Agent、Pi Agent、OpenClaw，以及 Codex 與 Claude 作為個人助理時的實際使用方式。"
category: AI 工具
cover: "/static/qm-vs-hermes-pi-openclaw-codex-claude-cover.png"
published_at: '2026-08-03T18:45:31Z'
updated_at: '2026-08-03T18:45:31Z'
tags:
  - AI Agent
  - Hermes Agent
  - Pi Agent
  - OpenClaw
  - Codex
  - Claude Code
  - qm
  - 開發工具
status: published
read_time: 18 min
---

> 這篇先講 `qm`，再把它放進 Hermes Agent、Pi Agent、OpenClaw、Codex 與 Claude 的使用模型裡比較。重點不是模型排行榜，而是：**你要一個 coding agent、一個常駐個人助理，還是一個多人／組織 agent 平台？**

## 先講結論：這六個東西不是同一層

如果只看 GitHub README，很容易把它們都叫作「AI agent」，然後開始比誰能讀檔、跑 shell、接 MCP。這樣比會失真，因為它們解決的問題不同。

| 工具／產品 | 核心定位 | 最適合的使用方式 |
|---|---|---|
| [qm](https://github.com/yc-software/qm) | Multiplayer agent harness for work | 公司或 startup 裡，每個人、每個 room 都有隔離的 agent scope |
| [Hermes Agent](https://github.com/NousResearch/hermes-agent) | 可常駐的 autonomous personal agent | 把 agent 放進 Telegram、Discord、Slack，讓它記住你、跑工具、做排程 |
| [Pi Agent](https://github.com/earendil-works/pi) | 可嵌入的 agent runtime + terminal coding agent | 在 repo 裡直接讀檔、改檔、跑測試，並用 skills / extensions 改造成自己的 agent |
| [OpenClaw](https://github.com/openclaw/openclaw) | Single-operator personal AI assistant | 自己架一個 Gateway，從既有聊天軟體叫它做事 |
| [Codex](https://github.com/openai/codex) | OpenAI coding-agent product surface | 從 CLI、IDE、desktop 或 cloud 交辦 coding、review、debug、PR 工作 |
| [Claude Code](https://github.com/anthropics/claude-code) | Anthropic 的 agentic coding tool | 在 terminal、IDE、desktop 或 browser 裡長期維護專案、執行開發工作流 |

所以第一個選擇不是「哪個最強」，而是先判斷：

- 你是不是主要在寫程式？
- agent 要不要常駐，從 Telegram 或 Slack 接任務？
- 只有你一個人，還是要服務多個員工與 room？
- 每個 scope 是否要隔離檔案、權限、memory、sandbox 與排程？
- 你要自己維運，還是直接使用 OpenAI / Anthropic 提供的產品入口？

## qm 是什麼？不是另一個 Pi，也不是另一個聊天機器人

`qm` 的 README 第一行就把定位寫得很清楚：它是 **A multiplayer agent harness for work. In Slack and on the web.**

這句話的關鍵不是 agent，而是 *multiplayer*、*work*、*Slack* 與 *web*。

一般 personal assistant 的基本假設是：

```text
一個人 → 一個 assistant → 一份主要記憶與工作空間
```

`qm` 的模型則是：

```text
多個人／多個 room
        ↓
每個 scope 各自有 identity、memory、files、permissions、crons、sandbox
        ↓
同一個組織核心管理 policy、sessions、queue 與 agent harness
```

官方 README 明確列出，每個人與每個 room 可以有自己的：

- scoped memory；
- files；
- keychain view；
- permissions；
- crons；
- web apps；
- durable sandbox。

這使 `qm` 和一般「我在 terminal 裡開一個 agent」有本質差異。它不是只替你啟動一個 agent process，而是把 **identity、scope、policy、持久化、執行環境與協作入口** 一起包起來。

### qm 的 agent 不綁定單一 harness

`qm` 另一個重要設計，是它的 core 可以接不同 harness 與 model。README 直接列出 Pi、OpenCode、Codex、Claude Code，表示 deployment 不必綁死在單一 vendor。

官方架構可以簡化成：

```text
Postgres
  ↕
API / identity / policy / scheduler
  ↕
agent loop（Pi、OpenCode、Codex、Claude Code 等）
  ↕
每個 scope 自己的 durable sandbox
```

這讓 `qm` 的責任範圍和 Pi、Codex、Claude Code 分開：

- Pi、Codex、Claude Code 負責把 agent loop 跑起來；
- `qm` 負責誰在使用、在哪個 scope 使用、能看到什麼、能執行什麼、資料放在哪裡，以及怎麼從 Slack / web 進來。

因此，`qm` 比較像 **agent operating layer / organization harness**，不是又一個 coding CLI。

### qm CLI 是 deployment tool，不是 runtime

`qm` 官方 CLI 可以透過 npm 初始化 deployment directory：

```bash
npm exec --yes --package=@yc-software/qm@latest -- \
  qm init . --org <slug> --target <fly-or-aws>
npm install
npm exec qm -- check
npm exec qm -- plan
npm exec qm -- up --yes
npm exec qm -- check --live
```

CLI 管理的是部署生命週期，包含：

- Docker、Fly、AWS target；
- `check`、`doctor`、`plan`、`up`、`status`、`logs`、`down`、`rollback`；
- sandbox image build / publish；
- deployment config、plugin、tool descriptor、skill tree 與 secrets routing。

這裡要特別分清楚：**qm CLI 不是 agent runtime。** 它把一份 deployment directory 驗證、渲染與部署出去；真正的 agent loop、scope persistence 與 web / Slack surface 是部署後的服務。

### qm 的 sandbox 不要過度解讀

`qm` 的 deployment contract 把很多安全邊界寫成可驗證的設定，例如 command policy、approval、secret routing、sandbox image pin。可是官方也明確標註：`sandbox.egress` 在 contract v1 是 `VALIDATED-ONLY`，沒有宣稱 runtime enforcement。

所以文章裡不能把 `qm` 簡化成「完全隔離、完全封鎖網路的 agent」。比較精確的說法是：

> qm 把 scope、權限、sandbox 與 deployment policy 變成組織可以管理的正式邊界；實際強度仍取決於 target、image、policy 與部署設定。

## Hermes Agent：把 agent 變成真正會陪你工作的常駐助理

Hermes Agent 的核心不是「在 repo 裡幫我改一個 function」，而是 **一個可以放進 terminal、messaging platform、IDE 與遠端環境，持續接工作並累積上下文的 autonomous agent**。

官方文件將它描述成不綁定 IDE 或單一 API 的 agent。它可以在本機、VPS、GPU cluster 或其他執行環境工作；你可以從 Telegram 交辦，讓它在另一台機器上執行。

Hermes 的個人助理模型大致是：

```text
使用者
  ↕ Telegram / Discord / Slack / WhatsApp / Email / API / Webhook
Hermes Gateway
  ↕
session + memory + skills + tools + cron + profile
  ↕
terminal / browser / MCP / background process / delegated agent
```

它原生提供的個人化結構包括：

- **persistent memory**：跨 session 保存使用者偏好、環境與穩定事實；
- **skills**：把解過的問題與可重用流程保存成 procedural memory；
- **profiles**：不同角色有獨立 config、session、skills 與 memory；
- **gateway**：接到 Telegram、Discord、Slack、WhatsApp、Signal、Email、SMS、Matrix 等入口；
- **cron**：排程執行工作，並把結果送回指定平台；
- **MCP / plugins / webhooks**：擴充工具與觸發方式；
- **worktree / background / delegation**：平行做 coding、research、QA 或批次工作。

這也是 Hermes 和 Pi 的主要差異：Pi 的核心是 agent runtime 與 coding agent；Hermes 從一開始就把 **「agent 會在哪裡被叫到、怎麼記住你、怎麼在沒有人盯著時繼續工作」** 當成產品的一部分。

### Hermes 適合什麼個人助理工作？

例如：

- 在 Telegram 丟一個研究任務，讓它自己查資料、整理成筆記；
- 每天固定時間掃描資料，將報告送到指定群組；
- 一個 profile 做商業研究，另一個 profile 做 coding，兩者有不同 memory 與 workspace；
- 你在手機上交辦，agent 在 VPS 上跑測試、抓資料或更新檔案；
- 把一次性任務整理成 skill，下次直接重用流程。

Hermes 的代價是維運。你要管理 provider、gateway、tool permissions、profile、memory、cron、process 與平台連線。這不是「裝好一個 app 就不用想」的路線，而是把個人助理的控制權與可組合性拿回來。

## Pi Agent：最適合拿來組裝自己的 coding agent

Pi 的 README 把專案拆成幾個清楚的 package：

- `pi-agent-core`：agent runtime、tool calling、state management；
- `pi-coding-agent`：互動式 coding agent CLI；
- `pi-ai`：多 provider LLM API；
- TUI 與其他可組合的 package。

啟動 Pi 的方式很直接：進入 repo，執行 `pi`，然後讓它讀檔、改檔、跑命令。

```bash
npm install -g --ignore-scripts @earendil-works/pi-coding-agent
cd /path/to/project
pi
```

預設工具是：

- `read`；
- `write`；
- `edit`；
- `bash`。

Pi 的強項不是把最多平台接在一起，而是把 **agent loop、session、skills、extension 與 provider** 做成可以自己改的積木。

### Pi 的 session 是一棵可分支的工作樹

Pi 會把 session 存到 `~/.pi/agent/sessions/`，以 JSONL tree structure 保存。你可以：

```bash
pi -c                  # 繼續最近一次 session
pi -r                  # 選擇舊 session
pi --fork <path|id>    # 從舊 session 分支
pi --session <path|id> # 打開指定 session
```

互動模式也有 `/tree`、`/fork`、`/clone`、`/compact`、`/export` 等操作。

這種 session tree 適合「同一個 coding 問題試兩條路」：先讓 agent 提出做法 A，再回到前一個節點嘗試做法 B，不必把每次實驗都塞進線性對話。

但要注意：**session resume 不是完整的 personal memory。** 它保存的是某個 agent 工作歷史；它不等於 Hermes 那種跨多個 session、以使用者與環境為中心的長期記憶系統。

### Pi 的 skills 與 extensions 是組裝點

Pi 遵循 Agent Skills standard，可從 global、project、package、settings 或 CLI path 載入 skills；也可以把 Claude Code 或 Codex 的 skill directories 加進 Pi 的設定。

Pi 的 extension 則可以深入改變：

- tools；
- slash commands；
- UI；
- event handling；
- provider；
- session 行為。

這讓 Pi 很適合拿來打造「我的 coding agent」：你可以加上特殊工具、客製化輸出、連接自己的 provider，或把它嵌進其他產品。

不過 Pi README 也明確提醒：**Pi 沒有內建 permission system，預設使用啟動 process 的 filesystem、process、network 與 credential 權限。** 需要更強的隔離，要自行使用 Gondolin、Docker、OpenShell 或其他 sandbox。

### Pi 能不能當個人助理？可以，但通常要再組一層

`pi-chat` 就是一個很好的例子。它是 Pi 的額外 extension，不是 Pi core 內建功能。它可以：

- 接 Discord 與 Telegram；
- 每個 channel 建一個 Gondolin micro-VM；
- 保存 account-wide 與 channel-specific memory；
- 自動發現 skills；
- 接收檔案；
- 用 tmux 管理多個 Pi workers；
- 從聊天指令控制 stop、compact、new session 與 status。

所以 Pi 可以組成 personal assistant，但結構是：

```text
Pi core
+ pi-chat
+ sandbox
+ channel credentials
+ worker / tmux orchestration
+ memory / skills layout
= 一個 Pi-based personal assistant
```

這和 Hermes / OpenClaw 的差別在於：後兩者把 gateway / channel / assistant lifecycle 放在主產品裡；Pi 把 agent runtime 做得更適合被嵌入，外層由你決定。

## OpenClaw：single-operator、channel-first 的 personal assistant

OpenClaw 的官方定位非常直接：**Your own personal AI assistant**。它跑在自己的裝置上，並且出現在你已經使用的聊天平台。

OpenClaw 的中心是 Gateway：

- Gateway 管 sessions、tools、events 與 channel connections；
- Telegram、WhatsApp、Slack、Discord、Signal、iMessage、WebChat 等 channel 接到 Gateway；
- CLI、web UI、macOS app 與其他 node 透過控制連線使用它；
- skills、plugins、model providers、browser / computer use 擴充 agent 能力。

它的操作模型是：

```text
你在聊天軟體傳訊息
        ↓
OpenClaw Gateway
        ↓
session / tools / skills / memory / nodes
        ↓
在自己的裝置或指定 node 上工作
```

OpenClaw README 明確寫它是 **designed for a single operator**。這是它和 `qm` 最大的差別之一：

- OpenClaw：先假設這是你的 personal assistant，再處理 channel、node 與工具；
- qm：先處理 organization、person、room、scope、policy 與 durable sandbox，再讓不同 harness 進來工作。

OpenClaw 適合想自己架一個「住在聊天軟體裡」的 agent，但安全邊界不能省略。官方文件提醒，main session 的工具可能在 host 上執行；接入其他使用者或對外暴露 Gateway 前，要處理 pairing、權限、sandbox 與暴露面。

## qm、Hermes、Pi、OpenClaw 的核心比較

| 比較軸 | qm | Hermes Agent | Pi Agent | OpenClaw |
|---|---|---|---|---|
| 核心單位 | person / room scope | profile / session / user | project / session / agent | operator / session / channel |
| 主要入口 | Slack、web、可選 plugin | terminal、Telegram、Discord、Slack 等 | terminal、可嵌入 runtime | messaging channels、CLI、web、nodes |
| 長期狀態 | 每個 scope 的 memory、files、permissions、crons、sandbox | memory、user profile、skills、profile、session | session tree；長期 assistant 能力需自行組裝 | Gateway state、sessions、memory、skills、workspace |
| Harness | 可切換 Pi、OpenCode、Codex、Claude Code 等 | Hermes 自己的 agent runtime | Pi agent-core / coding-agent | OpenClaw agent runtime |
| 背景工作 | crons、watches、durable deployment | cron、background、delegation、webhook | 可由 extension / chat bridge / 外部 scheduler 組合 | Gateway automation、background tasks、nodes |
| 多 agent | scope 與組織協作；harness 另行負責 worker | delegation、profiles、worktree、parallel agents | runtime / extension / pi-chat 組合 | agents、agent coordination、nodes；核心仍是 single operator |
| 隔離 | scope sandbox、policy、deployment layer | terminal backend、worktree、profile separation | 預設不限制，需自行 sandbox | Gateway / node / sandbox 設定 |
| 維運成本 | 高：組織部署、Postgres、sandbox、cloud | 中高：gateway、provider、skills、cron、profiles | 低到中：CLI 很快，客製化後上升 | 中高：Gateway、channels、pairing、sandbox |
| 最強場景 | 公司內多人共享 agent 平台 | 個人常駐、跨平台、可自我累積的 agent | 自己打造 coding agent / agent runtime | 自架 channel-first personal assistant |

這張表最重要的不是哪一欄打勾最多，而是它們的 **核心單位不一樣**。把 `qm` 和 Pi 只比成「都能跑 shell」，就漏掉了 `qm` 真正處理的 identity、policy、scope 與 deployment；把 Pi 和 Hermes 比成「都有 session」，則漏掉 Hermes 的 gateway、memory、cron 與 profile。

## Codex：像一個高整合度的 coding 個人助理

Codex 的官方 repo 目前把產品面分成幾個入口：

- Codex CLI；
- IDE extension；
- desktop app；
- Codex Web / cloud agent。

CLI 的使用方式很清楚：進入專案，執行 `codex`，直接交代要 inspect、edit、run、review 或 automate 的工作。官方 README 也說 Codex 可以用 ChatGPT Plus、Pro、Business、Edu、Enterprise 登入，也可以另行用 API key。

從個人助理角度看，Codex 的優點是「入口整合」：

```text
同一個 OpenAI coding agent
├── terminal
├── IDE
├── desktop
└── cloud / web
```

你可以在本機開始，將工作交給 cloud，稍後再把結果帶回本機 repository；也可以從 desktop / web 管理長時間或平行的 coding work。官方 Codex 文件目前也列出 skills、MCP、permissions、worktrees、cloud、long-running work 與 scheduled tasks 等產品面。

但這裡要把兩件事拆開：

- **Codex 能做背景或 cloud work**，不代表它是 Hermes 那種自架 messaging Gateway；
- **Codex 能用 ChatGPT plan 登入**，不代表所有 local / cloud / API 能力都有同一組權限或計費規則。

所以如果你的日常是：「我打開 Codex，交代一個 coding 任務，審查 diff，讓它修好並送 PR」，Codex 很自然。若你的日常是：「我在 Telegram 群組丟一句話，讓一台 VPS 每天固定掃資料並把結果送回來」，那 Codex CLI 本身不是完整答案，還需要 Hermes、OpenClaw、qm 或你自己補 gateway / scheduler。

## Claude：把 coding assistant 做成可持續工作的 project operator

這篇的 Claude 主要指 **Claude Code**，不是泛稱的 Claude 聊天產品。

Claude Code 的官方定位是住在 terminal 裡的 agentic coding tool，理解 codebase、執行 routine tasks、解釋複雜程式、處理 git workflow。現在它的使用面也延伸到 IDE、desktop、browser、mobile 與 Slack / cloud surface。

Claude Code 的個人化核心有三層：

### 1. `CLAUDE.md`：你明確寫下來的規則

你可以在 project 或 user scope 寫：

- 架構與 coding standards；
- 測試與 build 命令；
- review checklist；
- 個人偏好；
- 不可執行的危險操作。

### 2. auto memory：它自己累積的 project learnings

官方 memory 文件明確說，每個 Claude Code session 都從 fresh context 開始；持續知識靠 `CLAUDE.md` 與 auto memory。auto memory 可以保存 build command、debugging insight、使用者修正與偏好，但它不是把完整歷史對話永遠塞進 context。

這和 Hermes memory 的重心不同：

- Claude Code memory：以 project / user coding workflow 為中心；
- Hermes memory：更像整個 personal agent 的長期使用者模型，包含角色、環境、偏好與跨平台工作方式。

### 3. skills、subagents、worktrees：把工作拆開

Claude Code 官方文件目前支援：

- skills 與 plugins；
- 自訂 subagents；
- background agent；
- Agent teams；
- worktree isolation；
- MCP；
- scheduled tasks / routines；
- desktop / browser cloud work。

因此 Claude Code 很適合：「這個 repo 是我的長期工作環境，agent 要慢慢熟悉它，並且能把研究、測試、review、實作分給不同 worker。」

但它和 Hermes / OpenClaw 仍有一個入口差異：Claude Code 的核心體驗是 **project operator**，不是原生的多聊天平台 Gateway。你可以把它接到更多 surface，也可以透過 desktop / web / routines 擴展使用方式，但它的長期上下文仍主要圍繞 project files、`CLAUDE.md`、auto memory、session 與 worktree。

## Codex 與 Claude：拿來當個人助理時怎麼選？

如果只問「Codex 還是 Claude 比較強」，答案會隨模型、版本、工作內容與權限設定變動。比較實際的問法是：你希望個人助理怎麼工作？

| 需求 | Codex | Claude Code |
|---|---|---|
| 本機 terminal coding | 很適合，CLI 直接進 repo | 很適合，terminal 是核心入口之一 |
| IDE / desktop 使用 | OpenAI 有 IDE、desktop、web / cloud surface | Anthropic 有 IDE、desktop、browser / cloud surface |
| 專案規則 | `AGENTS.md`、permissions、config | `CLAUDE.md`、`.claude/rules`、permissions |
| 長期專案記憶 | 以 Codex / ChatGPT product surface 的 project / chats / memories 等功能為主，需看目前 surface | `CLAUDE.md` + auto memory，project scope 很明確 |
| 平行 coding | worktrees、cloud environments、subagents / agent surfaces | worktrees、subagents、background、agent teams |
| 背景 / 排程 | Codex cloud、long-running、scheduled product surface | desktop scheduled tasks、routines、cloud / web surface |
| 自架 messaging gateway | 不是 Codex CLI 的核心能力 | 不是 Claude Code CLI 的核心能力 |
| 最適合 | 想在 OpenAI / ChatGPT 生態裡切換 CLI、IDE、desktop、cloud | 想把一個或多個 repo 交給熟悉規則的長期 coding operator |

我會這樣分：

- **Codex**：你已經以 ChatGPT / OpenAI 為主，希望從聊天、desktop、IDE、terminal、cloud 之間切換，並把 coding 工作放進同一個 product surface。
- **Claude Code**：你更重視 project instruction、`CLAUDE.md`、auto memory、skills、subagents 與長期 repo workflow，希望 agent 逐漸熟悉你的工程習慣。
- **Hermes / OpenClaw**：你要的是「我在任何聊天入口叫它做事」，而不是每次打開 coding product。
- **qm**：你要的是「公司裡每個人與每個 room 都能有自己的 agent scope」，而不是一個人的 coding assistant。

## 實際場景：哪種工作該用哪個？

### 我只想把 repo 交給 agent，完成一個 feature

先選 **Codex CLI、Claude Code 或 Pi**。

- 想要開箱即用、官方產品整合：Codex 或 Claude Code；
- 想要自己改 agent loop、provider、extension、session：Pi；
- 想要 agent 同時處理 repo 以外的研究、訊息、排程：Hermes。

### 我每天都從 Telegram / Discord 交辦工作

選 **Hermes 或 OpenClaw**。

- 你要多 profile、不同角色、skills、provider、cron 與一般工具：Hermes；
- 你要 single-operator、Gateway、nodes 與大量聊天 channel：OpenClaw；
- 你想自己把 coding agent 塞進聊天並接受較高組裝成本：Pi + pi-chat。

### 我想要一個每天自動跑的研究／營運助理

優先選 **Hermes**；如果是自架的單人 channel assistant，也可以選 OpenClaw。

原因不是它們模型一定比較強，而是它們的核心有：

- 常駐 Gateway；
- cron / automation；
- 跨 session memory；
- messaging delivery；
- tool / skill extensibility。

Codex 與 Claude 目前也有 cloud、background、scheduled 等產品面，但它們的工作流仍以各自的 coding product surface 為中心；要不要能直接接入你的 Telegram 群組、是否能自架、資料怎麼留在你的機器上，必須另外設計。

### 我們公司想讓每個人都有 agent，而且 room 之間要隔離

選 **qm**。

這正是 `qm` 和 Hermes / OpenClaw 的分水嶺：

- person scope 與 room scope；
- 每個 scope 自己的 files、memory、keychain view、permissions、crons、sandbox；
- Slack 與 web surface；
- admin 控制可用 harness 與 model；
- 組織自己的 skills、plugins、sandbox image 與 cloud deployment。

Hermes 可以透過 profiles 與不同 gateway / channel 組出多角色系統，但 `qm` 把多人 scope 與 deployment contract 直接做成核心資料模型。

### 我想自己打造一個 agent 產品

選 **Pi** 當 runtime，再決定是否加 Hermes、OpenClaw 或 `qm` 類的外層。

Pi 的好處是核心清楚、package 可拆、provider 與 extension 可改。你可以只用 `pi-agent-core`，也可以用 coding-agent CLI，或用 `pi-chat` 加上 channel、sandbox、memory 與 worker orchestration。

如果你一開始就需要：

- 多使用者 identity；
- room scope；
- policy / permissions；
- durable sandbox；
- Slack / web；
- cloud deployment；
- admin 與 secret routing；

那就不要只把 Pi CLI 包在一個 HTTP endpoint 後面。這些需求已經進入 `qm` 類的 platform layer。

### 我不想維運太多東西，只想交代 coding 工作

選 **Codex 或 Claude Code**。

你換到的是較完整的 hosted / desktop / IDE / cloud product surface，少掉一部分 Gateway、provider、channel、scheduler、sandbox 與 persistent-memory 的維運工作。

代價是：你對 session、runtime、資料流、部署位置與跨平台入口的控制，不會像自架 Hermes、OpenClaw 或 `qm` 那麼完整。

## 最後的選型框架

可以把選擇壓成四層：

```text
我需要寫 code 嗎？
├─ 是：Pi / Codex / Claude Code
│
├─ 我需要 agent 常駐、從聊天入口接工作嗎？
│  ├─ 是：Hermes / OpenClaw
│  └─ 否：留在 coding agent product
│
├─ 我需要多人、room、隔離 scope 與組織 policy 嗎？
│  ├─ 是：qm
│  └─ 否：Hermes / OpenClaw / Pi-based assistant
│
└─ 我願意自己維運 Gateway、sandbox、provider 與 scheduler 嗎？
   ├─ 願意：Hermes / OpenClaw / Pi + 自建外層
   └─ 不願意：Codex / Claude 的 desktop、web、cloud surface
```

我的實際判斷是：

- **Pi** 是最適合拿來理解與組裝 agent 的底層選擇；
- **Codex 與 Claude Code** 是最適合直接交辦 coding 工作的產品選擇；
- **Hermes Agent** 是把 coding、研究、系統操作、記憶、排程與 messaging 放在同一個個人 agent 裡；
- **OpenClaw** 是更 channel-first、single-operator 的自架 personal assistant；
- **qm** 則是把 agent 從「我的工具」提升成「公司裡每個人與每個 room 都能使用的工作平台」。

不要用「哪一個能跑 shell」來選。這六個工具都可能做到這件事，但它們真正分別處理的是：

```text
Pi：agent runtime
Codex / Claude：coding product
Hermes：常駐 personal agent
OpenClaw：personal Gateway
qm：multiplayer organization platform
```

這才是它們之間最有用的分界。

## 官方來源與查核範圍

本文以 2026-08-03 查核的官方 repository、README、CLI / deployment 文件與產品文件為依據：

- [qm repository](https://github.com/yc-software/qm)、[qm CLI](https://github.com/yc-software/qm/blob/main/cli/README.md)、[deployment contract](https://github.com/yc-software/qm/blob/main/docs/deploy-directory.md)
- [Hermes Agent repository](https://github.com/NousResearch/hermes-agent)、[Hermes Agent docs](https://hermes-agent.nousresearch.com/docs/)、[skills docs](https://hermes-agent.nousresearch.com/docs/skills)
- [Pi repository](https://github.com/earendil-works/pi)、[Pi coding-agent docs](https://pi.dev/docs/latest)、[Pi sessions](https://github.com/earendil-works/pi/blob/main/packages/coding-agent/docs/sessions.md)、[Pi skills](https://github.com/earendil-works/pi/blob/main/packages/coding-agent/docs/skills.md)、[pi-chat](https://github.com/earendil-works/pi-chat)
- [OpenClaw repository](https://github.com/openclaw/openclaw)、[architecture](https://docs.openclaw.ai/concepts/architecture)、[Gateway](https://docs.openclaw.ai/gateway)、[channels](https://docs.openclaw.ai/channels)、[skills](https://docs.openclaw.ai/tools/skills)、[security](https://docs.openclaw.ai/gateway/security)
- [OpenAI Codex repository](https://github.com/openai/codex)、[Codex docs](https://learn.chatgpt.com/docs)、[Codex CLI docs](https://learn.chatgpt.com/docs/codex/cli)、[Codex web / cloud](https://chatgpt.com/codex)
- [Claude Code repository](https://github.com/anthropics/claude-code)、[overview](https://code.claude.com/docs/en/overview)、[common workflows](https://code.claude.com/docs/en/common-workflows)、[memory](https://code.claude.com/docs/en/memory)、[subagents](https://code.claude.com/docs/en/sub-agents)

Pi 的 repository identity 需要特別注意：原本常見的 [`badlogic/pi-mono`](https://github.com/badlogic/pi-mono) 在查核時已 redirect 到 [`earendil-works/pi`](https://github.com/earendil-works/pi)，因此本文以目前 canonical repository 的 README 與文件為主。
