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ọn | Mô tả |
|---|---|
--dry-run | Xem 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). |
--overwrite | Ghi đè các tệp Hermes hiện có khi có xung đột (mặc định: bỏ qua). |
--migrate-secrets | Bao 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 . |
--yes | Bỏ 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 Hermes | Ghi chú |
|---|---|---|---|
| Nhân cách | workspace/SOUL.md | ~/.hermes/SOUL.md | Sao chép trực tiếp |
| Hướng dẫn về không gian làm việc | workspace/AGENTS.md | AGENTS.md trong --workspace-target | Yêu cầu cờ --workspace-target |
| Trí nhớ dài hạn | workspace/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ùng | workspace/USER.md | ~/.hermes/memories/USER.md | Logic hợp nhất mục nhập tương tự như bộ nhớ. |
| Tập tin bộ nhớ hàng ngày | workspace/memory/*.md | ~/.hermes/memories/MEMORY.md | Tấ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ồn | Vị trí OpenClaw | Điểm đến Hermes |
|---|---|---|
| Kỹ năng không gian làm việc | workspace/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ự án | workspace/.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 Hermes | Ghi chú |
|---|---|---|---|
| Mô hình mặc định | agents.defaults.model | config.yaml → model | Có thể là một chuỗi hoặc đối tượng {primary, fallbacks} |
| Nhà cung cấp tùy chỉnh | models.providers.* | config.yaml → custom_providers | Bản đồ baseUrl , apiType ("openai"→"chat_completions", "anthropic"→"anthropic_messages") |
| Khóa API của nhà cung cấp | models.providers.*.apiKey | ~/.hermes/.env | Yê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 Hermes | Ghi chú |
|---|---|---|
session.reset.mode | session_reset.mode | "hàng ngày", "nhàn rỗi" hoặc cả hai |
session.reset.atHour | session_reset.at_hour | Giờ (0–23) để đặt lại hàng ngày |
session.reset.idleMinutes | session_reset.idle_minutes | Phú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 OpenClaw | Cánh đồng Hermes | Ghi chú |
|---|---|---|
mcp.servers.*.command | mcp_servers.*.command | Vận tải Stdio |
mcp.servers.*.args | mcp_servers.*.args | |
mcp.servers.*.env | mcp_servers.*.env | |
mcp.servers.*.cwd | mcp_servers.*.cwd | |
mcp.servers.*.url | mcp_servers.*.url | Vận chuyển HTTP/SSE |
mcp.servers.*.tools.include | mcp_servers.*.tools.include | Lọc công cụ |
mcp.servers.*.tools.exclude | mcp_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:
messages.tts.providers.{provider}.*(vị trí chuẩn)- Cấp cao nhất
talk.providers.{provider}.*(dự phòng) - 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ấp | config.yaml → tts.provider |
| ID giọng nói ElevenLabs | config.yaml → tts.elevenlabs.voice_id |
| ID mô hình ElevenLabs | config.yaml → tts.elevenlabs.model_id |
| Mô hình OpenAI | config.yaml → tts.openai.model |
| Giọng nói OpenAI | config.yaml → tts.openai.voice |
| Giọng nói Edge TTS | config.yaml → tts.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 OpenClaw | Con đường Hermes | Ghi chú |
|---|---|---|---|
| Chế độ phê duyệt | approvals.exec.mode | config.yaml → approvals.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ệnh | exec-approvals.json | config.yaml → command_allowlist | Các mẫu được hợp nhất và loại bỏ |
| URL CDP của trình duyệt | browser.cdpUrl | config.yaml → browser.cdp_url | |
| Trình duyệt không đầu | browser.headless | config.yaml → browser.headless | |
| Phím tìm kiếm dũng cảm | tools.web.search.brave.apiKey | .env → BRAVE_API_KEY | Yêu cầu --migrate-secrets |
| Mã thông báo xác thực cổng | gateway.auth.token | .env → HERMES_GATEWAY_TOKEN | Yêu cầu --migrate-secrets |
| Thư mục làm việc | agents.defaults.workspace | .env → MESSAGING_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 tin | Cách tái tạo trong Hermes |
|---|---|---|
IDENTITY.md | archive/workspace/IDENTITY.md | Hợp nhất vào SOUL.md |
TOOLS.md | archive/workspace/TOOLS.md | Hermes có hướng dẫn sử dụng công cụ tích hợp |
HEARTBEAT.md | archive/workspace/HEARTBEAT.md | Sử dụng cron jobs cho các tác vụ định kỳ |
BOOTSTRAP.md | archive/workspace/BOOTSTRAP.md | Sử dụng các tệp hoặc kỹ năng ngữ cảnh |
| Công việc định kỳ | archive/cron-config.json | Tạo lại bằng hermes cron create |
| Plugin | archive/plugins-config.json | Xem hướng dẫn plugin |
| Móc/webhooks | archive/hooks-config.json | Sử 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ăng | archive/skills-registry-config.json | Sử dụng hermes skills config |
| Giao diện người dùng/danh tính | archive/ui-identity-config.json | Sử 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.json | Sử dụng hồ sơ Hermes |
| Ràng buộc kênh | archive/bindings.json | Thiết lập thủ công cho mỗi nền tảng |
| Kênh phức tạp | archive/channels-deep-config.json | Cấ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ình — models.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
-
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.
-
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. -
Xác minh khóa API — chạy
hermes statusđể kiểm tra xác thực nhà cung cấp. -
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 -
Kiểm tra chính sách phiên — xác minh
hermes config get session_resetphù hợp với mong đợi của bạn. -
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 .