hermes-agent/website/i18n/zh-Hans/docusaurus-plugin-content-docs/current/user-guide/profiles.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

10 KiB
Raw Blame History

sidebar_position
2

Profiles运行多个 Agent

在同一台机器上运行多个独立的 Hermes agent——每个 agent 拥有各自的配置、API 密钥、记忆、会话、技能和 gateway 状态。

什么是 profile

profile 是一个独立的 Hermes 主目录。每个 profile 拥有自己的目录,其中包含各自的 config.yaml.envSOUL.md、记忆、会话、技能、cron 任务和状态数据库。profile 让你可以为不同用途运行独立的 agent——编程助手、个人机器人、研究 agent——而不会混淆 Hermes 状态。

创建 profile 后,它会自动成为独立的命令。创建名为 coder 的 profile你立即就拥有了 coder chatcoder setupcoder gateway start 等命令。

快速开始

hermes profile create coder       # 创建 profile + "coder" 命令别名
coder setup                       # 配置 API 密钥和模型
coder chat                        # 开始对话

就这些。coder 现在是拥有独立配置、记忆和状态的 Hermes profile。

创建 profile

空白 profile

hermes profile create mybot

创建一个预置了内置技能的全新 profile。运行 mybot setup 配置 API 密钥、模型和 gateway token。

如果你计划将此 profile 用作 kanban看板工作节点或希望 kanban 编排器将任务路由到它),在创建时传入 --description "<角色>" 以便编排器了解其能力:

hermes profile create researcher --description "Reads source code and external docs, writes findings."

你也可以稍后通过 hermes profile describe 设置或自动生成描述——完整路由模型请参阅 Kanban 指南

