Chuyển tới nội dung chính

Di chuyển từ OpenClaw

hermes claw migrate nhập thiết lập OpenClaw (hoặc Clawdbot/Moldbot cũ) của bạn vào Hermes. Hướng dẫn này trình bày chính xác những gì sẽ được di chuyển, ánh xạ khóa cấu hình và những gì cần xác minh sau khi di chuyển.

Bắt đầu nhanh

# Preview what would happen (no files changed)
hermes claw migrate --dry-run

# Run the migration (secrets excluded by default)
hermes claw migrate

# Full migration including API keys
hermes claw migrate --preset full

Quá trình di chuyển đọc từ ~/.openclaw/ theo mặc định. Nếu bạn vẫn có thư mục ~/.clawdbot/ hoặc ~/.moldbot/ cũ thì nó sẽ tự động được phát hiện. Tương tự đối với tên tệp cấu hình cũ ( clawdbot.json , moldbot.json ).

Tùy chọn

Tùy chọnMô tả
--dry-runXem trước những gì sẽ được di chuyển mà không cần viết bất cứ điều gì.
--preset <name>full (mặc định, bao gồm bí mật) hoặc user-data (không bao gồm khóa API).
--overwriteGhi đè các tệp Hermes hiện có khi có xung đột (mặc định: bỏ qua).
--migrate-secretsBao gồm các khóa API (được bật theo mặc định với --preset full ).
--source <path>Thư mục OpenClaw tùy chỉnh.
--workspace-target <path>Nơi đặt AGENTS.md .
--skill-conflict <mode>skip (mặc định), overwrite hoặc rename .
--yesBỏ qua lời nhắc xác nhận.

Những gì được di chuyển

Persona, bộ nhớ và hướng dẫn

