# Agent 项目对比分析

用 OpenHarness、Hermes Agent、OpenClaw 对比 Beaver，面向讲解场景覆盖产品定位、架构结构、Skill、Tool、Session、Channel、权限、安全、自学习和 Agent Team。

Snapshot: 2026-05-20 来源: GitHub README + repo tree + 本地代码 返回 Beaver 架构页

## 首页总览

先用四张卡片建立直觉：它们都在做 agent，但产品路线和架构重心不同。

### 讲解目标

产品定位谁是目标用户，核心体验是什么
运行架构入口、服务、agent loop、状态层如何分工
能力子系统 Skill、Tool、Memory、Channel、Permission
差异优劣哪些成熟，哪些值得借鉴
Beaver 位置解释你的项目选择的路线

### HKUDS/OpenHarness

Agent harness 基础设施 + ohmo personal agent。适合讲“LLM 要变成 agent，需要工具、技能、记忆、权限、MCP 和多 agent 外壳”。

Python CLI / gateway / harness MIT agent loop 43+ tools swarm

### NousResearch/hermes-agent

自学习个人 agent。适合讲“长期助理如何跨会话记忆、从任务中生成技能、用多渠道和 cron 变成常驻助手”。

Python CLI / TUI / gateway / cron MIT closed learning loop session search subagents

### openclaw/openclaw

Local-first 多渠道个人助手。适合讲“产品化 gateway、设备节点、消息渠道、WebChat、Canvas 和安全默认值”。

TypeScript gateway / apps / nodes / canvas MIT multi-channel local-first sandbox

### Beaver

单用户实例化 Web agent 工作台。适合讲“Web 管理面 + Task 工作单 + 审核型 Skill Learning + Agent Team”。

Python + Next.js Web app + per-user instance Task mode Skill Learning AuthZ
讲解建议：不要先陷入代码目录。先让听众理解四条路线：OpenHarness 是“基础设施”，Hermes 是“自学习长期助理”，OpenClaw 是“本地优先多渠道产品”，Beaver 是“Web 管理 + 可审核任务工作台”。

## 产品定位

这一页回答：谁会用、从哪里进入、产品强弱在哪里。

### 适合谁用

- OpenHarness：研究者、agent harness builder、CLI agent 集成开发者。
- Hermes：想要长期个人助理、自学习、多渠道自动化的个人或团队。
- OpenClaw：想要本地优先、多设备、多消息渠道个人助手的用户。
- Beaver：想要 Web 化、可部署、可管理、可审核的单用户 agent 工作台。

### 主体验入口

- OpenHarness：oh / ohmo CLI + gateway。
- Hermes：hermes TUI、messaging gateway、cron。
- OpenClaw：openclaw onboard、gateway、apps/nodes、WebChat、Canvas。
- Beaver：auth portal -> per-user app instance -> Web chat/workbench/settings/skills/tasks。

### 产品优劣

- OpenHarness：概念清晰、基础设施强，但偏工程/框架导向。
- Hermes：自学习叙事最强，但系统面广、结构复杂。
- OpenClaw：产品触点最多，但平台集成复杂、讲架构成本高。
- Beaver：Web 管理和 Task 工作流清楚，但多渠道和生态成熟度弱。

### 四条路线

OpenHarness 先做 agent harness，再在其上做 ohmo personal agent
Hermes 先做长期助理体验，再强调自学习闭环
OpenClaw 先做 local-first gateway 和多平台触点
Beaver 先做 Web 管理、Task 工作单和审核型学习

## 总功能矩阵

横向扫一遍能力覆盖。重点看 Beaver 的强项和短板分别落在哪些行。

