☰
OpenClaw“养虾”最关键的6个步骤:从SOUL.md到Skills的TaoToken配置实战
2026/9/26 18:02:40 网站建设 项目流程

1. 为什么你的 OpenClaw Agent 总是“养不熟”

很多人第一次接触 OpenClaw,兴奋地跑完安装脚本,对着终端敲下第一句话,结果发现它像个刚睡醒的实习生:答非所问、记不住上下文、换个话题就失忆。问题不在模型本身,而在于 Agent 的“人格”和“记忆”没有落地成文件。

OpenClaw 的设计哲学是把 Agent 拆成可读可改的配置文件,核心就是 SOUL.md、USER.md、Skills 目录以及一份统一的 config.toml。你把这些文件写清楚,Agent 才有稳定的行为边界;你让模型通过一个统一的 Key 接入,才能避免到处散落 API 凭证。这篇内容面向想快速跑通 OpenClaw 的开发者,交付可复制的配置骨架、TaoToken 统一 Key 的接入方式,以及每一步的验证命令和预期输出。适合谁:已经装好 OpenClaw、但 Agent 表现不稳定,或者正准备从零搭建一个长期可维护 Agent 的人。

我试过把六个步骤拆成“先定性格、再认主人、建记忆、分角色、装技能、持续调教”的顺序,每一步都有对应的文件和验证手段。下面按这个顺序展开,你可以边看边改自己项目里的文件。

2. TaoToken 前置:一个 Key 管住所有模型调用

OpenClaw 的 Agent 在运行时会频繁调用模型:写 SOUL.md 时要模型帮你润色、Skills 执行时要模型做总结、多 Agent 分工时每个角色都要独立请求。如果每个环节都配一套不同的 Key,维护成本会迅速失控。TaoToken 的作用就是提供一个统一的接入点,你只需要在配置里写一次 API Key 和 Base URL,所有 Agent 和 Skills 都走同一个出口。

先拿到 Key。打开 https://taotoken.net/api-keys ,登录后创建一个新的 API Key,复制保存。注意这个 Key 只在创建时完整显示一次,后面只能看到前缀。拿到之后,OpenClaw 的 config.toml 里模型段这样写:

[model] provider = "openai-compatible" base_url = "https://taotoken.net/api" api_key = "sk-你的TaoTokenKey" default_model = "claude-sonnet-4-20250514"

这里 base_url 用 https://taotoken.net/api ,不要加多余的路径后缀。default_model 可以按你实际订阅的模型改,Claude 系列在长上下文和指令遵循上比较稳,适合 Agent 场景。如果你后面要接 Claude Code 或做长期编码任务,可以单独看 Coding Plan 的配置方式,但基础接入就是上面这几行。

注意:config.toml 里不要出现明文 Key 提交到 Git。建议用环境变量注入,OpenClaw 支持${TAOTOKEN_API_KEY}这种写法,本地用 .env 文件加载。

验证 Key 是否可用,不用等 Agent 跑起来,直接发一个最小请求:

curl -s https://taotoken.net/api/v1/chat/completions \ -H "Authorization: Bearer $TAOTOKEN_API_KEY" \ -H "Content-Type: application/json" \ -d '{"model":"claude-sonnet-4-20250514","messages":[{"role":"user","content":"ping"}]}'

预期返回一个 JSON,choices[0].message.content 里有内容,就说明 Key 和网络都通了。如果返回 401,检查 Key 是否复制完整;返回 404,检查 base_url 是否写成了带 /v1 的完整路径。

3. 六个关键步骤的可复制配置

3.1 第一步:SOUL.md 定性格,别让 Agent 自由发挥

SOUL.md 放在 Agent 工作目录的根下,和 config.toml 同级。它的作用是给模型一个稳定的系统提示,告诉它“你是谁、怎么说话、什么不能做”。很多人只写一句“你是一个 helpful assistant”,结果 Agent 每次回复风格飘忽。正确的写法是把名字、性格、说话风格、擅长领域、禁止事项都写进去。

# SOUL ## 名字 小虾 ## 性格 直接、不废话、先给结论再给理由。遇到不确定的事说“我不确定”,不编造。 ## 说话风格 中文为主,技术术语保留英文。代码块用 ``` 包裹。重点内容加粗。不用 emoji。 ## 擅长领域 Python 后端、OpenClaw 配置、API 调试、日志分析。 ## 禁止事项 不讨论与工作无关的娱乐话题。不输出未经确认的版本号或价格。不代替用户执行删除操作。

