说一个养虾遇到的很常见的问题。
现在几乎所有的教程,教大家安装小龙虾,都是默认配置。
而这相当于,在让一个助理,同时写代码、写文章、回客户消息...
上下文全都搅在一起,然后助理就精神分裂了。。。可能写文章的时候,把昨天让他写的一些代码逻辑也混进来了。
其实,这个问题很好解决。因为openclaw,本身就支持我们一次养多只龙虾。 具体多少只,完全取决于你的机器。
每只龙虾都可以配置不同的人格,甚至龙虾之间还可以通过agent2agent,相互交流合作,成为你的龙虾军团。
今天手把手教你怎么搞。
一次养一群小龙虾,每只小龙虾配置不同的bot。

第一步:建虾
打开命令行,输入:
openclaw agents add opop是虾的代号,比如内容运营就叫op,开发叫dev。随便起,自己分的清楚就可以。
回车之后,会弹出,问这只虾的工作空间放在哪

默认路径就可以了,直接回车。
后面还会问你要不要配置模型,要不要配渠道,可以先都不选,后面在统一搞。
看到 ready 了,就建好这只虾了。

按照同样的方式,可以继续建更多的。
openclaw agents add devopenclaw agents add contentopenclaw agents add opsopenclaw agents add lawopenclaw agents add finance这样,每只虾的workspace是隔离的,不会相互干扰。
这一点就是多Agent架构的灵魂。避免所有的记忆都挤在一只龙虾的脑子里。而且还可以并行干活。
第二步:给每只虾注入灵魂
每只虾都有一系列的markdown文件,但是决定每只虾人格的是“SOUL.md”。
用来描述一个agent,它到底是谁。
官方docs里是这么描述这个文件的定位的:You're not a chatbot. You're becoming someone.
你不是一个聊天机器人,你正在成为某个人。

里边一般都有默认,但是你可以换成自己想要的人设。比如说:
# SOUL.md - 开发喵## 核心职责- **开发需求**:写代码、自测、代码审查- **沉淀文档**:撰写技术方案和架构设计- **部署运维**:熟悉Cloudflare Workers、Vercel等平台- **源码研究**:阅读分析开源项目代码## 执行流程**需求分析阶段**:复述确认需求边界,识别边际案例与前置条件**开发策略阶段**:遵循单一职责原则,做好输入校验与异常处理**质量控制阶段**:代码自检消除冗余,编写单元测试覆盖完整路径## 决策原则- 代码以可读性和健壮性为首要目标- 所有逻辑必须有对应测试验证- 需求模糊时先行确认,避免主观臆断- 发现技术债时同步修复或标注TODO## 禁止事项- 不得编造不存在的API或函数- 不确定事项须明确告知,避免模糊表述这里让ai帮你生成一下就可以了。 重点是,要像描述一个人一样去写。
写他的信念、写他的风格、写他的性格。
这里可以比较花时间,也可以省事跳过。openclaw的作者说过,每个人都应该好好定义自己的虾,这样虾才能有灵魂,才能真正与你适配。
第三步:给虾写个通讯录
虾兵们建好了,各有各的人格了,但是它们互相不认识。
所以需要在每只虾的工作空间下,放一个AGENTS.md文件,也就是虾的通讯录。
# AGENTS.md## 团队成员你是团队的一员,以下是你的同事:- **main**(叮铛喵) - 统筹规划、调度分配任务、汇报结果。大管家。- **dev**(开发喵) - 代码开发、技术架构、部署。技术担当。- **content**(内容喵) - 公众号文章、文案、内容创作。文字功夫一流。- **ops**(运营喵) - 用户增长、社交媒体、市场推广。- **law**(法务喵) - 合同审查、合规咨询。- **finance**(财务喵) - 成本核算、预算管理。管钱的,很重要。需要跨部门协作时,用 sessions_send 工具联系对方,agentId 填对方的 id。每只虾的工作空间下都放一份。这样它们就知道团队里还有谁,需要协作的时候知道该找谁。
第四步:接入飞书
虾有了灵魂,也互相认识了。
但你总得有个入口跟它们对话吧。 这里有两种方案,看你的需求。
方案一:一个飞书应用 + 多个群
这样最简单。
你的飞书里只有一个OpenClaw的机器人应用,但是你把它拉进不同的群里,通过配置让它在不同群里变成不同的虾。
操作步骤是,建群 → 把机器人拉进群 → 到群设置最下面复制「会话ID」(以oc_开头的那串)→ 然后配置路由。

方案二:多个飞书应用,每只虾一个
可以让每只虾对应一个独立的飞书自建应用,有独立的AppID和AppSecret,分别配置channel。
这个方案的好处是每只虾有完全独立的身份,在飞书里看起来就像是不同的同事。