仅克隆配置(--clone

hermes profile create work --clone

将当前 profile 的 config.yaml.envSOUL.md 复制到新 profile。API 密钥和模型相同,但会话和记忆是全新的。编辑 ~/.hermes/profiles/work/.env 可使用不同的 API 密钥,编辑 ~/.hermes/profiles/work/SOUL.md 可设置不同的人格。

克隆全部内容(--clone-all

hermes profile create backup --clone-all

复制所有内容——配置、API 密钥、人格、所有记忆、完整会话历史、技能、cron 任务、插件。完整快照。适用于备份或 fork 已有上下文的 agent。

从指定 profile 克隆

hermes profile create work --clone --clone-from coder

:::tip Honcho 记忆 + profiles 启用 Honcho 后,--clone 会自动为新 profile 创建专属 AI 对等体,同时共享同一用户工作区。每个 profile 构建各自的观察记录和身份标识。详见 Honcho——多 agent / Profiles。 :::

使用 profile

命令别名

每个 profile 在 ~/.local/bin/<name> 自动获得一个命令别名:

coder chat                    # 与 coder agent 对话
coder setup                   # 配置 coder 的设置
coder gateway start           # 启动 coder 的 gateway
coder doctor                  # 检查 coder 的健康状态
coder skills list             # 列出 coder 的技能
coder config set model.default anthropic/claude-sonnet-4

别名支持所有 hermes 子命令——底层实际上是 hermes -p <name>

-p 标志

你也可以通过任意命令显式指定 profile

hermes -p coder chat
hermes --profile=coder doctor
hermes chat -p coder -q "hello"    # 可在任意位置使用

粘性默认值(hermes profile use

hermes profile use coder
hermes chat                   # 现在指向 coder
hermes tools                  # 配置 coder 的工具
hermes profile use default    # 切换回默认

设置默认值后,普通 hermes 命令将指向该 profile。类似于 kubectl config use-context

了解当前所在 profile

CLI 始终显示当前活跃的 profile

  • 提示符:显示 coder 而非
  • 启动横幅:启动时显示 Profile: coder
  • hermes profile:显示当前 profile 名称、路径、模型、gateway 状态

Profile vs 工作区 vs 沙箱

profile 常与工作区或沙箱混淆,但它们是不同的概念:

  • profile 为 Hermes 提供独立的状态目录:config.yaml.envSOUL.md、会话、记忆、日志、cron 任务和 gateway 状态。
  • 工作区工作目录是终端命令的起始位置,由 terminal.cwd 单独控制。
  • 沙箱用于限制文件系统访问。profile 对 agent 进行沙箱隔离。

在默认的 local 终端后端agent 仍拥有与你的用户账户相同的文件系统访问权限。profile 不会阻止其访问 profile 目录之外的文件夹。

如果你希望 profile 默认在特定项目文件夹中启动,请在该 profile 的 config.yaml 中设置绝对路径的 terminal.cwd

terminal:
  backend: local
  cwd: /absolute/path/to/project

在 local 后端使用 cwd: "." 表示"Hermes 启动时所在的目录",而非"profile 目录"。

另请注意:

  • SOUL.md 可以引导模型,但不能强制限定工作区边界。
  • SOUL.md 的更改在新会话中会生效。现有会话可能仍在使用旧的 prompt提示词状态。
  • 询问模型"你在哪个目录?"并不是可靠的隔离测试。如果你需要工具有可预测的起始目录,请显式设置 terminal.cwd

运行 gateway

每个 profile 以独立进程运行各自的 gateway使用各自的 bot token

coder gateway start           # 启动 coder 的 gateway
assistant gateway start       # 启动 assistant 的 gateway独立进程

不同的 bot token

每个 profile 有各自的 .env 文件。在各文件中配置不同的 Telegram/Discord/Slack bot token

# 编辑 coder 的 token
nano ~/.hermes/profiles/coder/.env

# 编辑 assistant 的 token
nano ~/.hermes/profiles/assistant/.env

安全性token 锁

如果两个 profile 意外使用了相同的 bot token第二个 gateway 将被阻止并显示明确的错误信息,指出冲突的 profile。支持 Telegram、Discord、Slack、WhatsApp 和 Signal。

持久化服务

coder gateway install         # 创建 hermes-gateway-coder systemd/launchd 服务
assistant gateway install     # 创建 hermes-gateway-assistant 服务

每个 profile 拥有独立的服务名称,各自独立运行。

:::note 在官方 Docker 镜像中 各 profile 的 gateway 由 s6-overlay(容器中的 PID 1监管因此 hermes profile create <name> 会自动在 /run/service/gateway-<name>/ 注册 s6 服务槽。hermes -p <name> gateway start/stop/restart 会调度到 s6-svc 而非直接启动裸进程——崩溃后自动重启,docker restart 会保留之前运行的 gateway 集合。详见 各 profile gateway 监管。 :::

配置 profile

每个 profile 拥有各自的:

  • config.yaml — 模型、提供商、工具集及所有设置
  • .env — API 密钥、bot token
  • SOUL.md — 人格与指令
coder config set model.default anthropic/claude-sonnet-4
echo "You are a focused coding assistant." > ~/.hermes/profiles/coder/SOUL.md

如果你希望此 profile 默认在特定项目中工作,还需设置其 terminal.cwd

coder config set terminal.cwd /absolute/path/to/project

更新

hermes update 拉取一次代码(共享),并自动将新的内置技能同步到所有 profile

hermes update
# → Code updated (12 commits)
# → Skills synced: default (up to date), coder (+2 new), assistant (+2 new)

用户修改过的技能不会被覆盖。

管理 profile

hermes profile list           # 显示所有 profile 及其状态
hermes profile show coder     # 显示某个 profile 的详细信息
hermes profile rename coder dev-bot   # 重命名(同步更新别名和服务)
hermes profile export coder   # 导出为 coder.tar.gz
hermes profile import coder.tar.gz   # 从归档文件导入

删除 profile

hermes profile delete coder

此操作将停止 gateway、移除 systemd/launchd 服务、移除命令别名并删除所有 profile 数据。系统会要求你输入 profile 名称以确认。

使用 --yes 跳过确认:hermes profile delete coder --yes

:::note 你无法删除默认 profile~/.hermes)。如需删除所有内容,请使用 hermes uninstall。 :::

Tab 补全

# Bash
eval "$(hermes completion bash)"

# Zsh
eval "$(hermes completion zsh)"

将该行添加到 ~/.bashrc~/.zshrc 以启用持久补全。支持补全 -p 后的 profile 名称、profile 子命令及顶级命令。

工作原理

profile 使用 HERMES_HOME 环境变量。运行 coder chat 时,包装脚本在启动 hermes 前将 HERMES_HOME 设置为 ~/.hermes/profiles/coder。由于代码库中 119+ 个文件通过 get_hermes_home() 解析路径Hermes 状态会自动限定在 profile 目录范围内——包括配置、会话、记忆、技能、状态数据库、gateway PID、日志和 cron 任务。

这与终端工作目录是分开的。工具执行从 terminal.cwd 开始(或在 local 后端使用 cwd: "." 时从启动目录开始),而非自动从 HERMES_HOME 开始。

默认 profile 就是 ~/.hermes 本身。无需迁移——现有安装的工作方式完全不变。

将 profile 作为发行版共享

你在一台机器上构建的 profile 可以打包为 git 仓库,并通过一条命令安装到另一台机器——你自己的工作站、团队成员的笔记本,或社区用户的环境。共享包包含 SOUL、配置、技能、cron 任务和 MCP 连接。凭据、记忆和会话保持各机器独立。

# 从 git 仓库安装完整 agent
hermes profile install github.com/you/research-bot --alias

# 当作者发布新版本时更新(保留你的记忆和 .env
hermes profile update research-bot

完整指南请参阅 Profile 发行版:共享完整 Agent——包括编写、发布、更新语义、安全模型和使用场景。