能力 | OpenHarness | Hermes | OpenClaw | Beaver
--- | --- | --- | --- | ---
Agent Loop | 有，harness 核心；强调 streaming tool-call cycle 和并行工具执行。 | 有，conversation loop 是长期助理运行核心。 | 有，agent runtime 嵌入 gateway、apps、nodes 场景。 | 有，统一 AgentLoop，主 agent 和 sub-agent 共用。
Task 工作单 | 有 tasks 目录和 autopilot/test 迹象，但不是核心产品叙事。 | 有 kanban、goals、cron 等任务形态。 | 有 session/agent message task 形态，偏产品会话和路由。 | 强核心：TaskRecord、validation、feedback、active task。
Skill 系统 | bundled/user skills、frontmatter、plugin ecosystem。 | optional skills、Skills Hub、self-improving skills。 | workspace/bundled/managed skills、ClawHub。 | versioned skill、draft/review/publish/rollback、learning candidate。
Tool 系统 | 43+ tools、MCP、parallel tool execution。 | 40+ tools、toolsets、terminal backends、RPC。 | first-class tools、browser/canvas/nodes/cron/sessions。 | ToolRegistry、ToolAssembler、ToolExecutor、builtins、MCP wrapper。
Memory | MEMORY.md、memdir、session memory。 | agent-curated memory、FTS5 session search、user modeling。 | workspace memory/session model。 | curated memory、run memory、skill learning memory。
Channel/Gateway | ohmo channels：Feishu、Slack、Telegram、Discord 等。 | Telegram、Discord、Slack、WhatsApp、Signal、Email gateway。 | 超多渠道和 device nodes。 | 当前主要 Web/WebSocket，另有 gateway/channels 基础。
Permissions | permissions checker、sandbox、hooks。 | tool guardrails、approval、terminal backend isolation。 | DM allowlist、sandbox non-main sessions、security defaults。 | authz integration、permission packages 还较空、MCP authz config。
Team/Sub-agent | swarm、subagent、delegation。 | subagents、parallel workstreams。 | multi-agent routing / isolated agents。 | sequence/parallel/DAG ExecutionGraph。
自学习 | 有 memory/skills，但不是最强叙事。 | 强：closed learning loop。 | 有 skills registry，但自学习不是主线。 | 强：candidate -> draft -> safety/eval -> review -> publish。
Web 管理面 | dashboard/terminal frontend 有，但非主线。 | website/web/TUI/gateway。 | control UI / WebChat / Canvas。 | 强：tasks、skills、MCP、settings、files、logs。

## Skill 装载、选择、版本和学习

重点讲 Beaver 的优势：不仅能选 skill，还把 skill 当成可审核、可发布、可回滚的资产。

### OpenHarness

- 目录迹象：src/openharness/skills、.claude/skills、.agents/skills。
- 形态：bundled skills、agent skills、plugin skills。
- 优点：兼容 skill 文件生态，轻量易扩展。
- 短板：审核/发布工作流不如 Beaver 明确。

### Hermes

- 目录迹象：skills、optional-skills、agent/skill_*、hermes_cli/skills_*。
- 形态：内置技能、可选技能、Skills Hub、迁移 OpenClaw skills。
- 优点：技能生态和 self-improving 叙事强。
- 短板：入口多，讲清最终选择链路成本高。

### OpenClaw

- 目录迹象：skills、.agents/skills、docs skills、workspace skills。
- 形态：bundled/managed/workspace skills，配合 ClawHub。
- 优点：产品化技能注册和分发强。
- 短板：技能系统与 gateway/apps/nodes 强绑定。

### Beaver

- 形态：SkillSpecStore、SkillsLoader、published versions、drafts、reviews。
- 优点：上传/安装 -> 版本 -> draft -> review -> publish/disable/rollback 生命周期清楚。
- 短板：外部生态和 marketplace 成熟度不如 OpenClaw/Hermes。

### Beaver Skill 装载流程

workspace skill store 技能文件和版本索引
SkillsLoader.list 读取 published skill
selection candidates 构建候选摘要
SkillAssembler embedding + LLM 选择
SkillContext 注入本轮上下文
ActivationReceipt 写入激活审计记录

阶段 | OpenHarness | Hermes | OpenClaw | Beaver
--- | --- | --- | --- | ---
发现 skill | loader/registry | skill bundles/config/hub | workspace/managed registry | SkillsLoader
候选召回 | skill registry / prompt matching | skill preprocessing / commands | registry/config | embedding retriever
最终选择 | agent/runtime 决策 | agent skill utilities | agent/tooling runtime | LLM shortlist + final select
注入方式 | prompt/context | prompt/context | prompt/context | SkillContext + activation messages
审计记录 | 有测试/日志迹象 | 有 memory/trajectory | 有 runtime/logs | explicit activation receipt

CRUD | Beaver 讲解重点
--- | ---
Create | upload、marketplace install、learning candidate synthesize draft
Read | list/detail/version/file/download
Update | regenerate draft、submit、approve、reject、publish、disable、rollback
Delete | delete published skill / draft delete 底层能力

### Demo：Skill 选择

这个例子适合讲“skill 不是手动塞进去，而是根据任务语义被选择并记录”。

#### 输入

    {
      "task_description": "解释后端 Task 机制",
      "available_skills": [
        "backend-explainer",
        "code-review",
        "filesystem"
      ]
    }

#### 内部选择

    {
      "retrieved_candidates": [
        "backend-explainer",
        "filesystem"
      ],
      "llm_final_select": [
        "backend-explainer"
      ]
    }