写完之后,在 config.toml 里指向这个文件:

[agent] soul_file = "./SOUL.md" user_file = "./USER.md" memory_dir = "./memory" knowledge_dir = "./knowledge"

验证方式:启动 OpenClaw 后问一句“你是谁”,预期它回答“我是小虾,擅长 Python 后端和 OpenClaw 配置”,而不是泛泛的“我是一个 AI 助手”。如果回答里出现了你禁止的内容,说明 SOUL.md 没被加载,检查路径是否写对。

3.2 第二步:USER.md 让 Agent 认识你

USER.md 和 SOUL.md 同路径,写的是“你是谁、你的习惯、你的偏好”。这一步经常被忽略,但它是 Agent 从“通用助手”变成“你的助手”的分水岭。内容可以包括职业、沟通偏好、工作节奏、常用技术栈。

# USER ## 职业 后端开发,主要写 Python 和 Go,偶尔做数据清洗。 ## 沟通偏好 喜欢先看结论,再看推导过程。不喜欢长篇铺垫。代码示例要能直接跑。 ## 工作习惯 每天早上 9 点开早会,周五下午写周报。周三晚上不处理工作消息。 ## 当前项目 OpenClaw Agent 搭建,目标是把日常日志分析和周报生成自动化。

USER.md 要定期更新。你换了项目、改了作息、偏好变了,都回来改几行。Agent 每次启动都会读这个文件,所以改完重启就生效。验证方式:问“我周五下午通常做什么”,预期它回答“写周报”,而不是“我不知道你的安排”。

3.3 第三步:建记忆,解决 Agent 失忆

记忆是 OpenClaw 最容易被低估的部分。没有记忆,Agent 每次对话都是冷启动,你重复解释同一件事,它重复犯同一个错。推荐三层记忆架构,全部放在 memory 目录下。

第一层是日常对话记忆。当你说“记住这个”时,Agent 把当前上下文写入 memory/日期.md。你可以在 SOUL.md 里加一条规则:“当用户说‘记住这个’时,把上一条对话摘要追加到 memory/当天日期.md”。第二层是每周复盘。每周五让 Agent 写一份工作日志,核心内容追加到 MEMORY.md。第三层是个人知识库,建一个 knowledge 文件夹,重要资料让 Agent 总结后存成独立 md 文件。

目录结构长这样:

agent-root/ ├── config.toml ├── SOUL.md ├── USER.md ├── MEMORY.md ├── memory/ │ ├── 2025-06-01.md │ └── 2025-06-02.md └── knowledge/ ├── openclaw-config.md └── api-debug-notes.md

验证方式:对 Agent 说“记住这个:我的 TaoToken Key 放在 .env 里,变量名是 TAOTOKEN_API_KEY”,然后检查 memory/当天日期.md 是否多了一行。再重启 Agent,问“我的 TaoToken Key 放在哪”,预期它能从记忆里读出来。

3.4 第四步:多 Agent 分工,一个角色干一件事

一个 Agent 既写代码又做搜索又执行命令,结果就是上下文互相污染,行为不稳定。OpenClaw 支持在 config.toml 里定义多个 Agent,每个 Agent 有自己的 SOUL.md 和职责范围。

[[agents]] name = "writer" soul_file = "./agents/writer/SOUL.md" skills = ["summarize"] [[agents]] name = "searcher" soul_file = "./agents/searcher/SOUL.md" skills = ["find-skills"] [[agents]] name = "executor" soul_file = "./agents/executor/SOUL.md" skills = ["create-skills"]

writer 负责总结和写周报,searcher 负责找技能和查资料,executor 负责执行具体命令。每个角色的 SOUL.md 只写自己领域的规则,不要互相串。验证方式:分别向三个 Agent 发同一个问题“帮我总结今天的日志”,预期只有 writer 给出完整总结,searcher 和 executor 会说明这不是自己的职责。

3.5 第五步:装 Skills,装一个用好一个

Skills 是 OpenClaw 的能力扩展,但装太多会拖慢启动、增加上下文长度。建议先装三个基础技能:summarize 做总结、find-skills 找技能、create-skills 创建新技能。安装方式不用手动 clone,把 GitHub 链接发给 Agent,说“帮我安装这个 Skill”,它会自动处理。

如果你要手动确认,Skills 目录结构如下:

