openclaw2.角色设定和多agent配置

文章最后更新时间为:2026年04月01日 22:27:16

1. agent角色设定

在workspace目录下保存了一堆md文件,这些文件记录着agent的行为准则、角色设定、工作模式等等。关于这些文件的初始模板可以阅读https://docs.openclaw.ai/zh-CN/reference/templates/

1.1 配置文件说明

文件作用
AGENTS.md定义工作流程。比如:启动时必须读哪些文件、如何记录记忆、在群聊中该怎么表现。
SOUL.mdagent价值观,定义了性格、沟通风格、价值观和底线(例如:严谨、不废话、不反驳主人)
IDENTITY.mdagent身份证,包含名字、物种、核心特征和标志性 Emoji
USER.md记录用户的信息(称呼、时区、偏好、职业背景)。
TOOLS.md记录当前agent所在机器信息(如:服务器IP、设备名称等)。
HEARTBEAT.md心跳任务,定义agent需要定期(如每30分钟)主动检查的任务(如:检查邮箱、天气预警)
MEMORY.md长期记忆,存储最重要的、跨度较长的信息(如重大项目、重要的技术结论)
memory/YYYY-MM-DD*.md每日日志,记录每一天发生的具体事件、对话摘要和临时要求

1.2 调用逻辑

这些md文档的加载逻辑写在AGENTS.md中: https://docs.openclaw.ai/zh-CN/reference/templates/AGENTS

  1. 当openclaw程序启动时,比如运行 openclaw gateway start/restart 时,会读取AGENTS.md。它定义了 Agent 的基本操作能力、文件映射规则、心跳检查逻辑等基础设施。如果修改了 AGENTS.md 中的核心逻辑(比如修改了 Heartbeat 的频率),通常需要gateway restart。
  2. 当一个新的session启动时,比如在channel中输入/new命令后,会串行读取四个文件SOUL.md, IDENTITY.md, USER.md, MEMORY.md, 以及最近两天的memory/YYYY-MM-DD.md。
  3. 在会话中会按需读取TOOLS.md和HEARTBEAT.md。

2. 多agent配置

2.1 多agent适用场景

对于openclaw会有很多不同的任务,比如总结新闻、逆向工具,不同的agent的人格特征和工作流都不一样,如果不同的任务使用同一个agent,还会造成上下文污染。总的来说多agent有以下好处

  1. 每个agent可以配置不同的人格和做事方法,工具调用权限和skills也可以单独配置
  2. 多agent可以解决上下文污染的问题,session和memory会相互隔离,
  3. 解决上下文超限的问题,有时候任务中间需要读取大文件并进行总结,此时该大文件会带在上下文中导致token超限,此时一般需要子agent去完成一些特定的事情,主agent只需要最终结果即可

2.2 多agent配置教程

首先创建一个新的telegram bot,用于和新的agent进行对话

2026-04-01T03:14:52.png

然后使用openclaw agents add --workspace /home/ubuntu/.openclaw/workspace-daily-news daily-news

ubuntu@ubuntu-openclaw:~$ openclaw agents add --workspace /home/ubuntu/.openclaw/workspace-daily-news daily-news

🦞 OpenClaw 2026.3.13 (61d171a) — I don't judge, but your missing API keys are absolutely judging you.

Config overwrite: /home/ubuntu/.openclaw/openclaw.json (sha256 c529fae23d399528835e05e36ef2f1978620bb9e07abebf055d62f80de8074a1 -> a3841d5bfeeb6a53618111dacb90537840f97e0f0d54cf9d9d29e5697a86b7de, backup=/home/ubuntu/.openclaw/openclaw.json.bak)
Updated ~/.openclaw/openclaw.json
Workspace OK: ~/.openclaw/workspace-daily-news
Sessions OK: ~/.openclaw/agents/daily-news/sessions
Agent: daily-news
Workspace: ~/.openclaw/workspace-daily-news
Agent dir: ~/.openclaw/agents/daily-news/agent

然后设置这个agent使用哪个模型,编辑openclaw.json,添加model字段

{
        "id": "daily-news",
        "name": "daily-news",
        "workspace": "/home/ubuntu/.openclaw/workspace-daily-news",
        "agentDir": "/home/ubuntu/.openclaw/agents/daily-news/agent",
        "model": "openrouter/google/gemini-3-flash-preview"
      }

给这个agent绑定bot,配置文件如下:

openclaw channels add --channel telegram --token <TOKEN> --account daily-news

openclaw agents bind --agent daily-news --bind telegram:daily-news

按需修改这个agent的SOUL.md, IDENTITY.md, USER.md,修改后重启gateway

测试
2026-04-01T05:20:25.png

3. 定时任务

openclaw有三种设置定时任务的方式:

  1. openclaw cron:内置的任务调度器。
  2. heartbeat.md:每个对话每隔30分钟会阅读一次heartbeat.md。看看有没有要处理的任务,此时只需要把任务描述写在里面即可
  3. linux系统自带的crontab

还是第一种比较适用于大部分场景,直接编辑.openclaw/cron/jobs.json文件即可

{
"jobs": [
  {
    "id": "daily-news",
    "name": "新闻同步",
    "schedule": {
      "expr": "*/30 * * * *",
      "kind": "cron",
      "tz": "Asia/Shanghai"
    },
    "payload": {
      "kind": "agentTurn",
      "message": "获取最新的信息安全行业新闻推送给主人。"
    },
    "agentId": "daily-news",
    "enabled": true,
    "delivery": {
        "channel": "telegram",
        "mode": "announce",
        "to": "10478xxx00"
    }
  }
],
"version": 1
}
1 + 3 =
快来做第一个评论的人吧~