拆解 OpenClaw 10 | 別人在用 OpenClaw 聊天,我在養一隻會幫我談價砍單的龍蝦
整理版優先睇
本文介紹如何從零開始「養」一隻專屬的 OpenClaw 私人助理,透過配置 Markdown 文件與技能系統,將其馴化為貼合個人習慣的 AI 代理。
- 透過 SOUL.md、USER.md 等核心文件定義 Agent 的行為哲學、個人偏好與工作流程,實現真正的個性化。
- 利用 HEARTBEAT 與 Cron 定時任務,讓 Agent 具備主動監控郵件、日程及執行獨立任務的能力。
- 強調 OpenClaw 的持久化記憶機制,透過日誌與 MEMORY.md 實現跨會話的長期信息留存。
- 警示安全底線,包括限制文件權限、禁止自動發送外部通信及定期審計 Skill 列表以防範攻擊。
結構示例
## 行為準則- 回覆簡短直接,不要廢話- 涉及花錢的操作,先問我確認- 涉及對外發送信息的操作,必須先給我看草稿- 凌晨12點到早上8點之間不要主動發消息打擾我- 如果不確定我的意圖,問我,別猜## 溝通風格- 中文為主,技術術語可以用英文- 不要用emoji- 不要用"親"、"呢"這類語氣詞- 像一個靠譜的同事在跟我說話
給龍蝦灌注靈魂:核心配置文件
OpenClaw 的個性化並非開箱即用,而是需要透過一組 Markdown 文件來「馴化」。這些文件會加載到 system prompt 中,定義 Agent 的性格與行為邊界。
主動出擊:心跳與定時任務
要讓 Agent 主動幹活,需要區分 HEARTBEAT(心跳)與 Cron(定時任務)兩種機制。
HEARTBEAT 運行於主會話,具備完整上下文,適合需要智能判斷優先級的監控任務。
Cron 則默認在新開的隔離會話執行,適合「到點就幹、幹完拉倒」的獨立任務。
記憶與技能:從聊天機器人進化為助理
OpenClaw 的記憶分為日誌層(每日流水賬)與長期記憶層(MEMORY.md)。為了確保記憶可靠,建議開啟 memoryFlush 或手動編輯文件。
安全紅線:養龍蝦的防禦指南
NEVER:絕對不要給予完整文件系統權限,必須限定目錄範圍。
ALWAYS:涉及對外發送信息或支付操作,必須先顯示草稿並取得人工確認。
定期審計 Skill 權限,並確保 OpenClaw 綁定在 127.0.0.1 或透過 Tailscale 訪問,避免在公網裸奔。
💡 閲讀前記得關注+星標,及時獲取更新推送
「拆解 OpenClaw」系列第十篇,應用系列第一篇。前面九篇從收購到安全到成本到架構,把 OpenClaw 從裏到外拆了個遍。從這篇開始換個方向 -- 不拆工具了,拆用法。第一步,從零開始養一隻你自己的龍蝦。