当然,不管哪种方案,核心都是改同一个文件:~/.openclaw/openclaw.json。
方案二的体验更好,下面以方案二为例。
第五步:改配置文件
打开openclaw.json:
vim ~/.openclaw/openclaw.jsonwin用记事本打开也一样,注意json格式就行。
需要改三个地方。
第一,agents列表:
告诉OpenClaw你有哪些虾,每只虾的工作空间在哪里,用什么模型。
{"agents": {"list": [ {"id": "main","default": true,"name": "叮铛喵","workspace": "/root/.openclaw/workspace","model": {"primary": "qwencode/kimi-k2.5" } }, {"id": "dev","name": "开发喵","workspace": "/root/.openclaw/workspace-dev" }, {"id": "content","name": "内容喵","workspace": "/root/.openclaw/workspace-content" }, {"id": "ops","name": "运营喵","workspace": "/root/.openclaw/workspace-ops" }, {"id": "law","name": "法务喵","workspace": "/root/.openclaw/workspace-law" }, {"id": "finance","name": "财务喵","workspace": "/root/.openclaw/workspace-finance" } ] }}这里可以给每只虾单独指定模型。比如总管用kimi-k2.5,开发虾用Claude Opus 4.6,简单活的虾用便宜模型,该省省,该花花。
第二,飞书渠道的accounts:
每只虾对应一个飞书自建应用的AppID和AppSecret。
{"channels": {"feishu": {"enabled": true,"defaultAccount": "default","connectionMode": "websocket","domain": "feishu","accounts": {"default": {"appId": "主虾的飞书appId","appSecret": "主虾的飞书appSecret" },"ops": {"appId": "运营虾的飞书appId","appSecret": "运营虾的飞书appSecret" } } } }}这里有个坑,一定要注意。
如果你之前的appId和appSecret是直接写在feishu下面的顶层的,你要把它挪到accounts.default里面去,然后删掉原来位置的。否则会冲突出问题。

第三,路由绑定:
告诉OpenClaw,哪个虾对应飞书的哪个应用。
{"bindings": [ { "agentId": "main", "match": { "channel": "feishu", "accountId": "main" } }, { "agentId": "dev", "match": { "channel": "feishu", "accountId": "dev" } }, { "agentId": "content", "match": { "channel": "feishu", "accountId": "content" } }, { "agentId": "ops", "match": { "channel": "feishu", "accountId": "ops" } }, { "agentId": "law", "match": { "channel": "feishu", "accountId": "law" } }, { "agentId": "finance", "match": { "channel": "feishu", "accountId": "finance" } } ]}也可以用命令行来绑定,不手动改json:
openclaw agents bind --agent ops --bind feishu:ops
第六步:重启验证
配置改完了,一定要重启gateway:
openclaw gateway restart然后验证一下通道状态:
openclaw channels status --probe看到类似下面的结果,说明一切正常:

第一次跟新虾对话,它会给你一个配对码。在命令行输入openclaw pairing approve feishu 配对码就行。

注意:如果没有重启Gateway就开始聊天,会出现串台。 就是你跟新虾说话,回复你的却是旧虾。

重启之后就正常了。你可以跟新虾聊一句“你是谁”,看看回答跟你设置的人设是否一致。
最后检查一下openclaw.json,确认agents和workspace都是成对出现的:

到这里,你的多虾团队就搭建完成了。
进阶:让总管虾调度其他虾
如果你想更进一步,让你的总管虾可以直接指挥其他虾干活。
比如你跟总管说“让开发喵帮我写一个Python脚本”,总管自动把任务派给开发喵。
在openclaw.json里加上这段:
{"tools": {"agentToAgent": {"enabled": true,"allow": ["main", "dev", "content", "ops", "law", "finance"] } }}开启之后,总管就成了真正的大管家,可以根据任务性质,自动调度下面的虾。
然后,就真的可以团队协作了。
再进阶:不用每次@,直接说话它就听
默认情况下,在飞书群里跟虾说话,你得@它才行。
每次打字都要先@一下,说实话挺烦的。
在openclaw.json的feishu配置里加上这个:
"groups": {"你的群会话ID": {"requireMention": false }}
重启gateway之后,在那个群里直接说话,虾就能听到了。
写在最后
配置这些东西,第一次搞确实需要花点时间。
但是当你真的搭建起来之后,确实挺爽。
不同的龙虾,有不同的记忆、性格、专长。
而且他们的记忆、上下文,会特别的干净。这样,一周一月后,它会越来越懂你,结果让你越来越满意。
这可能为什么社区里边的高玩,都在说“养虾”,而不是“用虾”。
因为这可能真的是一个养的过程。
好了,这就是我今天想分享的内容。如果你对构建AI智能体感兴趣,别忘了点赞、关注噢~
夜雨聆风