我把 OpenClaw 的 Agent 無縫遷移到了 Hermes——就靠這一份 Skill
整理版優先睇
從 OpenClaw 到 Hermes:一份完整 Skill 實現無縫遷移
呢篇文章係由嬌姐寫嘅,佢係一位 40+ IT 從業者,前榮耀員工,而家專注 AI 效率工具研究同實踐。佢喺 OpenClaw 上跑咗好多 Agent 處理業務,但睇中 Hermes 嘅會話壓縮、自動記憶同 checkpoint 機制,尤其係 Hermes 可以持續自我優化——自動更新 MEMORY.md、自動生成 Skill 同自動優化 Skill,所以決定遷移過去。
嬌姐經過實戰整理咗一份完整嘅 10 步遷移 Skill,幾乎做到零改動。步驟包括讀源碼摸清依賴、創建 profile 目錄、設定 config.yaml 同 .env、複製腳本、創建 SOUL.md(最關鍵,必須硬編碼絕對路徑),同埋 MEMORY.md、USER.md、SKILL.md,最後驗證測試。佢仲記錄咗多個踩坑位,例如 agent 會跑返去 OpenClaw 路徑、WSL 冇 python 要用 python3、UTF-8 BOM 問題、$WORKSPACE 變量唔展開、外部服務連接失敗、Feishu API 403 等。
整體結論係呢份 Skill 可以令遷移過程順暢好多,幫大家少踩坑,直接複用即可。
- Hermes 嘅自動記憶同 Skill 優化機制係最值得遷移嘅原因。
- 呢份 10 步遷移 Skill 幾乎可以零改動直接複用,包括配置環境、複製腳本、建立 SOUL.md 等。
- 關鍵差異在於 OpenClaw 同 Hermes 對路徑嘅處理:必須用硬編碼絕對路徑,避免使用 $WORKSPACE 變量。
- 遷移嘅啟發:SOUL.md 同 MEMORY.md 雙重指定工作目錄係防止 Agent 跑錯路徑嘅保險。
- 可行動點:直接複製文中嘅 Skill 步驟執行,並留意踩坑記錄中嘅常見錯誤。
點解要搬去 Hermes?
嬌姐喺 OpenClaw 上跑咗好多 Agent,處理各種業務工作流。不過佢發現 Hermes 嘅會話壓縮、自動記憶同 checkpoint 機制更完善,尤其係 Hermes 可以持續自我優化。
Hermes 會持續自我優化,包括自動更新 MEMORY.md、自動生成 Skill 同自動優化 Skill。呢個係最值得遷移嘅理由之一。
佢親眼見到 Hermes 喺執行任務過程中不斷更新同迭代 Skill,令佢決定將 OpenClaw 嘅 Agent 搬過嚟。
10 步無縫遷移 Skill
以下係佢整理嘅完整 Skill,幾乎可以零改動複製使用。重點係要確保 SOUL.md 包含強制工作目錄,否則 Agent 會自己亂估計路徑。
- 1 Step 1:讀源碼,摸清依賴。必讀 SOUL.md、MEMORY.md、USER.md 同 scripts/runtime_config.py。重點檢查 runtime_config.py 讀咗邊啲環境變量同外部服務。
- 2 Step 2:創建 profile 目錄。執行 mkdir -p ~/.hermes/profiles/$AGENT/{memories,skills/$AGENT,workspace,sessions,logs,cron}。
- 3 Step 3:創建 config.yaml。設定 model、agent、memory、compression、checkpoints、terminal 等參數,注意 terminal.cwd 只係默認提示,實際要用硬編碼。
- 4 Step 4:創建 .env。放入 LLM API 密鑰、OpenClaw 設定路徑、飛書憑證等敏感資訊。
- 5 Step 5:複製腳本到 Hermes workspace。用 rsync 將 scripts 同 data 目錄複製過去,保留相對路徑結構即可零改動。
- 6 Step 6:創建 SOUL.md(最關鍵)。必須包含「工作目錄(強制)」章節,用硬編碼絕對路徑指定 workspace,否則 Agent 會跑返去 OpenClaw 路徑。
- 7 Step 7:創建 memories/MEMORY.md。提煉原 MEMORY.md,保留架構決策、已知 bug 同配置原則,丟棄日期流水賬。同樣要加入工作目錄聲明做雙重保險。
- 8 Step 8:創建 memories/USER.md。包含主要用戶信息、典型任務同偏好,字符上限 1375。
model:
default: "<your-model>"
provider: "auto"
base_url: "<api-endpoint>"
api_mode: "chat_completions"
agent:
max_turns: 90
context_tokens: 50000
reasoning_effort: "none"
memory:
memory_enabled: true
user_profile_enabled: true
compression:
enabled: true
threshold: 0.50
protect_last_n: 20
checkpoints:
enabled: true
max_snapshots: 50
terminal:
cwd: "/home/<user>/.hermes/..."
踩坑記錄同注意事項
- agent 跑回 OpenClaw 路徑:因為 SOUL.md 缺少強制工作目錄章節。解決:Step 6 加「工作目錄(強制)」章節,硬編碼絕對路徑。
- python: command not found:WSL 冇 python 命令。解決:所有命令統一改為 python3。
- Unexpected UTF-8 BOM:openclaw.json 帶 BOM 導致解析失敗。解決:.env 加 OPENCLAW_CONFIG 指向無 BOM 副本。
- $WORKSPACE 變量不展開:Agent 喺獨立 shell 執行冇變量上下文。解決:用硬編碼絕對路徑,唔用 shell 變量。
- 外部服務連接失敗:Docker 服務喺 Windows,WSL 訪問 localhost 唔通。解決:Windows 側先執行 docker start <container>。
- Feishu API 403:複用了其他 agent 嘅憑證。解決:每個 agent 獨立 app_id/secret,放各自 .env。
最常見嘅錯誤係 SOUL.md 漏咗工作目錄章節,令 Agent 跑錯路徑。
先關注後閲讀,嬌姐怕失去上進的你
文末嬌姐整理openclaw所有文章連結
想了解嬌姐點擊文末連結
在 OpenClaw 上跑了很多個 agent,處理各種業務工作流。Hermes 的會話壓縮、自動記憶和 checkpoint 機制更完善,一直想遷過去。
這是最值得遷移的理由之一——Hermes 會持續自我優化:
① 自動更新 MEMORY.md
agent 發現新規則會自己寫入記憶,跨 session 生效。
② 自動生成 Skill
讓 agent 執行新任務,它會自動生成對應 SKILL.md 並保存。
③ 自動優化 Skill
執行失敗後,agent 會改進工作流並更新 skill。
在hermes真的看到執行任務過程不斷在更新和迭代skill