skills/ ├── summarize/ │ ├── skill.toml │ └── main.py ├── find-skills/ │ ├── skill.toml │ └── main.py └── create-skills/ ├── skill.toml └── main.py

每个 skill.toml 里声明名称、触发词、入口函数。验证方式:对 Agent 说“总结一下 SOUL.md 的内容”,如果 summarize 装好了,它会调用技能并返回摘要;如果没装,它会直接用模型能力回答,但不会走技能流程。你可以通过日志里是否出现 skill 调用来区分。

3.6 第六步:持续调教,越养越聪明

调教不是一次性工作。每次 Agent 回复不对,直接说“这里错了,下次要这样说”,并把正确说法追加到 SOUL.md 或 USER.md。偏好变了就改 USER.md,重要事项更新到 MEMORY.md。每周让 Agent 复盘一次:“这周我们讨论了什么?有哪些重复出现的问题?”

这一步没有固定配置文件,靠的是习惯。你可以建一个 feedback.md,专门记录每次纠正的内容,每周整理一次,把稳定的规则合并进 SOUL.md。验证方式:连续纠正同一个问题三次后,第四次遇到类似场景,Agent 应该直接按你纠正的方式回答,而不是再犯。

4. 验证请求与成功结果

配置写完,跑一次完整验证。先确认 config.toml 能被解析:

openclaw config validate

预期输出Config OK: 3 agents, 3 skills, model=claude-sonnet-4-20250514。如果报错,按提示检查 TOML 语法,常见问题是字符串没加引号、数组括号不匹配。

然后启动 Agent 并发一条测试消息:

openclaw run --agent writer --message "总结一下今天的 memory 文件"

预期返回一段摘要,内容来自 memory/当天日期.md。如果返回空,检查 memory 目录是否存在、当天文件是否有内容。如果返回“我没有权限访问文件”,检查 config.toml 里 memory_dir 路径是否正确。

最后验证多 Agent 隔离:

openclaw run --agent executor --message "你是谁"

预期返回 executor 的 SOUL.md 里定义的身份,而不是 writer 的身份。如果返回了 writer 的内容,说明 agents 数组里的 soul_file 路径写重了。

5. 本篇常见错排查

错误一:401 Unauthorized。最常见的原因是 Key 复制时带了空格,或者 .env 文件没被加载。检查echo $TAOTOKEN_API_KEY是否有值,没有的话在启动命令前加source .env。

错误二:Agent 不读 SOUL.md。检查 config.toml 里 soul_file 的路径是相对路径还是绝对路径。OpenClaw 默认从工作目录解析相对路径,如果你在别的目录启动,路径就会错。建议统一用绝对路径,或者固定在工作目录下启动。

错误三:记忆文件写了但读不到。memory_dir 指向的目录必须存在,OpenClaw 不会自动创建。手动mkdir -p memory knowledge再启动。另外日期格式要统一,建议用YYYY-MM-DD.md,避免 Agent 写入时格式不一致导致读不到。

错误四:Skills 装了但不触发。检查 skill.toml 里的触发词是否和你的提问匹配。比如 summarize 的触发词是“总结”“摘要”,你说“帮我概括一下”可能不触发。改触发词或者换说法都行。

错误五:多 Agent 启动报错。agents 数组里每个 name 必须唯一,soul_file 不能指向同一个文件。如果两个 Agent 共用 SOUL.md,行为会互相干扰,启动时可能报冲突。

6. 接入方式与后续动作

如果你还没拿到 Key,先去 https://taotoken.net/api-keys 创建一个,然后按第 2 节的 config.toml 骨架填进去。接入文档在 https://taotoken.net/doc ,里面有完整的参数说明和错误码对照。想先验证模型对话是否正常,可以直接用 https://taotoken.net/model-chat 发一条消息,确认返回内容符合预期再回到 OpenClaw 配置。

长期做编码或 Agent 任务的话,Coding Plan 的配置方式在 https://taotoken.net/coding-plan ,它针对长会话和代码场景做了优化。控制台在 https://taotoken.net/console ,可以看调用量和余额。Claude Code 相关的接入说明在 https://taotoken.net/claudecode-anthropic ,如果你用 Claude Code 作为前端,可以参考那份配置。

最后一步是持续调教。每周花十分钟让 Agent 复盘,把稳定的规则合并进 SOUL.md,把过期的记忆归档。Agent 不是配一次就完事,它更像一个需要定期维护的同事。你改得越勤,它越懂你。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询