Импорт из других агентов
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(...)) | command_allowlist в config.yaml |
settings.json → permissions.deny (правила Bash(...)) | approvals.deny в config.yaml |
mcpServers (из ~/.claude.json и settings.json) | mcp_servers в config.yaml |
skills/<name>/ (каталоги с SKILL.md) | ~/.hermes/skills/claude-code-imports/<name>/ |
commands/*.md (слэш-команды) | Пропускаются с пометкой — их стоит переделать в навыки |
Префиксные правила 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.*] | mcp_servers в config.yaml |
memories/*.md | Записи памяти в ~/.hermes/memories/MEMORY.md |
skills/<name>/ (каталоги с SKILL.md) | ~/.hermes/skills/codex-imports/<name>/ |
Что не переносится никогда
Ключи API и учётные данные. Файлы с секретами (~/.claude/.credentials.json, ~/.codex/auth.json) не читаются вовсе. Переменные окружения и заголовки MCP-серверов, чьи имена похожи на секреты (*_TOKEN, *_API_KEY, Authorization и так далее), вырезаются и попадают в отчёт списком — добавите их обратно осознанно. Провайдеров моделей настраивайте через hermes setup, секреты кладите в ~/.hermes/.env.
Как это ведёт себя
- Сначала предпросмотр, без исключений. Команда печатает полный план и только потом применяет его. В неинтерактивной сессии она останавливается на предпросмотре, пока вы не передадите
--yes. - Слияние, а не замена. Записи памяти проверяются на дубли по вашему текущему
MEMORY.md, шаблоны разрешений и запретов подмешиваются к тому, что уже лежит вconfig.yaml. - Конфликты по умолчанию пропускаются. MCP-сервер или навык с таким же именем уже есть в Hermes — он попадёт в отчёт как конфликт. Нужна замена — передайте
--overwrite. - Кривой файл не рушит всю операцию. Сломанный
settings.jsonилиconfig.tomlпревратится в ошибку по конкретному пункту, остальное импортируется как ни в чём не бывало. - Переезжаете с OpenClaw? Тогда вам к
hermes claw migrate.
Поддержание импорта в актуальном состоянии
Каждый успешный импорт регистрирует свой источник (и дайджест всего, что прочитал) в ~/.hermes/import-sync.json. Когда настройки другого агента позже меняются — новые навыки, отредактированные CLAUDE.md/AGENTS.md, добавленные MCP-серверы, — подтяните изменения командой:
hermes import-agent --sync # заново импортировать каждый изменившийся источник
hermes import-agent --sync --dry-run # показать, что сделала бы синхронизация
Синхронизация не задаёт вопросов и стоит дёшево: источники, чьи файлы не изменились, пропускаются по сравнению дайджестов, так что её спокойно можно гонять по расписанию (например, ежедневной задачей cron). Правила:
- Слияние памяти и конфига остаётся дедуплицирующим — синхронизация никогда не продублирует записи или паттерны, которые у вас уже есть.
- Навыки, ранее импортированные
import-agent, обновляются на месте, когда меняется копия в источнике. - Навыки, которые вы сами создали или изменили в категории импорта, никогда не затираются — для них действуют обычные правила конфликтов (при ручном запуске
--overwriteпринудительно перезапишет). - Файлы учётных данных синхронизацию не запускают — обновления токенов в
~/.claude/.credentials.jsonили~/.codex/auth.jsonдайджест игнорирует, а секреты по-прежнему вырезаются из всего импортированного.
Это повторяет автоматические обновления Settings > Import в ChatGPT Work, только в виде явной, проверяемой команды, а не фонового сервиса.
Манифест ведётся на каждый профиль. Профиль, созданный через hermes profile create <name> --clone --sync-imports, забирает его с собой, так что hermes -p <name> import-agent --sync продолжает тянуть из тех же внешних деревьев (см. Профили).