工作空间文件说明

Agent 的"人格"和行为由工作空间里的 Markdown 文件定义:

文件作用加载时机
AGENTS.mdAgent 行为规范每次会话
SOUL.mdAgent 的核心人格和身份每次会话
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 会自动:

  1. 将重要内容写入 memory/YYYY-MM-DD.md
  2. 压缩会话上下文
  3. 继续对话
{
  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显示/隐藏推理过程