Cái gìNguồn OpenClawĐiểm đến HermesGhi chú
Nhân cáchworkspace/SOUL.md~/.hermes/SOUL.mdSao chép trực tiếp
Hướng dẫn về không gian làm việcworkspace/AGENTS.mdAGENTS.md trong --workspace-targetYêu cầu cờ --workspace-target
Trí nhớ dài hạnworkspace/MEMORY.md~/.hermes/memories/MEMORY.mdĐược phân tích cú pháp thành các mục, hợp nhất với hiện có, loại bỏ. Sử dụng dấu phân cách §.
Hồ sơ người dùngworkspace/USER.md~/.hermes/memories/USER.mdLogic hợp nhất mục nhập tương tự như bộ nhớ.
Tập tin bộ nhớ hàng ngàyworkspace/memory/*.md~/.hermes/memories/MEMORY.mdTất cả các tập tin hàng ngày được sáp nhập vào bộ nhớ chính.

Tất cả các tệp không gian làm việc cũng kiểm tra workspace.default/ làm đường dẫn dự phòng.

Kỹ năng (4 nguồn)

NguồnVị trí OpenClawĐiểm đến Hermes
Kỹ năng không gian làm việcworkspace/skills/~/.hermes/skills/openclaw-imports/
Kỹ năng quản lý/chia sẻ~/.openclaw/skills/~/.hermes/skills/openclaw-imports/
Dự án chéo cá nhân~/.agents/skills/~/.hermes/skills/openclaw-imports/
Chia sẻ cấp dự ánworkspace/.agents/skills/~/.hermes/skills/openclaw-imports/

Xung đột kỹ năng được xử lý bởi --skill-conflict : skip rời khỏi kỹ năng Hermes hiện có, overwrite thay thế nó, rename tạo bản sao -imported.

Cấu hình mô hình và nhà cung cấp

Cái gìĐường dẫn cấu hình OpenClawĐiểm đến HermesGhi chú
Mô hình mặc địnhagents.defaults.modelconfig.yamlmodelCó thể là một chuỗi hoặc đối tượng {primary, fallbacks}
Nhà cung cấp tùy chỉnhmodels.providers.*config.yamlcustom_providersBản đồ baseUrl , apiType ("openai"→"chat_completions", "anthropic"→"anthropic_messages")
Khóa API của nhà cung cấpmodels.providers.*.apiKey~/.hermes/.envYêu cầu --migrate-secrets . Xem độ phân giải khóa API bên dưới.

Hành vi của đại lý

| Cái gì | Đường dẫn cấu hình OpenClaw | Đường dẫn cấu hình Hermes

| Lập bản đồ | |------|----------------------|-------------------|--------| | Lượt quay tối đa | agents.defaults.timeoutSeconds | agent.max_turns | timeoutSeconds / 10 , giới hạn ở mức 200 | | Chế độ dài dòng | agents.defaults.verboseDefault | agent.verbose | "tắt" / "bật" / "đầy" | | Nỗ lực lý luận | agents.defaults.thinkingDefault | agent.reasoning_effort | "luôn luôn"/"cao" → "cao", "tự động"/"trung bình" → "trung bình", "tắt"/"thấp"/"không"/"tối thiểu" → "thấp" | | Nén | agents.defaults.compaction.mode | compression.enabled | "tắt" → sai, bất cứ điều gì khác → đúng | | Mô hình nén | agents.defaults.compaction.model | compression.summary_model | Sao chép chuỗi trực tiếp | | Sự chậm trễ của con người | agents.defaults.humanDelay.mode | human_delay.mode | "tự nhiên" / "tùy chỉnh" / "tắt" | | Thời gian trễ của con người | agents.defaults.humanDelay.minMs / .maxMs | human_delay.min_ms / .max_ms | Sao chép trực tiếp | | Múi giờ | agents.defaults.userTimezone | timezone | Sao chép chuỗi trực tiếp | | Thời gian chờ thực thi | tools.exec.timeoutSec | terminal.timeout | Sao chép trực tiếp (trường là timeoutSec , không phải timeout ) | | Hộp cát Docker | agents.defaults.sandbox.backend | terminal.backend | "docker" → "docker" | | Hình ảnh Docker | agents.defaults.sandbox.docker.image | terminal.docker_image | Sao chép trực tiếp |

Chính sách đặt lại phiên

Đường dẫn cấu hình OpenClawĐường dẫn cấu hình HermesGhi chú
session.reset.modesession_reset.mode"hàng ngày", "nhàn rỗi" hoặc cả hai
session.reset.atHoursession_reset.at_hourGiờ (0–23) để đặt lại hàng ngày
session.reset.idleMinutessession_reset.idle_minutesPhút không hoạt động

Lưu ý: OpenClaw cũng có session.resetTriggers (một mảng chuỗi đơn giản như ["daily", "idle"] ). Nếu không có cấu trúc session.reset thì quá trình di chuyển sẽ quay lại suy luận từ resetTriggers .

máy chủ MCP

Trường OpenClawCánh đồng HermesGhi chú
mcp.servers.*.commandmcp_servers.*.commandVận tải Stdio
mcp.servers.*.argsmcp_servers.*.args
mcp.servers.*.envmcp_servers.*.env
mcp.servers.*.cwdmcp_servers.*.cwd
mcp.servers.*.urlmcp_servers.*.urlVận chuyển HTTP/SSE
mcp.servers.*.tools.includemcp_servers.*.tools.includeLọc công cụ
mcp.servers.*.tools.excludemcp_servers.*.tools.exclude

TTS (chuyển văn bản thành giọng nói)

Cài đặt TTS được đọc từ hai vị trí cấu hình OpenClaw với mức độ ưu tiên sau:

  1. messages.tts.providers.{provider}.* (vị trí chuẩn)
  2. Cấp cao nhất talk.providers.{provider}.* (dự phòng)
  3. Phím phẳng kế thừa messages.tts.{provider}.* (định dạng cũ nhất)
Cái gìĐiểm đến Hermes
Tên nhà cung cấpconfig.yamltts.provider
ID giọng nói ElevenLabsconfig.yamltts.elevenlabs.voice_id
ID mô hình ElevenLabsconfig.yamltts.elevenlabs.model_id
Mô hình OpenAIconfig.yamltts.openai.model
Giọng nói OpenAIconfig.yamltts.openai.voice
Giọng nói Edge TTSconfig.yamltts.edge.voice
Tài sản TTS~/.hermes/tts/ (bản sao tệp)

Nền tảng nhắn tin

| Nền tảng | Đường dẫn cấu hình OpenClaw | Biến Hermes .env

| Ghi chú | |----------|----------------------|----------------------|-------| | Điện tín | channels.telegram.botToken | TELEGRAM_BOT_TOKEN | Mã thông báo có thể là chuỗi hoặc SecretRef | | Điện tín | credentials/telegram-default-allowFrom.json | TELEGRAM_ALLOWED_USERS | Được nối bằng dấu phẩy từ mảng allowFrom[] | | Bất hòa | channels.discord.token | DISCORD_BOT_TOKEN | | | Bất hòa | channels.discord.allowFrom | DISCORD_ALLOWED_USERS | | | Chần chừ | channels.slack.botToken | SLACK_BOT_TOKEN | | | Chần chừ | channels.slack.appToken | SLACK_APP_TOKEN | | | Chần chừ | channels.slack.allowFrom | SLACK_ALLOWED_USERS | | | WhatsApp | channels.whatsapp.allowFrom | WHATSAPP_ALLOWED_USERS | Xác thực thông qua ghép nối Baileys QR (không phải mã thông báo) | | Tín hiệu | channels.signal.account | SIGNAL_ACCOUNT | | | Tín hiệu | channels.signal.httpUrl | SIGNAL_HTTP_URL | | | Tín hiệu | channels.signal.allowFrom | SIGNAL_ALLOWED_USERS | | | Ma trận | channels.matrix.botToken | MATRIX_ACCESS_TOKEN | Thông qua di chuyển kênh sâu | | Quan trọng nhất | channels.mattermost.botToken | MATTERMOST_BOT_TOKEN | Thông qua di chuyển kênh sâu |

Cấu hình khác

Cái gìĐường dẫn OpenClawCon đường HermesGhi chú
Chế độ phê duyệtapprovals.exec.modeconfig.yamlapprovals.mode"tự động"→"tắt", "luôn luôn"→"thủ công", "thông minh"→"thông minh"
Danh sách cho phép lệnhexec-approvals.jsonconfig.yamlcommand_allowlistCác mẫu được hợp nhất và loại bỏ
URL CDP của trình duyệtbrowser.cdpUrlconfig.yamlbrowser.cdp_url
Trình duyệt không đầubrowser.headlessconfig.yamlbrowser.headless
Phím tìm kiếm dũng cảmtools.web.search.brave.apiKey.envBRAVE_API_KEYYêu cầu --migrate-secrets
Mã thông báo xác thực cổnggateway.auth.token.envHERMES_GATEWAY_TOKENYêu cầu --migrate-secrets
Thư mục làm việcagents.defaults.workspace.envMESSAGING_CWD

Đã lưu trữ (không có tương đương trực tiếp với Hermes)

Chúng được lưu vào ~/.hermes/migration/openclaw/<timestamp>/archive/ để xem xét thủ công:

Cái gìLưu trữ tập tinCách tái tạo trong Hermes
IDENTITY.mdarchive/workspace/IDENTITY.mdHợp nhất vào SOUL.md
TOOLS.mdarchive/workspace/TOOLS.mdHermes có hướng dẫn sử dụng công cụ tích hợp
HEARTBEAT.mdarchive/workspace/HEARTBEAT.mdSử dụng cron jobs cho các tác vụ định kỳ
BOOTSTRAP.mdarchive/workspace/BOOTSTRAP.mdSử dụng các tệp hoặc kỹ năng ngữ cảnh
Công việc định kỳarchive/cron-config.jsonTạo lại bằng hermes cron create
Pluginarchive/plugins-config.jsonXem hướng dẫn plugin
Móc/webhooksarchive/hooks-config.jsonSử dụng hermes webhook hoặc móc cổng
Phụ trợ bộ nhớarchive/memory-backend-config.jsonĐịnh cấu hình qua hermes honcho
Đăng ký kỹ năngarchive/skills-registry-config.jsonSử dụng hermes skills config
Giao diện người dùng/danh tínharchive/ui-identity-config.jsonSử dụng lệnh /skin
Ghi nhật kýarchive/logging-diagnostics-config.jsonĐặt trong phần ghi nhật ký config.yaml
Danh sách đa đại lýarchive/agents-list.jsonSử dụng hồ sơ Hermes
Ràng buộc kênharchive/bindings.jsonThiết lập thủ công cho mỗi nền tảng
Kênh phức tạparchive/channels-deep-config.jsonCấu hình nền tảng thủ công

Độ phân giải khóa API

Khi --migrate-secrets được bật, khóa API sẽ được thu thập từ ba nguồn theo thứ tự ưu tiên:1. Giá trị cấu hìnhmodels.providers.*.apiKey và khóa nhà cung cấp TTS trong openclaw.json 2. Tệp môi trường~/.openclaw/.env (các khóa như OPENROUTER_API_KEY , ANTHROPIC_API_KEY , v.v.) 3. Hồ sơ xác thực~/.openclaw/agents/main/agent/auth-profiles.json (thông tin xác thực cho mỗi tác nhân)

Giá trị cấu hình được ưu tiên. .env lấp đầy mọi khoảng trống. Hồ sơ xác thực điền vào những gì còn lại.

Các mục tiêu chính được hỗ trợ

OPENROUTER_API_KEY , OPENAI_API_KEY , ANTHROPIC_API_KEY , DEEPSEEK_API_KEY , GEMINI_API_KEY , ZAI_API_KEY , MINIMAX_API_KEY , ELEVENLABS_API_KEY , TELEGRAM_BOT_TOKEN , VOICE_TOOLS_OPENAI_KEY

Các khóa không có trong danh sách cho phép này sẽ không bao giờ được sao chép.

Xử lý SecretRef

Giá trị cấu hình OpenClaw cho mã thông báo và khóa API có thể ở ba định dạng:

// Plain string
"channels": { "telegram": { "botToken": "123456:ABC-DEF..." } }

// Environment template
"channels": { "telegram": { "botToken": "${TELEGRAM_BOT_TOKEN}" } }

// SecretRef object
"channels": { "telegram": { "botToken": { "source": "env", "id": "TELEGRAM_BOT_TOKEN" } } }

Quá trình di chuyển giải quyết cả ba định dạng. Đối với các mẫu env và đối tượng SecretRef có source: "env" , nó sẽ tra cứu giá trị trong ~/.openclaw/.env . Không thể tự động giải quyết các đối tượng SecretRef có source: "file" hoặc source: "exec" — những giá trị đó phải được thêm vào Hermes theo cách thủ công sau khi di chuyển.

Sau khi di chuyển

  1. Kiểm tra báo cáo di chuyển — được in khi hoàn thành với số lượng mục đã di chuyển, bị bỏ qua và xung đột.

  2. Xem lại các tệp đã lưu trữ — mọi nội dung trong ~/.hermes/migration/openclaw/<timestamp>/archive/ đều cần được xử lý thủ công.

  3. Xác minh khóa API — chạy hermes status để kiểm tra xác thực nhà cung cấp.

  4. Kiểm tra tin nhắn — nếu bạn đã di chuyển mã thông báo nền tảng, hãy khởi động lại cổng: systemctl --user restart hermes-gateway

  5. Kiểm tra chính sách phiên — xác minh hermes config get session_reset phù hợp với mong đợi của bạn.

  6. Ghép nối lại WhatsApp — WhatsApp sử dụng ghép nối mã QR (Bailey), không phải di chuyển mã thông báo. Chạy hermes whatsapp để ghép nối.

Khắc phục sự cố

"Không tìm thấy thư mục OpenClaw"

Quá trình di chuyển sẽ kiểm tra ~/.openclaw/ , sau đó ~/.clawdbot/ , sau đó ~/.moldbot/ . Nếu cài đặt của bạn ở nơi khác, hãy sử dụng --source /path/to/your/openclaw .

"Không tìm thấy khóa API của nhà cung cấp"

Khóa có thể nằm trong tệp .env của bạn thay vì openclaw.json . Quá trình di chuyển sẽ kiểm tra cả hai - đảm bảo ~/.openclaw/.env tồn tại và có khóa. Nếu khóa sử dụng source: "file" hoặc source: "exec" SecretRefs thì chúng không thể được giải quyết tự động.

Kỹ năng không xuất hiện sau khi di chuyển

Kỹ năng nhập khẩu có mặt tại ~/.hermes/skills/openclaw-imports/ . Bắt đầu phiên mới để chúng có hiệu lực hoặc chạy /skills để xác minh rằng chúng đã được tải.

Giọng nói TTS chưa được di chuyển

OpenClaw lưu trữ cài đặt TTS ở hai nơi: messages.tts.providers.* và cấu hình talk cấp cao nhất. Việc di chuyển kiểm tra cả hai. Nếu ID giọng nói của bạn được đặt qua Giao diện người dùng OpenClaw (được lưu trữ trong một đường dẫn khác), bạn có thể cần đặt ID đó theo cách thủ công: hermes config set tts.elevenlabs.voice_id YOUR_VOICE_ID .