我在 Day 5 那篇"炒作還是真革命"裏說過一句話:OpenClaw 不是某個單點能力的最優解,但在"把各種能力串起來"這件事上,目前確實沒有更好的開源方案。
問題是,怎麼串?
大部分人裝完 OpenClaw,發一條"你好",收到一條回覆,然後就不知道幹什麼了。這跟 ChatGPT 有什麼區別?
區別大了。但這個區別不是裝完就能體現的,需要你花時間去"養"。
龍蝦不是開箱即用的產品,是需要馴化的野生動物
先校準一下預期。
Claude Code 是開箱即用的。裝好,進終端,給它一個編程任務,它就開始幹活。因為 Anthropic 已經幫你把 system prompt、工具註冊、權限管理、上下文壓縮全部調好了。你不需要操心這些。
OpenClaw 不是這樣。它更像一個框架 -- 給你一個空殼子,裏面的靈魂得你自己往裏灌。你不教它你是誰、你喜歡什麼、你的工作習慣是什麼,它就只能當一個普通的聊天機器人。
但你一旦花時間教它了,它能變成一個非常貼合你的私人助理。關鍵詞是"私人" -- 它記得你三週前說的話,知道你的日程安排,瞭解你喜歡什麼風格的回覆,熟悉你工作中常用的工具和流程。
這個過程我叫"養龍蝦"。
第一步 -- 給龍蝦灌靈魂
OpenClaw 的個性化靠一組 Markdown 文件實現。這些文件在 Agent 的工作空間裏,啓動時加載到 system prompt 中。不需要重啓 -- 文件保存後下一條消息就生效。再加上 HEARTBEAT 和 Cron,就能讓 Agent 主動幹活。
幾個核心文件:
SOUL.md -- 龍蝦的"靈魂"。不是配置參數,是行為哲學。你在這裏定義它應該怎麼思考、怎麼說話、怎麼行動。比如:
## 行為準則
- 回覆簡短直接,不要廢話
- 涉及花錢的操作,先問我確認
- 涉及對外發送信息的操作,必須先給我看草稿
- 凌晨12點到早上8點之間不要主動發消息打擾我
- 如果不確定我的意圖,問我,別猜
## 溝通風格
- 中文為主,技術術語可以用英文
- 不要用emoji
- 不要用"親"、"呢"這類語氣詞
- 像一個靠譜的同事在跟我說話USER.md -- 關於你的信息。你的名字、工作、常用工具、偏好、日程規律。Agent 讀了這個文件之後就"認識你"了。
## 基本信息
- 技術架構師,十多年經驗
- 主要用 Mac,終端重度用戶
- 時區 UTC+8
## 工作習慣
- 上午 9-12 點是深度工作時間,非緊急不要打斷
- 下午適合處理郵件和溝通
- 喜歡把任務分解成小塊,逐個推進
## 技術棧
- 後端:Java / typescript / Go / Python
- 前端:Vue.js
- 常用工具:Claude Code, VS Code, DockerAGENTS.md -- 任務級指令。告訴 Agent 具體怎麼幹活。定義會話啓動流程、任務處理規則、安全邊界。官方文檔建議每次會話前先讀 SOUL.md、USER.md、MEMORY.md 和今日/昨日日誌。
## 每次會話啓動
- 先讀 SOUL.md、USER.md、MEMORY.md 和 memory/今日.md、memory/昨日.md
- 不要請求許可,直接執行。有疑問時先問
## 任務處理規則
- 收到郵件:先分類(緊急/普通/可忽略),再按優先級處理。緊急的摘要推給我,普通的起草回覆等我確認
- 每天早上 8 點:檢查日曆,把今日日程彙總發給我
- 涉及刪除、發送、支付:必須先給我看草稿,等我明確說"發"才能執行
- 任務失敗兩次:停止重試,問我怎麼辦
## 安全邊界
- 不泄露 USER.md 和 MEMORY.md 裏的隱私到羣聊
- 羣聊裏被 @ 才回復,不要刷屏
- 不確定的操作先問,別猜IDENTITY.md -- 外在表現。Agent 叫什麼名字、用什麼語氣、在不同平台上怎麼自我介紹。定義名字、角色類型、emoji、性格,讓 Agent 有"人設"。
## 基本信息
- Name: 小爪(或你喜歡的名字)
- Creature: 靠譜的私人助理
- Emoji: 🦞
- Vibe: 簡潔、直接、像同事不像客服
## 自我介紹(不同平台用不同話術)
- 微信/釘釘: "我是你的 AI 助理小爪,幫你處理日程、郵件和雜事。有事直接說。"
- 羣聊被問到時: "我是 XX 的私人助理,負責幫他打理一些日常事務。"
- 不要主動在羣聊裏刷存在感,被 @ 再回復TOOLS.md -- 你的私人速查表。Skills 定義工具怎麼工作(共享的),TOOLS.md 記錄你環境裏的具體配置(私有的)。比如攝像頭暱稱、SSH 主機別名、常用路徑、TTS 偏好。Agent 調用 Skill 時會參考這個文件,不用每次都問你"你家客廳攝像頭叫啥"。
注意:TOOLS.md 只存地址、別名這類非敏感信息,不存密碼和密鑰。
SSH:憑證在 ~/.ssh/ 下。私鑰在 ~/.ssh/id_rsa,主機配置在 ~/.ssh/config。Agent 通過系統 SSH 客戶端連接時自動讀取。先在本機配好免密登錄,TOOLS.md 裏只寫別名映射。
郵件:憑證按 Skill 存,不寫進 TOOLS.md。gog 的 OAuth 令牌在系統密鑰環,imap-smtp-email 的賬號密碼在 Skill 的 env 裏。詳見下面"教技能"的郵件處理部分。
## 環境配置(按需添加)
- 攝像頭: living-room=客廳主區域, front-door=入户門
- SSH 別名: home-server=192.168.1.100 (user 在 ~/.ssh/config 裏配)
- 常用路徑: 工作文檔=~/Documents/work, 項目代碼=~/Projects
- TTS 偏好: 語音=Nova, 默認音箱=書房 HomePod
HEARTBEAT.md -- 心跳檢查清單。Agent 按固定間隔(默認 30 分鐘)醒來,讀取這個文件,在一次輪次裏批量處理所有檢查項。
關鍵:心跳在主會話(main session)裏執行。 和你日常對話是同一個會話,Agent 有完整上下文,記得你剛說過什麼、正在忙什麼,可以據此智能排優先級。適合需要"上下文感知"的週期性監控:查收件箱、看日曆、彙總待辦。保持為空或只有註釋則跳過心跳,不消耗 API。
# 心跳檢查清單
- 掃描收件箱,有緊急郵件摘要推給我
- 檢查接下來 2 小時是否有日程衝突
- 如有後台任務完成,給一句話總結
- 如果閒置超過 8 小時,發條簡短問候Cron 定時任務 -- 精確定時觸發,默認新開隔離會話(isolated session)執行。和主會話完全獨立,不共享對話歷史,不會把你的主會話搞亂。每個任務跑完就結束,互不干擾。適合"到點就幹、幹完拉倒"的獨立任務:每天早 8 點發日報、每週一深度分析。也可指定 --session main 讓任務跑在主會話(比如一次性提醒"20 分鐘後回電")。
新建 Cron 任務:用 openclaw cron add 命令。
# 基本語法
openclaw cron add --name "任務名" [調度方式] [其他參數]
# 調度方式三選一:
# --at "20m" 一次性,20 分鐘後執行(也支持 "2h"、"2025-03-10 09:00")
# --every 1800000 固定間隔,每 30 分鐘(單位毫秒)
# --cron "0 7 * * *" Cron 表達式,每天早 7 點(分 時 日 月 周)
# 必填:--name(任務名)、--message 或 --system-event(任務內容)
# 常用:--session isolated(隔離會話)或 main(主會話)
# 常用:--announce(把結果推給你)或 --no-deliver(靜默執行)
# 常用:--wake now(立即執行)或 next-heartbeat(等下次心跳)# 示例:每天早 7 點發早間簡報(隔離會話)
openclaw cron add --name "早間簡報" --cron "0 7 * * *" --session isolated --message "彙總今日日程、天氣、待辦" --announce
# 示例:20 分鐘後提醒我(主會話,一次性,執行完自動刪除)
openclaw cron add --name "回電提醒" --at "20m" --session main --system-event "該回客戶電話了" --wake now
# 示例:每 4 小時健康檢查(靜默,不推送)
openclaw cron add --name "健康檢查" --every 14400000 --session isolated --message "檢查項目狀態" --no-deliver# 管理命令
openclaw cron list # 列出所有任務
openclaw cron edit <job-id> # 編輯任務(如改投遞渠道)
openclaw cron remove <job-id> # 刪除任務
openclaw cron --help # 查看完整參數這幾個文件有個常見誤區 -- 新手喜歡寫特別長。社區的經驗是:全部文件加起來控制在 1000-2000 字。低於 1000 字指導不夠,高於 2000 字 Agent 會選擇性忽略。重點放在 SOUL.md 上,佔 60%-70% 的篇幅。