#### 预期输出

    {
      "activated_skills": [
        "backend-explainer"
      ],
      "activation_reason": "llm_selected",
      "tool_hints": [
        "search_files",
        "read_file"
      ]
    }

## Tool 装载、选择、执行和 MCP

重点讲 Beaver 的 ToolRegistry / ToolAssembler / ToolExecutor 三段式边界。

### OpenHarness

43+ tools，覆盖 file、shell、search、web、MCP，并强调 parallel tool execution。

### Hermes

40+ tools、toolsets、terminal backends、RPC、browser/tools config，工具体系覆盖面广。

### OpenClaw

first-class tools，覆盖 browser、canvas、nodes、cron、sessions 和 channel actions。

### Beaver

built-in tools + MCP tools + registry + assembler + executor，运行链路边界更容易讲清。

### Beaver Tool 装载流程

EngineLoader 创建工具运行时
ToolRegistry 注册 built-in tools
MCP Manager 连接外部 MCP server
ToolAssembler always + skill hints + embedding
Provider Schema 导出 function schema
ToolExecutor 执行 tool call 并写回 session

阶段 | OpenHarness | Hermes | OpenClaw | Beaver
--- | --- | --- | --- | ---
内置注册 | tools package | tools/toolsets | packages/extensions/tools | EngineLoader.register_many
外部工具 | MCP client | MCP serve/config | plugin/extensions/process tooling | MCP manager
工具选择 | harness runtime | toolsets + config + guardrails | gateway/runtime tool exposure | always tools + skill hints + embedding top-k
执行 | tool call cycle / parallel | tool executor / terminal backend | runtime/extensions/actions | ToolExecutor.execute_tool_call
审计 | logs/hooks | trajectory/tool classification | logs/security tooling | session tool_result + run memory

讲解重点：tool_hints 不是直接执行工具。它只告诉工具选择器“这个 skill 常用哪些工具”。最终工具列表仍由 ToolAssembler 汇总 always tools、skill hints 和 embedding top-k。

### Demo：Skill 中 tool 字段影响工具选择

#### Skill frontmatter

    ---
    name: backend-explainer
    description: Explain backend architecture from source files
    tool_hints:
      - search_files
      - read_file
      - session_search
    ---
    先定位入口，再追踪 service、engine、memory、skills。

#### 工具选择器输入

    {
      "task": "解释后端 Task 机制",
      "activated_skills": [
        "backend-explainer"
      ],
      "always_tools": [
        "memory",
        "session_search"
      ]
    }

#### 预期工具选择

    {
      "always_tools": ["memory", "session_search"],
      "from_skill_hints": ["search_files", "read_file"],
      "from_embedding": ["list_directory"],
      "final_tools": [
        "memory",
        "session_search",
        "search_files",
        "read_file",
        "list_directory"
      ]
    }

## Session / Memory 管理

对比谁更擅长跨会话、谁更擅长运行证据、谁更擅长多渠道隔离。

### OpenHarness

- session_storage、session_backend、channels/bus。
- 偏 harness + channel runtime，支持 ohmo 长会话。

### Hermes

- gateway/session.py、conversation loop、session recap、FTS5 session search。
- 强在跨会话检索、recap、conversation continuity。

### OpenClaw

- session model 是产品核心之一，gateway route 到 isolated agents/sessions。
- 强在多渠道、多设备下 session 和 peer/account 隔离。

### Beaver

- SessionManager + SQLite/store + Web session API。
- 每次 run 记录 system/user/assistant/tool/event payload。
- Task 可通过 session_id 找 active task。

Memory 类型 | OpenHarness | Hermes | OpenClaw | Beaver
--- | --- | --- | --- | ---
用户长期记忆 | MEMORY.md / memdir | user modeling / curated memory | workspace memory | curated memory store
会话历史 | session storage | conversation/session history | gateway sessions | session manager
检索 | memory relevance/search | FTS5 + summarization | session/tools docs | session search tool
run 证据 | harness logs/tests | trajectories | logs/sessions | run memory store
skill 效果 | 部分支持 | 自学习闭环强 | skill registry usage | skill effect records

### Demo：Beaver Session + Memory

#### 输入

    {
      "session_id": "web-demo-001",
      "message": "继续刚才的后端架构讲解"
    }

#### 内部数据

    {
      "session": {
        "id": "web-demo-001",
        "source": "web",
        "parent_session_id": null
      },
      "message": {
        "role": "user",
        "run_id": "run_002",
        "context_visible": true
      },
      "memory_snapshot": {
        "captured_for_run": "run_002",
        "frozen": true
      },
      "run_memory": {
        "activated_skills": ["backend-explainer"],
        "tool_results": ["read_file", "search_files"],
        "validation_result": {"accepted": true}
      }
    }

