오픈클로에서 이전
출처: 해커 뉴스
hermes claw migrate 은 OpenClaw(또는 레거시 Clawdbot/Moldbot) 설정을 Hermes로 가져옵니다. 이 가이드는 정확히 어떤 내용이 마이그레이션되는지, 설정 키 매핑 및 마이그레이션 후 확인 사항을 다룹니다.
tip
OpenClaw 설정이 다중 제공자라면, hermes setup --portal 은 이를 하나의 OAuth로 압축합니다 — 300개 이상의 모델과 도구 게이트웨이를 한 번에 로그인할 수 있게 합니다. 자세한 내용은 Nous Portal.
빠른 시작
# 미리 보기 후 마이그레이션 (먼저 미리보기를 표시하고 확인을 요청함)
hermes claw migrate
# 미리보기만, 변경 없음
hermes claw migrate --dry-run
# API 키 포함 전체 마이그레이션, 확인 생략
hermes claw migrate --preset full --migrate-secrets --yes
마이그레이션은 적용하기 전, 가져올 내용의 전체 미리보기를 항상 표시합니다. 목록을 검토한 후 확인해 주세요.
기본적으로 ~/.openclaw/에서 읽습니다. 레거시 ~/.clawdbot/ 또는 ~/.moltbot/ 디렉터리는 자동으로 감지됩니다. 기존 설정 파일명(clawdbot.json, moltbot.json)도 동일하게 처리됩니다.
옵션
--dry-run: 미리보기만 — 마이그레이션할 내용이 표시된 후 즉시 종료됩니다.--preset full또는user-data: 모든 호환 설정(full)을 적용하거나 인프라 설정을 제외한 사용자 데이터(user-data). 기본적으로는 비밀번호를 가져오지 않으며, 명시적으로--migrate-secrets를 전달해야 합니다.--overwrite: 충돌 시 기존 Hermes 파일을 덮어씁니다(기본값: 계획에 충돌이 있으면 적용을 거부).--migrate-secrets: API 키 포함.--preset full에서도 필요하며, 어느 preset도 비밀번호를 자동으로 가져오지 않습니다.--no-backup: 사전 마이그레이션 zip 스냅샷(~/.hermes/) 생성을 건너뜁니다(기본값은 적용 전~/.hermes/backups/pre-migration-*.zip에 복구 포인트 아카이브를 작성하며,hermes import로 복원 가능).--source: 사용자 지정 OpenClaw 디렉터리.--workspace-target:AGENTS.md를 배치할 위치.--skill-conflict skip|overwrite|rename: 기존 Hermes 기술 충돌 처리 방식(기본값:skip).skip는 기존 기술을 그대로 두고,overwrite는 덮어씁니다,rename은-imported복사본을 생성합니다.--yes: 미리보기 후 확인 프롬프트를 건너뜁니다.
마이그레이션되는 내용
Persona, 메모리 및 지시문
OpenClaw 원본 → Hermes 목적지 → 메모
- Persona
workspace/SOUL.md``~/.hermes/SOUL.md직접 복사 - Workspace instructions
workspace/AGENTS.md``AGENTS.md에--workspace-target플래그 필요 - 장시간 메모
workspace/MEMORY.md``~/.hermes/memories/MEMORY.md항목으로 파싱되고, 기존 내용과 병합 후 중복 제거됩니다.§구분자를 사용합니다. - 사용자 프로필
workspace/USER.md``~/.hermes/memories/USER.md메모와 동일한 항목 병합 로직 적용 - 일일 메모 파일
workspace/memory/*.md``~/.hermes/memories/MEMORY.md모든 일일 파일이 메인 메모에 병합됩니다.
워크스페이스 파일은 또한 workspace.default/와 workspace-main/을 폴백 경로로 확인합니다(최근 OpenClaw 버전에서는 workspace/가 workspace-main/로 이름이 변경되었고, 다중 에이전트 설정을 위해 workspace-{agentId}를 사용합니다).
기술 (4가지 소스)
- Managed/shared skills: OpenClaw 위치
workspace/skills/→ Hermes 목적지~/.hermes/skills/openclaw-imports/(공유 기술) - Personal cross-project: OpenClaw 위치
~/.openclaw/skills/→ Hermes 목적지~/.hermes/skills/openclaw-imports/(프로젝트 간 개인 기술) - Project-level shared: OpenClaw 위치
~/.agents/skills/→ Hermes 목적지~/.hermes/skills/openclaw-imports/(프로젝트 수준 공유 기술) - Workspace .agents skills: OpenClaw 위치
workspace/.agents/skills/→ Hermes 목적지~/.hermes/skills/openclaw-imports/(워크스페이스 에이전트 기술)
기술 충돌은 --skill-conflict 옵션으로 처리됩니다: skip(기본값), overwrite, 또는 rename.
모델 및 제공자 설정
OpenClaw 설정 파일 경로 → Hermes 설정 파일 매핑, 최대 회전 수
- 기본 모델
agents.defaults.model``config.yaml→model: 문자열이거나{primary, fallbacks}객체. - 커스텀 제공자
models.providers.*``config.yaml→custom_providers: baseUrl, apiType/api 매핑 — “openai”, “anthropic” 와 같이 짧은 값과 “openai-completions”, “anthropic-messages”, “google-generative-ai” 와 같이 하이픈형 값 모두 지원. - 제공자 API 키
models.providers.*.apiKey``~/.hermes/.env:--migrate-secrets필요. 아래 API 키 해결 참고.
에이전트 동작
OpenClaw 설정 파일 경로 → Hermes 설정 파일 매핑, 최대 회전 수
timeoutSeconds / 10, 최대 200 (capped)- 자세 모드:
agents.defaults.verboseDefault,agent.verbose- “off”, “on”, “full”. - 추론 노력:
agents.defaults.thinkingDefault,agent.reasoning_effort- “always”/“high”/“xhigh” → “high”, “auto”/“medium”/“adaptive” → “medium”, “off”/“low”/“none”/“minimal” → “low”. - 압축:
agents.defaults.compaction.mode,compression.enabled- “off” → false, 그 외 → true. - 압축 모델:
agents.defaults.compaction.model,compression.summary_model. - 인간 지연:
agents.defaults.humanDelay.mode,human_delay.mode- “자연”, “사용자 정의”, “끔”. - 인간 지연 시간:
agents.defaults.humanDelay.minMs,.maxMs,human_delay.min_ms,.max_ms. - 직접 복사
- 타임존:
agents.defaults.userTimezone,timezone- 직접 문자열. - 실행 타임아웃 (필드 이름은
timeoutSec):tools.exec.timeoutSec,terminal.timeout. - Docker 샌드박스:
agents.defaults.sandbox.backend,terminal.backend- “docker” → “docker”. - Docker 이미지:
agents.defaults.sandbox.docker.image,terminal.docker_image- 직접 복사.
세션 재설정 정책
OpenClaw 설정 파일 경로 → Hermes 설정 파일 메모
session.reset.mode: “daily”, “idle”, 또는 둘 다session.Reset.atHour: 일일 재설정 시 시간 (0–23)session.Reset.idleMinutes: 비활동 기간(분)
참고: OpenClaw에도 session.resetTriggers가 있으며, [“daily”, “idle”]와 같은 간단한 문자열 배열을 사용합니다. 구조화된 session.reset이 없으면 resetTriggers를 기반으로 추론합니다.
MCP 서버
OpenClaw 필드 → Hermes 필드 메모
mcp.servers.*.command→mcp_servers.*.command- stdio 전송:
mcp.servers.*.args→mcp_servers.*.args - env 전송:
mcp.servers.*.env→mcp_servers.*.env - cwd 전송:
mcp.servers.*.cwd→mcp_servers.*.cwd - URL 전송:
mcp.servers.*.url→mcp_servers.*.url - HTTP/SSE 전송:
mcp.servers.*.tools.include→mcp_servers.*.tools.include - 도구 필터링:
mcp.servers.*.tools.exclude→mcp_servers.*.tools.exclude
TTS (텍스트-음성 변환)
TTS 설정은 다음 우선 순위에서 OpenClaw 설정 파일 두 곳에서 읽힙니다:
messages.tts.providers.{provider}.*(기본 위치)- 최상위 수준
talk.providers.{provider}.*(백업) - 레거시 평면 키
messages.tts.{provider}.*(가장 오래된 형식)
WhatHermes 목적지Provider 이름config.yaml → tts.providerElevenLabs voice IDconfig.yaml → tts.elevenlabs.voice_idElevenLabs 모델 IDconfig.yaml → tts.elevenlabs.model_idOpenAI 모델config.yaml → tts.openai.modelOpenAI voiceconfig.yaml → tts.openai.voiceEdge TTS voiceconfig.yaml → tts.edge.voice (OpenClaw은 “edge”를 “microsoft”로 바꿨으며, 둘 다 인식됩니다)TTS 자산~/.hermes/tts/ (파일 복사)
메시징 플랫폼
플랫폼OpenClaw 설정 파일 경로 → Hermes .env 변수 메모
- Telegram:
channels.telegram.botToken또는accounts.default.botToken,.env변수TELEGRAM_BOT_TOKEN. 토큰은 문자열이거나 SecretRef일 수 있음. 평면 및 accounts 레이아웃 모두 지원. - Telegram (allowed users):
credentials/telegram-default-allowFrom.json,.env변수TELEGRAM_ALLOWED_USERS.allowFrom[]배열에서 콤마로 구분됨. - Discord:
channels.discord.token또는accounts.default.token,.env변수DISCORD_BOT_TOKEN. Discordchannels.discord.allowFrom또는accounts.default.allowFrom,.env변수DISCORD_ALLOWED_USERS. - Slack:
channels.slack.botToken또는accounts.default.botToken,.env변수SLACK_BOT_TOKEN. Slackchannels.slack.appToken또는accounts.default.appToken,.env변수SLACK_APP_TOKEN. Slackchannels.slack.allowFrom또는accounts.default.allowFrom,.env변수SLACK_ALLOWED_USERS. - WhatsApp:
channels.whatsapp.allowFrom또는accounts.default.allowFrom,.env변수WHATSAPP_ALLOWED_USERS. Baileys QR 페어링을 통한 인증 — 마이그레이션 후 다시 페어링해야 함.