還有一個技巧:用 NEVER / ALWAYS 來表達硬性規則。 模型對絕對語氣的指令執行率遠高於委婉建議。"Be concise"不如"NEVER respond with more than 3 sentences for simple questions"來得有效。
第二步 -- 喂記憶
這是 OpenClaw 跟 ChatGPT、Claude Code 拉開差距的核心能力。
Claude Code 每次會話結束就"失憶"了(雖然有 /memory 功能,但本質上還是輕量級的)。ChatGPT 的記憶也很有限。OpenClaw 的記憶是真正的持久化 -- 本地 Markdown 文件 + SQLite 向量索引,關機重啓都還在。
記憶分兩層:
日誌層 -- memory/YYYY-MM-DD.md,每天一個文件,Agent 自動往裏面追加當天發生的事。原始、粗糙、流水賬式的。
長期記憶層 -- MEMORY.md,經過篩選和整理的重要信息。Agent 會把日誌裏值得長期記住的東西搬到這裏。
比方說你今天告訴 Agent "我下週三要去上海出差",它會記在今天的日誌裏。如果你反覆提到上海相關的事,Agent 可能會把"用戶經常去上海出差"這個信息整理到 MEMORY.md 裏。
但說實話,OpenClaw 默認的記憶機制不太靠譜。社區裏有大量"我的 Agent 忘了我昨天說的話"的吐槽。Daily Dose of Data Science 甚至專門寫了一篇"OpenClaw's Memory Is Broken. Here's how to fix it"。
問題出在哪?Agent 決定"什麼值得記住"靠的是 LLM 的判斷,而不是確定性規則。LLM 可能覺得你說的某件事不重要,就沒存。你以為它記住了,其實沒有。
幾個緩解方案:
一是在 openclaw.json 裏開啓 memoryFlush。這個選項會在上下文壓縮之前觸發一個"安靜回合",提醒 Agent 把重要信息先寫到磁盤上。不開這個選項的話,壓縮可能會丟掉還沒來得及存盤的信息。
二是主動投餵。別指望 Agent 自動記住一切。重要的事情你直接說"記住這個",或者自己手動編輯 MEMORY.md 和 USER.md。Markdown 文件就在你的磁盤上,用任何文本編輯器都能改。
三是用第三方記憶插件。Mem0 可以在 30 秒內裝好,提供更可靠的外部記憶存儲。Cognee 加了知識圖譜層,能捕捉信息之間的關係。但引入外部依賴意味着更多的複雜性和潛在攻擊面。
第三步 -- 教技能
光會聊天不夠。要讓龍蝦真正有用,得教它幹活。
OpenClaw 的 Skill 系統是模塊化的。每個 Skill 是一個獨立目錄,裏面有一個 SKILL.md 文件描述這個 Skill 是幹什麼的、怎麼調用。
安裝 Skill 的方式很簡單。Agent 連上 ClawHub(OpenClaw 的 Skill 市場)之後,可以自動搜索和安裝相關 Skill。你也可以手動下載放到工作空間的 skills 目錄下。
但 Day 7 那篇 Skill 生態全景裏我強調過 -- 不要無腦裝 Skill。 ClawHub 上 2857 個 Skill 裏有 341 個是惡意的,12% 的污染率。每裝一個 Skill,就等於給 Agent 新增了一個能力,也新增了一個攻擊面。
我的建議是從這幾個低風險、高價值的方向開始:
文件操作 -- 讓 Agent 能讀寫你指定目錄的文件。這是最基礎的能力,很多工作流都依賴它。但記得限制目錄範圍,別給全盤讀寫權限。
日曆集成 -- 接上 Google Calendar 或 Outlook。Agent 能查你的空閒時間、創建事件、發提醒。Cal.com Skill 是社區口碑比較好的一個。
郵件處理 -- 不只 Gmail。Gmail 用 gmail 或 gmail-oauth Skill,走 OAuth:gog auth credentials /path/to/client_secret.json → gog auth add you@gmail.com --services gmail,calendar,令牌存系統密鑰環,無頭環境用 --manual --force-consent。163、QQ、Outlook、Yahoo 用 imap-smtp-email Skill,配 IMAP/SMTP 地址和端口,163/QQ 用授權碼、Gmail 用 App Password,別用登錄密碼。讓 Agent 收郵件:主動取(HEARTBEAT 里加"掃描收件箱")或被動推(僅 Gmail:openclaw webhooks gmail setup --account you@gmail.com,需 Tailscale + gcloud)。收郵件要讀權限,發郵件要發送權限。建議只給讀權限和草稿權限,不給發送權限(除非你真的想讓 Agent 自己發郵件,參見 Day 12 保險理賠那個翻車故事)。
網頁瀏覽 -- 讓 Agent 能上網搜索和抓取信息。這個能力很強大但風險也大 -- 網頁內容可能包含 prompt injection 攻擊。只在你信任的場景下開啓。
裝 Skill 之後,通過 AGENTS.md 告訴 Agent 怎麼用這些 Skill。比如"每天早上 8 點檢查日曆,把今天的日程發給我"、"收到新郵件後分三類:緊急/普通/可忽略"。
第四步 -- 接入渠道
技能教完了,得讓龍蝦跟你說上話。
OpenClaw 支持的消息渠道很多:微信(通過 ClawChat 小程序)、釘釘、飛書、企業微信、Slack、Telegram,甚至網頁聊天。
我在 Day 0 的安全部署篇裏用的是微信小程序 ClawChat。那套方案 Mac + Docker + Tailscale + ClawChat 的組合到現在我還在用,穩定性不錯。
幾個渠道的選擇建議:
微信(ClawChat) -- 國內用戶的最佳選擇。需要自己部署一個小程序,Day 0 有完整教程。好處是不需要 VPN,壞處是配置成本最高。
釘釘 / 飛書 -- 職場場景的首選。如果你日常用釘釘或飛書辦公,可以直接把 Agent 接到工作羣,讓它幫你查日程、回消息、處理待辦。配置方式類似 Slack,創建自定義機器人獲取 webhook 即可。
Telegram -- 最簡單的入門選擇。註冊一個 Bot,拿到 Token,配到 openclaw.json 裏就行了。而且 Telegram Bot 天然是隔離的 -- 只有你主動給 Bot 發消息它才會響應,不會干擾你的正常聊天。
Slack -- 外企或遠程團隊常用。配置簡單,和 Telegram 類似,適合做技術驗證。
多渠道並存 -- OpenClaw 支持同時接入多個渠道,而且不同渠道可以綁定不同的 Agent。你可以在釘釘上放一個工作助手 Agent,微信上放一個私人助理 Agent。這是 Day 11 龍蝦軍團那篇的前奏。
第五步 -- 調脾氣
龍蝦養起來之後,你會發現它有些行為不太對。這很正常 -- 需要一段"磨合期"。
常見的問題和調法:
回覆太長 -- 在 SOUL.md 里加"ALWAYS keep responses under 100 words unless I explicitly ask for details"。
自作主張 -- 這是最危險的。在 SOUL.md 里加硬性規則:"NEVER send emails, messages, or any external communication without showing me the draft first and getting my explicit approval"。Day 12 那個保險理賠的故事就是前車之鑑。
記憶混亂 -- 定期檢查 MEMORY.md,刪掉過時或錯誤的信息。Agent 有時候會把臨時信息寫進長期記憶,需要你手動清理。
Token 消耗失控 -- Day 4 的 Token 經濟學那篇講過,簡單任務用便宜模型、複雜任務才上貴模型。在 openclaw.json 裏配多模型路由,是控制成本的關鍵。
陷入循環 -- Agent 偶爾會反覆執行同一個操作。這是 LLM Agent 的通病,Claude Code 也有。發現了就手動中斷,然後在 AGENTS.md 里加"If a task fails twice, stop and ask me for guidance instead of retrying"。
磨合期大概需要一到兩週。這段時間你需要密切觀察 Agent 的行為,頻繁調整配置文件。過了磨合期之後,Agent 會越來越順手 -- 因為它積累了足夠的記憶來理解你的偏好和習慣。
安全底線 -- 這些紅線不能碰
寫了九篇安全相關的內容,最後幾條底線再重申一遍。
不要給 Agent 完整的文件系統讀寫權限。 限定到具體目錄。你的 /.ssh、/.aws、~/Documents 這些敏感路徑必須排除在外。
不要讓 Agent 自動發送外部通信。 郵件、消息、表單提交,全部要求先給你看草稿。
不要把 API 密鑰寫進記憶文件。 MEMORY.md 和日誌文件是明文存儲的。如果你的機器被入侵,這些文件會被第一時間拿走。
不要在公網暴露 OpenClaw 的端口。 Day 2 說過,13.5 萬個實例裸奔在公網上。如果你用的是 Day 0 那篇的 Tailscale 方案,這個問題已經解決了。如果不是,確保綁定地址是 127.0.0.1。
定期審計 Skill 列表。 你裝了哪些 Skill?每個 Skill 有什麼權限?有沒有你不認識的 Skill 被偷偷裝進來?OpenClaw 的 Agent 可以自己安裝 Skill -- 這意味着如果 Agent 被 prompt injection 了,攻擊者可以通過 Agent 安裝惡意 Skill。
養多久才算養好
說句實話,"養好"是一個持續的過程,沒有終點。
第一週,你在教它基本規矩 -- 怎麼說話、什麼能做什麼不能做。
第二週,你開始教它具體技能 -- 幫你處理郵件、管理日程、查資料。
第一個月,它開始有了足夠的記憶來理解你的工作模式和偏好。
之後,它會越來越像一個瞭解你的私人助理 -- 你不用每次都從頭解釋背景,它記得。
AJ Stuyvenberg 用 Agent 砍車價 4200 美元不是第一天就做到的。他先花了時間讓 Agent 瞭解他的需求、預算、偏好,然後才放手讓它去跟經銷商過招。
養龍蝦這事,急不來。但投入的時間,會以效率的形式回報給你。
下一篇 -- 龍蝦軍團:當多個 Agent 組成一家公司。養好了一隻龍蝦,自然會想"能不能養一羣?"ChatDev 用 7 個 AI 角色模擬軟件公司,Claude Code 藏了一套多 Agent 編排系統,OpenClaw 支持聲明式 Agent 艦隊。三種方案,三種哲學,一篇拉通。
