从其他 Agent 导入
hermes import-agent 用一条命令把你现有的 Claude Code 或 OpenAI Codex CLI 设置导入 Hermes。它沿用与 hermes claw migrate 相同的"先预览后执行"模式:在写入任何内容之前,你总能看到逐项计划,而 --dry-run 永远不会触碰磁盘。
hermes import-agent # 自动检测 ~/.claude 或 ~/.codex
hermes import-agent claude-code # 从 ~/.claude 导入
hermes import-agent codex # 从 ~/.codex 导入
hermes import-agent claude-code --dry-run # 仅预览
hermes import-agent codex --source /path/to/.codex # 自定义路径
hermes import-agent claude-code --overwrite --yes # 覆盖冲突,跳过提示
导入哪些内容
Claude Code(~/.claude)
| Claude Code | Hermes |
|---|---|
CLAUDE.md(全局指令) | ~/.hermes/memories/MEMORY.md 中的记忆条目 |
settings.json → permissions.allow(Bash(...) 规则) | config.yaml 中的 command_allowlist |
settings.json → permissions.deny(Bash(...) 规则) | config.yaml 中的 approvals.deny |
mcpServers(来自 ~/.claude.json 和 settings.json) | config.yaml 中的 mcp_servers |
skills/<name>/(含 SKILL.md 的目录) | ~/.hermes/skills/claude-code-imports/<name>/ |
commands/*.md(斜杠命令) | 跳过并给出提示——请将其改造成 skill |
Claude 的 Bash(npm run test:*) 前缀规则会变成 npm run test* 通配符。非 Bash 权限规则(Read(...)、WebFetch 等)用于管控 Claude 专属工具,会被报告为"未映射"而非导入。
Codex CLI(~/.codex)
| Codex CLI | Hermes |
|---|---|
AGENTS.md(全局指令) | ~/.hermes/memories/MEMORY.md 中的记忆条目 |
config.toml → [mcp_servers.*] | config.yaml 中的 mcp_servers |
memories/*.md | ~/.hermes/memories/MEMORY.md 中的记忆条目 |
skills/<name>/(含 SKILL.md 的目录) | ~/.hermes/skills/codex-imports/<name>/ |
永不导入的内容
API key 与凭据。 凭据文件(~/.claude/.credentials.json、~/.codex/auth.json)永远不会被读取;MCP 服务器的环境变量或请求头中名称形似机密的项(*_TOKEN、*_API_KEY、Authorization 等)会被剥离并列入报告,方便你有意识地重新添加。运行 hermes setup 配置提供商,或把机密写入 ~/.hermes/.env。
行为说明
- 永远先预览。 命令在应用前会打印完整计划;在非交互会话中,除非传入
--yes,否则会停在预览阶段。 - 合并而非替换。 记忆条目会与你现有的
MEMORY.md去重;允许/拒绝规则模式会与config.yaml中已有的内容合并。 - 冲突默认跳过。 Hermes 中已存在的 MCP 服务器或 skill 会被报告为冲突;传入
--overwrite即可替换。 - 畸形文件不会中断整个流程。 损坏的
settings.json或config.toml会在报告中成为单条错误,其余内容照常导入。 - 来自 OpenClaw?请改用
hermes claw migrate。
保持导入同步
每次成功导入都会把来源(及其读取过的所有内容的摘要)登记到 ~/.hermes/import-sync.json。当对方 agent 的设置日后发生变化——新增 skill、编辑 CLAUDE.md/AGENTS.md、添加 MCP 服务器——用以下命令拉取变更:
hermes import-agent --sync # 重新导入所有发生变化的来源
hermes import-agent --sync --dry-run # 预览同步会做什么
同步无提示且开销很低:文件未变化的来源会通过摘要比对跳过,因此可以安全地定时运行(例如每天一次的 cron 任务)。规则:
- 记忆与配置合并始终去重——同步绝不会复制你已有的条目或模式。
- 此前由
import-agent导入的 skill,在源副本变化时会就地刷新。 - 你自己在导入分类下创建或修改的 skill 绝不会被覆盖——它们保持常规冲突语义(手动运行时加
--overwrite可强制覆盖)。 - 凭据文件永远不会触发同步——
~/.claude/.credentials.json或~/.codex/auth.json中的 token 刷新会被摘要比对忽略,机密仍会从所有导入内容中剥离。
这借鉴了 ChatGPT Work 的 Settings > Import 自动更新机制,但改造成一条显式、可审查的命令,而非后台服务。
该清单按 profile 区分。用 hermes profile create <name> --clone --sync-imports 创建的 profile 会继承它,因此 hermes -p <name> import-agent --sync 会持续从相同的外部目录树拉取(参见 Profiles)。