配置决定 AI 的上限,Skills 决定 AI 的边界。
前一篇我们聊了核心操作与指令。这篇深入 OpenClaw 的"大脑结构"——文件系统和 Skills 扩展机制。
搞懂这些,可以让AI 助手真正"活"过来。
一、文件目录结构
OpenClaw 的所有配置、状态数据、工作区和技能,都集中在 ~/.openclaw/ 目录下。
这是整个系统的根配置目录,首次安装时自动创建。
核心目录树
~/.openclaw/├── openclaw.json # 主配置文件(最重要)├── workspace/# AI 的"灵魂"文件夹│ ├── SOUL.md # 人格设定(语气、风格)│ ├── USER.md # 你的个人信息│ ├── MEMORY.md # 长期记忆(手动可编辑)│ ├── IDENTITY.md # Agent 名称、形象│ ├── AGENTS.md # 多 Agent 路由规则│ ├── BOOTSTRAP.md # 初始化引导│ ├── HEARTBEAT.md # 定时任务检查清单│ ├── TOOLS.md # 工具本地配置│ ├── memory/# 日常运行日志│ └── skills/# 已安装的第三方技能├── agents/<cid>/# 每个 Agent 的独立状态├── memory/<cid>.sqlite # 向量记忆库└── skills/# 全局技能包三个最常用的文件和目录
1. openclaw.json — 系统级配置
存储全局设置:模型、Gateway 模式、端口、安全策略等。
常用操作命令:
openclaw configure # 交互式配置向导openclaw config file # 显示完整路径openclaw config get agent.modelopenclaw config set agent.model "anthropic/claude-3-5-sonnet"openclaw config validate # 校验合法性2. workspace/ — AI 的"家"
所有 .md 文件可以直接通过文本编辑器编辑,保存后立即生效,无需重启。
3. memory/ — 记忆系统
SQLite 向量数据库:支持语义搜索 每日日志文件: YYYY-MM-DD.md格式
二、核心配置文件
SOUL.md — 给 AI 立"人设"
这是 AI 每次会话最先读取的文件,决定"我是谁"。
核心要素:
语气风格(正式/轻松/极客) 行为边界(什么能做,什么不能做) 输出格式偏好 价值观和原则
实战技巧:
在 SOUL.md 中明确写出"拒绝的行为",比写"应该做什么"更有效。
例如:
## 拒绝的行为- 不发送未完成的草稿到公开渠道- 不在群聊中代表用户发言- 不执行 rm 等破坏性命令主要把语气风格、行为边界、输出格式偏好、价值观原则——这几项写清楚就够了。
AGENTS.md — 多 Agent 协作的"调度规则"
当复杂工作有需要用到多个 Agent时,这个文件定义各自职责。
典型结构:
# AGENTS.md - 团队成员-**master**(总管) - agentId: master 职责:团队协调、任务分发-**assistant**(助理) - agentId: assistant 职责:单任务执行进阶用法:
在不同会话类型中可以应用不同权限级别:
主会话:完整访问 MEMORY.md 群聊:不加载敏感信息 子 Agent:只读特定目录
MEMORY.md — 长期记忆的"索引层"
这里保存的不是流水账,是经过整理的长期记忆。
真正的原始日志在 memory/YYYY-MM-DD.md 里按天归档,MEMORY.md 只存经过整理的长期记忆。
记忆分层策略:
MEMORY.md | ||
memory/projects.md | ||
memory/YYYY-MM-DD.md |
定期维护建议:
每隔几天,做一次心跳检查:
读取近期 memory/YYYY-MM-DD.md提取重要事件、决策、教训 更新 MEMORY.md删除过时的索引项
Skills 系统:AI 的"能力扩展包"
Skills 是什么?简单理解就是 OpenClaw 的"插件"或"应用"。OpenClaw 会按优先级从不同位置加载 Skills:
Skills 的加载优先级
/skills/ | ||
/.agents/skills/ | ||
~/.agents/skills/ | ||
~/.openclaw/skills/ | ||
skills.load.extraDirs |
从 ClawHub 安装技能
ClawHub 是 OpenClaw 官方的 Skills 注册中心,已有 17000+ Skills。
# 安装 ClawHub CLInpm i -g clawhub# 搜索技能clawhub search "react"# 安装技能clawhub install <skill-slug># 更新所有技能clawhub update --all# 查看已安装技能clawhub list安全提示:
安装第三方 Skills 前,务必检查 SKILL.md 中的权限要求和外部 API 调用。
四、自定义 Skills 开发实战
创建自定义 Skill 不需要编程基础,只需写一份清晰的"操作指南"。
第一步:创建 Skill 目录
mkdir -p ~/.openclaw/workspace/skills/hello-world第二步:编写 SKILL.md
---name: hello_worlddescription: A simple skill that says hello.---# Hello World SkillWhen the user asks for a greeting, use the `echo` tool to say"Hello from your custom skill!".头部元数据参考:
name | ||
description | ||
metadata.openclaw.os | ["darwin"]、["linux"] 等) | |
metadata.openclaw.requires.bins | ||
metadata.openclaw.requires.config |
第三步:加载并测试
# 开启新会话让 OpenClaw 读取 skill/new# 验证 skill 已加载openclaw skills list# 测试触发openclaw agent --message "give me a greeting"进阶玩法:带脚本的 Skill
SKILL.md 本质是"增强版的系统提示词",也可以配合脚本一起用。可以将轻量级检查交给脚本,复杂分析交给 AI,各司其职。
示例结构:
my-skill/├── SKILL.md # 触发条件和说明└── scripts/ └── analyze.py # 实际执行逻辑(可选)在 SKILL.md 中指导 AI 如何调用脚本:
当用户请求代码审查时:1. 运行 `python scripts/analyze.py <文件>`2. 解析 JSON 输出3. 以结构化格式呈现结果五、复杂任务拆解:招投标场景实战
当面对复杂任务时,用 Skills + 文件结构实现模块化处理。
案例:公司招投标流程
假设使用 AI 协助处理公司招投标项目,从获取招标文件到最终提交,周期两周,涉及技术方案、商务报价、资质材料好几块工作。
第一步:定义任务边界
在 memory/projects.md 中记录:
# 项目:XX 市 XX项目招投标**目标**:完成投标文件编制并提交**关键节点**:- 3 月 15 日:获取招标文件- 3 月 20 日:技术方案初稿- 3 月 25 日:商务报价确认- 3 月 28 日:最终提交**依赖 Skills**:- feishu-create-doc(文档创建)- feishu-update-doc(内容写入)- feishu-task-task(任务管理)第二步:创建专用 Skill
创建 bid-assistant Skill,处理招投标相关任务:
---name: bid_assistantdescription: 招投标流程辅助技能---# 招投标辅助 Skill当用户提到"招投标"、"投标"、"标书"时触发:## 标准流程1. **招标文件解析** - 读取招标文件 PDF - 提取关键信息(截止时间、评分标准、资质要求) - 创建检查清单2. **任务拆解** - 技术方案撰写 - 商务报价计算 - 资质材料准备 - 最终审核3. **进度跟踪** - 在 memory/bid-projects.md 中更新状态 - 距离截止 24 小时发送提醒## 输出格式使用表格列出待办事项,标注负责人和截止时间。有了这个 Skill,以后只要提到"招投标",AI 就知道该走什么流程。省心。
第三步:利用多 Agent 协作
在 AGENTS.md 中定义分工:
# AGENTS.md - 团队成员-**master**(总管) 职责:招投标项目总协调,进度跟踪,最终审核-**assistant**(助理) 职责:技术方案撰写,文档格式化-**bid-review**(评审助手) 职责:标书合规性检查,评分点对照总管负责统筹,助理负责撰写,评审负责检查——各司其职,效率自然高。
第四步:状态持久化
用文件记录中间状态:
~/.openclaw/workspace/memory/bid-projects.md状态透明了,协作才顺畅
内容示例:
# 招投标项目追踪## 进行中### XX 市 XX项目- 当前阶段:技术方案撰写- 已完成:招标文件解析、任务拆解- 待处理:技术方案、商务报价、资质材料- 截止时间:2026-03-28- 最后更新:2026-03-18## 已完成### YY 区数字化改造项目- 提交时间:2026-02-15- 结果:中标- 归档位置:memory/archived-bids/yy-project.md记录这个状态的好处是,即使中途中断,下次打开也能快速恢复上下文,这点非常有用。
第五步:自动化检查清单
在 HEARTBEAT.md 中添加定期检查:
# 心跳检查清单## 招投标项目检查(每日)- [ ] 检查 bid-projects.md 中的临近截止项目- [ ] 距离截止<48 小时的项目发送提醒- [ ] 更新任务状态到飞书任务这样 AI 会每天自动检查有没有临近截止的项目,主动发提醒,不用人盯着。属于"设置一次,受益很久"的类型。
最后
对于当下的Agent来说,区别于传统软件,配置文件的意义,不在于"设置",而在于"塑造"。SOUL.md 塑造人格,AGENTS.md 塑造协作方式,Skills 塑造能力边界。这三者配合好了,AI 助手才能真正成为"数字分身"——了解风格,懂得习惯,守住底线。(完)
下一篇,我想聊聊多 Agent 编排——如何让多个 AI 助手协同工作,处理更复杂的任务场景。
单个 AI 助手能做的事有限,但一支配合默契的 AI 团队,可以应对真正的业务挑战。
夜雨聆风