hermes-agent/website/i18n/zh-Hans/docusaurus-plugin-content-docs/current/user-guide/features/acp.md
Teknium 76135b329d
docs(i18n): translate all docs into Simplified Chinese (zh-Hans) (#31942)
Translates the full English docs corpus (335 files) into Simplified
Chinese under website/i18n/zh-Hans/. Combined with PR #31895 (cross-
locale link fix), the 简体中文 locale toggle now serves a complete
Chinese site with working cross-page navigation.

Pipeline:
- Claude Sonnet 4.6 via OpenRouter, 8-way concurrent
- Preserves frontmatter keys, code blocks, MDX/JSX, link URLs, brand
  names, and technical jargon (prompt/token/hook/MCP/ACP/etc.)
- Translates only frontmatter title/description and prose
- Two largest files (configuration.md 93KB, research-paper-writing.md
  107KB) retried with 64K max_tokens after initial fence-drift
- 3 manual post-fixes for MDX edge cases the model didn't escape:
  < in optional-skills-catalog table, double-quotes in an alt= tag,
  and a bare URL adjacent to a full-width period

Cost: ~$30 total (Sonnet 4.6 input $3/M + output $15/M).

Verified `npm run build` succeeds for both en and zh-Hans locales,
no double-prefixed /docs/zh-Hans/docs/ URLs in rendered output,
all in-page navigation resolves correctly.

Translations are machine-generated and may need human review on
specific pages — but they're an enormous improvement over the
previous state (3 zh-Hans pages out of 335).
2026-05-25 01:47:38 -07:00

8.4 KiB
Raw Blame History

sidebar_position title description
11 ACP 编辑器集成 在 VS Code、Zed 和 JetBrains 等兼容 ACP 的编辑器中使用 Hermes Agent

ACP 编辑器集成

Hermes Agent 可作为 ACP 服务器运行,让兼容 ACP 的编辑器通过 stdio 与 Hermes 通信并渲染:

  • 聊天消息
  • 工具活动
  • 文件差异
  • 终端命令
  • 审批 prompt提示词
  • 流式思考 / 响应块

当你希望 Hermes 表现得像编辑器原生的编码 agent而非独立 CLI 或消息机器人时ACP 是合适的选择。

Hermes 在 ACP 模式下暴露的内容

Hermes 使用专为编辑器工作流设计的精选 hermes-acp 工具集运行,包括:

  • 文件工具:read_filewrite_filepatchsearch_files
  • 终端工具:terminalprocess
  • 网页/浏览器工具
  • 记忆、待办事项、会话搜索
  • skills
  • execute_codedelegate_task
  • 视觉

它有意排除了不适合典型编辑器 UX 的功能,例如消息投递和 cronjob 管理。

安装

正常安装 Hermes 后,添加 ACP 扩展:

pip install -e '.[acp]'

这将安装 agent-client-protocol 依赖并启用:

  • hermes acp
  • hermes-acp
  • python -m acp_adapter

对于 Zed registry 安装Zed 通过官方 ACP Registry 条目启动 Hermes。该条目使用 uvx 发行版运行:

uvx --from 'hermes-agent[acp]==<version>' hermes-acp

使用 registry 安装路径前,请确保 uv 已在 PATH 中可用。

启动 ACP 服务器

以下任意命令均可以 ACP 模式启动 Hermes

hermes acp
hermes-acp
python -m acp_adapter

Hermes 将日志输出到 stderr以保留 stdout 用于 ACP JSON-RPC 流量。

非交互式检查:

hermes acp --version
hermes acp --check

浏览器工具(可选)

浏览器工具(browser_navigatebrowser_click 等)依赖 agent-browser npm 包和 Chromium这些不包含在 Python wheel 中。通过以下命令安装:

hermes acp --setup-browser           # 交互式(下载约 400 MB 前会提示确认)
hermes acp --setup-browser --yes     # 非交互式接受下载

这是独立命令。Zed registry 的终端认证流程(hermes acp --setup)在模型选择后也会将浏览器引导作为后续问题提供,因此大多数用户无需直接运行 --setup-browser

