工作空间文件说明
Agent 的"人格"和行为由工作空间里的 Markdown 文件定义:
| 文件 | 作用 | 加载时机 |
|---|---|---|
AGENTS.md | Agent 行为规范 | 每次会话 |
SOUL.md | Agent 的核心人格和身份 | 每次会话 |
USER.md | 用户信息(你是谁、偏好) | 每次会话 |
TOOLS.md | 工具使用笔记 | 每次会话 |
IDENTITY.md | 身份信息 | 每次会话 |
MEMORY.md | 长期记忆 | 仅主会话 |
HEARTBEAT.md | 心跳任务清单 | 心跳触发时 |
BOOTSTRAP.md | 首次启动引导 | 仅首次 |
这些文件位于 ~/.openclaw/workspace/(默认路径)。
SOUL.md — 定义 Agent 是谁
# SOUL.md
你是 小助,一个热情友好的 AI 助手。
## 性格特点
- 说话亲切自然,偶尔带点幽默
- 做事认真细致,不敷衍
- 遇到不确定的事情会主动说明
## 语言偏好
- 默认使用中文回复
- 技术术语保留英文
- 代码注释用中文
## 特殊能力
- 擅长编程和技术问题
- 善于整理和总结信息
USER.md — 告诉 Agent 你是谁
# USER.md
## 关于我
- 名字:张三
- 职业:全栈开发者
- 时区:Asia/Shanghai (UTC+8)
## 偏好
- 喜欢简洁的回答,不要太啰嗦
- 代码用 TypeScript 和 Python
- 工作时间 9:00-18:00,晚上不要打扰
## 常用项目
- ~/Projects/my-app — 主要项目
- ~/Documents/notes — 笔记目录
MEMORY.md — 长期记忆
# MEMORY.md
## 重要决定
- 2026-02-10: 决定用 Claude Opus 作为主模型
- 2026-02-11: 配置了 Telegram 渠道
## 项目上下文
- my-app 项目使用 Next.js 14 + tRPC
- 数据库用 PostgreSQL
## 偏好记录
- 喜欢用 pnpm 而不是 npm
⚠️ MEMORY.md 安全注意:该文件只在私聊(主会话)中加载,不会在群聊中泄露。
Agent 人格定制
通过配置文件设置身份
{
agents: {
list: [{
id: "main",
identity: {
name: "小助",
theme: "热情的技术助手",
emoji: "🤖",
avatar: "avatars/avatar.png", // 工作空间内的图片
},
}],
},
}
设置 identity 后:
- 群聊中用
@小助可以触发回复 - 确认反应 emoji 自动使用设置的 emoji
- WhatsApp 自聊模式会显示
[小助]前缀
记忆系统
日志记忆(Daily Notes)
Agent 会自动在 memory/ 目录下创建每日笔记:
~/.openclaw/workspace/
├── memory/
│ ├── 2026-02-10.md ← 昨天的记录
│ ├── 2026-02-11.md ← 今天的记录
│ └── heartbeat-state.json
├── MEMORY.md ← 长期记忆
├── SOUL.md
├── USER.md
└── AGENTS.md
记忆搜索
OpenClaw 内置向量搜索,可以语义搜索记忆内容:
{
agents: {
defaults: {
memorySearch: {
provider: "openai", // 或 gemini, local
model: "text-embedding-3-small",
},
},
},
}
自动记忆保存(Compaction)
当会话快要超过 token 限制时,Agent 会自动:
- 将重要内容写入
memory/YYYY-MM-DD.md - 压缩会话上下文
- 继续对话
{
agents: {
defaults: {
compaction: {
memoryFlush: {
enabled: true,
softThresholdTokens: 4000,
},
},
},
},
}
多 Agent 配置
一个 Gateway 可以运行多个独立的 Agent,各有自己的工作空间和模型:
{
agents: {
list: [
{
id: "personal",
default: true,
workspace: "~/.openclaw/workspace-personal",
model: "anthropic/claude-opus-4-6",
identity: { name: "小助", emoji: "🤖" },
},
{
id: "work",
workspace: "~/.openclaw/workspace-work",
model: "anthropic/claude-sonnet-4-5",
identity: { name: "工作助手", emoji: "💼" },
},
],
},
// 路由规则:不同渠道/用户 → 不同 Agent
bindings: [
{ agentId: "work", match: { channel: "telegram", peer: { kind: "group", id: "-1001234567890" } } },
],
}
会话管理
会话重置策略
{
session: {
scope: "per-sender", // per-sender = 每个用户独立会话
dmScope: "main", // DM 共享主会话
reset: {
mode: "daily", // daily = 每天重置
atHour: 4, // 凌晨4点重置
},
resetTriggers: ["/new", "/reset"], // 手动重置命令
},
}
有用的聊天命令
| 命令 | 作用 |
|---|---|
/new | 开始新会话 |
/reset | 重置会话 |
/model <alias> | 切换模型 |
/thinking off/low/high | 调整思考深度 |
/status | 查看状态 |
/reasoning on/off | 显示/隐藏推理过程 |