【不推薦用官方命令】Windows 環境下安裝Hermes及遷移Openclaw的實操分享
這個文章中的遷移命令執行完之後,有些瑕疵優化後,我輸出了這個完整的skill分享給大家參考,可以提高遷移的效率和質量。
把完整路徑整理成了下面這份 Skill,直接複用即可,基本能做到零改動。

遷移完成後,可以讓hermes自己證明自己的核心優勢能力並打分。

如下是skill原文,直接複製即可用:
Step 1:讀源碼,摸清依賴
必讀文件:
workspaces/<agent>/SOUL.md
workspaces/<agent>/MEMORY.md
workspaces/<agent>/USER.md
workspaces/<agent>/scripts/
runtime_config.py
← 憑證讀取邏輯(必讀)
重點檢查 runtime_config.py:讀了哪些環境變量(全部放進 .env)、依賴哪些外部服務(確認連通性)。路徑用 Path(__file__) 相對路徑的腳本複製後自動適應,無需修改。
Step 2:創建 profile 目錄
AGENT=<your-agent-name>
mkdir -p ~/.hermes/profiles/$AGENT/
{memories,skills/$AGENT,
workspace,sessions,logs,cron}
Step 3:創建 config.yaml
YAML
model:
default: "<your-model>"
provider: "auto"
base_url: "<api-endpoint>"
api_mode: "chat_completions"
agent:
max_turns: 90
context_tokens: 50000
reasoning_effort: "none"
memory:
memory_enabled: true
user_profile_enabled: true
compression:
enabled: true
threshold: 0.50
protect_last_n: 20
checkpoints:
enabled: true
max_snapshots: 50
terminal:
cwd: "/home/<user>/.hermes/..."
注意:
terminal.cwd只是默認提示,agent 執行命令時不會自動繼承——必須在 SOUL.md 和 SKILL.md 裏用硬編碼絕對路徑(見 Step 6)。
Step 4:創建 .env
Shell
# !! 含敏感信息,不提交版本控制 !!
# LLM
OPENAI_API_KEY=<your-key>
OPENAI_BASE_URL=<your-endpoint>
# OpenClaw BOM fix(必須)
OPENCLAW_CONFIG=<path>/data/
openclaw.json
# 飛書憑證
FEISHU_APP_ID=<app-id>
FEISHU_APP_SECRET=<app-secret>
FEISHU_TENANT_KEY=<tenant-key>
Step 5:複製腳本到 hermes workspace
Bash
# 腳本(排除緩存,原文件零改動)
rsync -av \
--exclude='__pycache__' \
--exclude='*.pyc' \
$SRC/scripts/ $DEST/scripts/
# 數據庫和數據文件
rsync -av $SRC/data/ $DEST/data/
# 參考文檔(如有)
[ -d $SRC/knowledge ] && \
原理:OpenClaw 腳本用
Path(__file__).parent.parent推斷根目錄,只要保持workspace/scripts/目錄結構,複製後路徑自動正確,腳本零改動。
Step 6:創建 SOUL.md(最關鍵一步)
警告:必須包含「工作目錄(強制)」章節,否則 agent 會自己推斷,大概率跑回 OpenClaw 路徑執行腳本。
SOUL.md 模板結構:
Markdown
# SOUL.md — <agent 角色名>
## 身份
- Agent ID: <agent-name>
- 角色:<一句話描述>
## 工作目錄(強制)
**所有腳本必須在以下目錄執行:**
/home/<user>/.hermes/profiles/
<agent>/workspace
## Pipeline 執行順序
# 步驟1
cd /home/<user>/.../workspace \
兩個關鍵細節:WSL 裏沒有 python 命令,統一用 python3;不要用 $WORKSPACE 變量,agent 執行時 shell 變量不展開,必須硬編碼絕對路徑。
Step 7:創建 memories/MEMORY.md
從原 MEMORY.md 提煉遷移:
- 保留:
架構決策、已知 bug 及修復、配置原則 - 丟棄:
日期流水賬、臨時 TODO、過期條目 - 必加:
文件末尾聲明強制工作目錄,字符上限 2200
為什麼要在 MEMORY.md 也聲明工作目錄?Hermes 的記憶系統會在每次對話時把 MEMORY.md 注入 system prompt——即使某次 SOUL.md 被壓縮遺忘,工作目錄約束依然生效。這是雙重保險。
Step 8:創建 memories/USER.md
包含主要用戶信息、典型任務請求、用戶偏好。從原 USER.md 遷移,空模板時從 memory 日誌推斷。字符上限 1375。
Step 9:創建 skills/<agent>/SKILL.md
每個工具一個 section,命令同樣用硬編碼絕對路徑。結構參考:
Markdown
# <skill-name>
<一句話描述>
## 工作目錄
所有腳本在以下目錄執行:
/home/<user>/...workspace
## 工具
### <tool-name>
cd /home/...workspace && python3 ...
Step 10:驗證測試
按順序執行以下命令:
Bash
# 1. profile 出現,model 正確
hermes profile list
# 2. 文件結構診斷
hermes -p <agent> doctor
# 3. 驗證工作目錄
hermes -p <agent> chat -Q \
-q "你的工作目錄是哪裏?"
# 4. 健康檢查
hermes -p <agent> chat -Q \
# 5. 完整工作流驗收
hermes -p <agent> chat
驗收標準:工作目錄回答是 hermes workspace 路徑、數據庫路徑不含 /mnt/d/openclaw/、端到端工作流跑通。
踩坑記錄
agent 跑回 OpenClaw 路徑
原因SOUL.md 缺少強制工作目錄章節,agent 自行推斷路徑
解決Step 6 加「工作目錄(強制)」章節,硬編碼絕對路徑
python: command not found
原因WSL 裏沒有 python 命令
解決所有命令統一改為 python3
Unexpected UTF-8 BOM
原因openclaw.json 帶 UTF-8 BOM,導致 JSON 解析失敗
解決.env 加 OPENCLAW_CONFIG 指向無 BOM 副本
$WORKSPACE 變量不展開
原因agent 在獨立 shell 執行,沒有變量上下文
解決用硬編碼絕對路徑,不用 shell 變量
外部服務連接失敗
原因Docker 服務在 Windows,WSL 訪問 localhost 不通
解決Windows 側先執行 docker start <container>
Feishu API 403
原因複用了其他 agent 的憑證
解決每個 agent 獨立 app_id/secret,放各自 .env
如果你也在用 OpenClaw 並有遷移 Hermes 的打算,希望這份 Skill 能幫你少踩幾個坑。有問題歡迎留言。
關於openclaw資料包和系列文章
配套資料包
私信 kekohu 獲取,內容不定期持續更新。
注意:付費社羣包含資料包全部內容,無需重複購買。
openclaw系列文章
持續更新,建議每篇認真閲讀
配置與理解
別被騙,OpenClaw 可以 24 小時幹活——但你得先做對這 6 件事
火了三個月的"龍蝦",普通人裝了真的有用嗎?
用 OpenClaw 把 AI 失憶治好:開關、精簡、外掛三步走
多 Agent 與協作
技能與工具
實戰與案例
排錯與安全
關於嬌姐
40+ IT 從業者,前榮耀員工,現專注 AI 效率工具研究與實踐。持續輸出 OpenClaw 及 AI 工具的乾貨教程與落地案例,偶爾分享職場思考與生活感悟。
提示:覺得有用,點贊、關注、轉發,是我持續創作的動力。