具体操作:

  • 若缺少 Node.js 22 LTS将其安装到 ~/.hermes/node/
  • npm install -g agent-browser @askjo/camofox-browser 安装到该前缀(无需 sudo — npm--prefix 指向用户可写的 Hermes 管理 Node
  • 安装 Playwright Chromium或在检测到系统 Chrome/Chromium 时使用已有版本

该引导过程是幂等的——重复运行速度很快,已完成的步骤会被跳过。

编辑器设置

VS Code

安装 ACP Client 扩展。

连接步骤:

  1. 从活动栏打开 ACP Client 面板。
  2. 从内置 agent 列表中选择 Hermes Agent
  3. 连接并开始聊天。

如需手动定义 Hermes通过 VS Code 设置在 acp.agents 下添加:

{
  "acp.agents": {
    "Hermes Agent": {
      "command": "hermes",
      "args": ["acp"]
    }
  }
}

Zed

Zed v0.221.x 及更新版本通过官方 ACP Registry 安装外部 agent。

  1. 打开 Agent 面板。
  2. 点击 Add Agent,或运行 zed: acp registry 命令。
  3. 搜索 Hermes Agent
  4. 安装后启动新的 Hermes 外部 agent 线程。

前提条件:

  • 先通过 hermes model 配置 Hermes provider 凭据,或在 ~/.hermes/.env / ~/.hermes/config.yaml 中设置。
  • 安装 uv,以便 registry 启动器可以运行 uvx --from 'hermes-agent[acp]==<version>' hermes-acp

在 registry 条目可用之前进行本地开发时,在 Zed 设置中使用自定义 agent 服务器:

{
  "agent_servers": {
    "hermes-agent": {
      "type": "custom",
      "command": "hermes",
      "args": ["acp"]
    }
  }
}

JetBrains

使用兼容 ACP 的插件并将其指向:

/path/to/hermes-agent/acp_registry

Registry 清单

Hermes 官方 ACP Registry 元数据的源文件位于:

acp_registry/agent.json
acp_registry/icon.svg

上游 registry PR 将这些文件复制到 agentclientprotocol/registry 中的顶层 hermes-agent/ 目录。

Registry 条目使用直接指向 hermes-agent PyPI 发行版的 uvx 发行版:

uvx --from 'hermes-agent[acp]==<version>' hermes-acp

Registry CI 会验证固定版本是否存在于 PyPI因此清单的 version 和 uvx package 固定版本必须始终与 pyproject.toml 匹配。scripts/release.py 会自动保持它们同步。

配置与凭据

ACP 模式使用与 CLI 相同的 Hermes 配置:

  • ~/.hermes/.env
  • ~/.hermes/config.yaml
  • ~/.hermes/skills/
  • ~/.hermes/state.db

Provider 解析使用 Hermes 的正常运行时解析器,因此 ACP 继承当前配置的 provider 和凭据。Hermes 还为首次运行的 registry 客户端提供终端认证方法(--setup);这将打开 Hermes 的交互式模型/provider 设置。

会话行为

ACP 会话在服务器运行期间由 ACP 适配器的内存会话管理器跟踪。

每个会话存储:

  • 会话 ID
  • 工作目录
  • 已选模型
  • 当前对话历史
  • 取消事件

底层 AIAgent 仍使用 Hermes 的正常持久化/日志路径,但 ACP 的 list/load/resume/fork 仅限于当前运行的 ACP 服务器进程。

工作目录行为

ACP 会话将编辑器的 cwd 绑定到 Hermes 任务 ID使文件和终端工具相对于编辑器工作区运行而非服务器进程的 cwd。

审批

危险的终端命令可作为审批 prompt 路由回编辑器。ACP 审批选项比 CLI 流程更简单:

  • 允许一次
  • 始终允许
  • 拒绝

超时或出错时,审批桥接会拒绝请求。

会话范围的编辑自动审批

ACP 在允许一次始终允许之间提供第三层:允许本次会话。在编辑器的权限提示中选择此选项,会将审批记录在当前 ACP 会话内——该会话中所有后续匹配命令无需提示即可通过,但新的 ACP 会话(或重启编辑器)会重置状态,并在第一次时重新提示。

选项 编辑器标签 范围 重启后是否持久化
allow_once 允许一次 本次工具调用
allow_session 允许本次会话 本 ACP 会话中所有匹配调用 否——会话结束时清除
allow_always 始终允许 所有未来会话 是(写入 Hermes 永久允许列表)
deny 拒绝 本次工具调用

allow_session 是编辑器工作流的正确默认选项——你在任务期间信任 agent但不想授予长期允许列表条目。安全权衡很直接范围越广编辑器打断你的次数越少行为异常的 agent或 prompt 注入)在被发现前能造成的损害也越大。对不熟悉的命令从 allow_once 开始;在看到 agent 多次正确运行相同模式后升级为 allow_session;将 allow_always 保留给你永远信任的真正幂等命令(例如 git status)。

ACP 桥接将这些选项映射到 Hermes 的内部审批语义——allow_always 与 CLI 相同地写入永久允许列表条目,而 allow_session 仅影响当前 ACP 会话的进程内审批缓存。

故障排查

ACP agent 未出现在编辑器中

检查:

  • 在 Zed 中,使用 zed: acp registry 打开 ACP Registry 并搜索 Hermes Agent
  • 对于手动/本地开发,验证自定义 agent_servers 命令是否指向 hermes acp
  • Hermes 已安装且在 PATH 中。
  • ACP 扩展已安装(pip install -e '.[acp]')。
  • 如果从官方 Zed registry 条目启动,uv 已安装。

ACP 启动后立即报错

尝试以下检查:

hermes acp --version
hermes acp --check
hermes doctor
hermes status

缺少凭据

ACP 模式使用 Hermes 现有的 provider 设置。通过以下方式配置凭据:

hermes model

或编辑 ~/.hermes/.env。Registry 客户端也可以触发 Hermes 的终端认证流程,该流程运行相同的交互式 provider/模型设置。

Zed registry 启动器找不到 uv

从官方 uv 安装文档安装 uv,然后从 Zed 重试 Hermes Agent 线程。

另请参阅