#### 预期输出

    {
      "answer": "继续上次内容...",
      "session_updated": true,
      "run_record_written": true,
      "can_resume_later": true
    }

## Channel / Gateway 管理

这页讲入口生态。Beaver 目前 Web 强，多渠道弱；OpenClaw 和 Hermes 是主要参照。

### OpenHarness

- ohmo gateway：Feishu、Slack、Telegram、Discord 等。
- 目录：src/openharness/channels/impl/*。
- 适合讲 harness + personal agent channel adapters。

### Hermes

- Telegram、Discord、Slack、WhatsApp、Signal、Email、Home Assistant 等。
- 目录：gateway/platforms/*。
- 强在 pairing、delivery、slash access、session context。

### OpenClaw

- 渠道覆盖最广：WhatsApp、Telegram、Slack、Discord、Google Chat、Signal、iMessage、Matrix、Feishu、LINE、WeChat、QQ、WebChat 等。
- 强在 local-first gateway、device nodes、apps/canvas。
- 安全重点：DM allowlist、pairing、non-main sandbox。

### Beaver

- 当前主入口是 Web + WebSocket。
- 后端已有 interfaces/gateway 和 interfaces/channels 基础。
- 集成侧有 Outlook、MCP servers。
- 短板：多渠道连接和 channel-specific 安全策略不成熟。

### 四种 Channel 数据流

OpenHarness Channel Adapter -> Gateway Runtime -> ohmo session -> OpenHarness engine/tools
Hermes Platform webhook/bot -> gateway session context -> agent loop -> delivery
OpenClaw External channel -> Gateway -> agent routing -> workspace/session/tools -> channel reply
Beaver Browser/WebSocket -> FastAPI web app -> AgentService -> AgentLoop -> Web response

### 对 Beaver 的建议

- 优先借鉴 OpenClaw/Hermes 的 channel adapter 独立化。
- 建立 channel identity / allowlist / pairing 概念，而不是只把消息当普通 Web 请求。
- 设计 per-channel session mapping，明确 channel、account、peer、session、user 的关系。
- 保留当前 Web 管理面优势，先做少量高价值 channel，不直接复制 OpenClaw 的复杂度。

## 权限 / 安全 / 沙箱 / AuthZ

这页要拆成两层讲：平台部署隔离，以及 agent runtime 的工具权限。

维度 | OpenHarness | Hermes | OpenClaw | Beaver
--- | --- | --- | --- | ---
Tool approval | permissions checker / hooks | guardrails / approvals | security defaults / tool exposure | authz integration + permission package scaffold
Channel trust | channel impl + security tests | pairing/slash access/platform rules | DM allowlist / pairing | Web auth/session + authz-service
Sandbox | Docker sandbox | terminal backend isolation | non-main sandbox, Docker/SSH/OpenShell | Docker per-instance isolation at deployment layer
MCP security | MCP config/client | MCP config/serve | plugin/process boundary | MCP server config + authz config
Audit | tests/logging/hooks | trajectories/logs | logging/security workflows | session event payload + run memory

### Beaver 平台部署层

- auth-portal：用户入口、登录注册。
- authz-service：授权服务和后端身份。
- deploy-control：创建和管理单用户实例。
- router-proxy：按 Host 转发到实例。
- 每个用户一个 app-instance，Docker 容器隔离 + per-instance workspace。

### Beaver Agent Runtime 层

- permissions package 已有 profiles/guards/policies 结构，但目前偏骨架。
- MCP 和 authz 已在 config / integration 中接入。
- Skill draft safety checker 可用 allowed tool names/prefixes 控制技能草稿风险。
- 当前短板是 tool call 前置 permission guard 还不如三方成熟。

### 当前优势

- 用户实例边界清楚。
- Web API 和 AuthZ 控制链路清楚。
- skill 发布前有 safety/eval/review。

### 当前短板

- runtime tool permission policy 还不完整。
- channel trust model 还没展开。
- 沙箱更多在部署层，不是每次 tool call 的细粒度策略。

### 下一步建议

- 给 ToolSpec 增加 risk level / permission scope 展示。
- 给 MCP server 增加 trust profile。
- 给 channel/session 增加 source trust metadata。
- 将 permission guard 接入 tool executor 前置检查。

## Agent Team / Sub-agent 编排

Beaver 的优势是把 team 放进 Task 工作流，并且让主 agent synthesis 最终负责一致性。

### OpenHarness

swarm、subagent spawning、delegation，强调 harness 多 agent 能力。

### Hermes

isolated subagents、parallel workstreams、scripts via RPC。

### OpenClaw

multi-agent routing、isolated agents/workspaces/sessions。

### Beaver

- 任务规划器生成 plan。
- ExecutionGraph 支持 sequence / parallel / DAG。
- TaskSkillResolver 绑定 published skill 或 ephemeral guidance。
- LocalAgentRunner 让 sub-agent 回到统一 AgentLoop。
- 主 Agent synthesis 输出最终答案。

### Beaver Team 流程

Task 复杂工作进入任务模式
Planner 决定 single / team
ExecutionGraph sequence / parallel / DAG
Skill Binding published skill 或 ephemeral guidance
LocalAgentRunner 节点回到统一 AgentLoop
Main Synthesis 主 agent 综合输出

### Demo：Agent Team DAG

#### 输入

    {
      "task_id": "task_arch_002",
      "mode": "team",
      "strategy": "dag"
    }

#### 执行图

    {
      "nodes": [
        {
          "node_id": "read",
          "task": "阅读三方项目 README",
          "depends_on": []
        },
        {
          "node_id": "compare",
          "task": "对比 skill/tool/session/channel/permission",
          "depends_on": ["read"]
        },
        {
          "node_id": "synthesize",
          "task": "生成讲解页结构",
          "depends_on": ["compare"]
        }
      ]
    }

#### 预期输出

    {
      "team_success": true,
      "node_results": [
        {"node_id": "read", "success": true},
        {"node_id": "compare", "success": true},
        {"node_id": "synthesize", "success": true}
      ],
      "main_synthesis": "输出一页完整项目对比讲解。"
    }

## 结论：Beaver 的位置和下一步

这页适合最后收束：不是说谁更好，而是说明每个项目选择了不同路线。

### 你的强项

- Web 管理面清晰。
- Task 工作单、validation、feedback 闭环明确。
- Skill Learning 生命周期比多数项目更可审核。
- Agent Team DAG/parallel/sequence 边界清晰。
- 单用户实例化部署方便隔离和商业化实例管理。

### 你的短板

- 多渠道能力弱于 Hermes/OpenClaw。
- channel trust、安全、pairing、allowlist 体系还没展开。
- permission guard/tool approval 还没有 OpenHarness/OpenClaw 成熟。
- 生态规模、skills hub、插件分发弱于三方项目。
- 桌面/移动/Canvas 类体验缺失。

### 可借鉴

- 从 OpenHarness 借鉴 harness 概念表达、hook/permission/tool ecosystem。
- 从 Hermes 借鉴 self-improving narrative、gateway、cron、session search/user modeling。
- 从 OpenClaw 借鉴 local-first gateway、多渠道、device nodes、DM security、Canvas/visual workspace。

### 讲解主线

- 先讲三方项目都是“让 LLM 变成 agent 的外壳”。
- 再讲你的项目选择了“Web 管理 + Task 工作流 + 审核型 skill learning”路线。
- 最后讲未来可吸收 channel、permission、ecosystem 能力。

## 来源区

页面内容是静态快照，不是实时 GitHub 数据。Snapshot: 2026-05-20。

项目 | GitHub metadata snapshot | 主要来源
--- | --- | ---
HKUDS/OpenHarness | Python / MIT / stars 12801 / forks 2115 / updated 2026-05-20T06:22:54Z | Repo · README
NousResearch/hermes-agent | Python / MIT / stars 158414 / forks 25664 / updated 2026-05-20T06:43:46Z | Repo · README
openclaw/openclaw | TypeScript / MIT / stars 373326 / forks 77490 / updated 2026-05-20T06:42:58Z | Repo · README
Beaver | 本地项目 / Python + Next.js / 单用户实例化 Web agent 工作台 | Beaver 架构可视化 · backend overview

### OpenHarness 结构证据

仓库树显示 src/openharness/skills、tools、memory、channels、permissions、sandbox、swarm、ohmo/gateway。

https://github.com/HKUDS/OpenHarness

### Hermes 结构证据

仓库树显示 agent/skill_*、tools、toolsets、gateway/platforms、cron、mcp_serve.py、optional-skills。

https://github.com/NousResearch/hermes-agent

### OpenClaw 结构证据

仓库树显示 apps/android、apps/ios、apps/macos、skills、extensions、docs、大量 channel/security workflows。

https://github.com/openclaw/openclaw

### Beaver 结构证据

本地代码显示 beaver/engine、tasks、skills、tools、memory、interfaces/web、coordinator、integrations/authz。

查看本地 Beaver 架构页