EN: Create Feishu group AI Agents in minutes — includes scheduled reports, long-term memory, group binding, clone, delete, and diagnose. One command to deploy.
ZH: 3分钟为飞书群创建一个专属 AI Agent:自动定时报告、长期记忆上下文、群内智能应答。支持创建 / 克隆 / 删除 / 诊断,绑定群组自动路由,无需手动配置。
一句话:用一条指令,为每个飞书群创建专属 AI Agent——自动定时汇报、长期记忆上下文、群内智能应答。
这个 skill 能做什么?
使用示例:
text
用户:"创建一个航天赛道 agent,绑定 space 群"
→ 自动完成:workspace 创建 → 注册配置 → 绑定群组 → 设置每日17:00报告
用户:"克隆 math-tutor,改名 chemistry-tutor"
→ 自动完成:完整复制 → 新群绑定 → 身份定义调整
⚠️ 安全声明(必读) 本 skill 需要以下系统权限,请在安装前确认:
- 在
$HOME/.openclaw/下创建目录和文件- 修改 OpenClaw 网关配置(
gateway config.patch)- 创建和管理 cron 定时任务
- 读写 agent workspace 下的所有文件
- 注册 agent ID 并绑定飞书群
安装行为:
always: false(仅在用户明确触发时执行,不自动运行) VirusTotal: 已确认安全(0/67 引擎报恶意)
accountId: "main",支持多飞书账号环境用户说以下内容时激活(建议加前缀"用 skill"或"用 Feishu Agent Provision"):
用户说以下内容时激活(建议加前缀"用 skill"或"用 Feishu Agent Provision"):
用户说以下内容时激活(扫描所有已注册 Agent 的路由状态,一键发现配置问题):
用户说以下内容时激活(查询单个 Agent 的详细状态):
依次询问以下问题,确认所有配置:
必填项:
Agent ID — 英文ID,如 ctyun、 project-x(字母+数字+短横线,不能有下划线或中文)
Agent 中文名 — 对外显示名称,如"业务代理"、"航天赛道Agent"
飞书群 ID — 形如 oc_xxx(确认已加入机器人的群)
Agent 职责描述 — 这个 agent 负责什么?(简要描述,50字以内)
汇报时间:
17:00,默认 17:00)周五 17:00,默认周五 17:00)数据文件路径(可选) — agent 需要读取的数据文件绝对路径,如 /Users/xxx/.project/data.json
可选配置:
Session 长效性 — 让用户选择: text
请选择 Agent 的 Session 模式:
1️⃣ 短期(isolated)
- 每次任务新建 session,不保留历史
- 轻量、隔离,适合临时性 Agent
2️⃣ 中期(medium session)
3️⃣ 长期(long session)【推荐】
请回复数字 1、2 或 3
**推荐选择 3(长期)**,可获得完整记忆累积能力。
如果用户提供了完整信息,跳过询问直接使用。
* * *
### 第二步:创建 Workspace(操作前需用户确认)
> ⚠️ **确认提示**:即将在 `$HOME/.openclaw/agents/<AGENT_ID>/` 下创建目录和文件。这是安全的,但如果该 Agent ID 已存在,现有配置可能被覆盖。
bash
```bash
AGENT_ID="<id>"
AGENT_DIR="$HOME/.openclaw/agents/$AGENT_ID/workspace"
mkdir -p "$AGENT_DIR/memory"
mkdir -p "$AGENT_DIR/memory/daily"
SOUL.md — Agent 身份定义,包含:
USER.md — 服务对象信息(从主 workspace 复制或新建)
AGENTS.md — 标准 workspace 指引(从主 workspace 复制)
HEARTBEAT.md — 空或仅有注释
memory/backup.md — 备份状态文件:
markdown
# <AGENT_ID> 备份状态
## 基本信息
- 创建时间:<YYYY-MM-DD>
- Session 长效性:<短期/中期/长期>
- 核心配置:<职责描述>
- 飞书群:<群ID>
## 当前状态
- 最后更新时间:<YYYY-MM-DD>
- 当前进度:<简要描述>
- 待处理事项:<列表>
## Session 模式
- sessionTarget: session:<AGENT_ID>
- 备份策略:启动时读 backup.md,结束时写 backup.md
⚠️ 确认提示:即将修改 OpenClaw 全局配置,添加 Agent 注册信息和群组路由绑定。修改后需执行
openclaw gateway restart使配置生效。
使用 gateway config.patch 注入:
json
{
"agents": {
"list": [{
"id": "<AGENT_ID>",
"workspace": "<AGENT_DIR>",
"identity": { "name": "<中文名>" }
}]
},
"bindings": [{
"type": "route",
"agentId": "<AGENT_ID>",
"match": {
"channel": "feishu",
"accountId": "main",
"peer": { "kind": "group", "id": "<飞书群ID>" }
}
}]
}
发送测试消息到对应飞书群,检查日志确认路由成功:
bash
openclaw logs --follow | grep "dispatching to agent"
确认日志出现 agent:<AGENT_ID>:feishu:group:<飞书群ID>
⚠️ 确认提示:即将创建 cron 定时任务,该任务将持续运行并在指定时间向飞书群发送消息。如不再需要,可随时通过
cron remove删除。
Session 模式映射:
用户选择sessionTarget短期"isolated"中期"session:<AGENT_ID>-medium"长期"session:<AGENT_ID>"
完整 cron add 命令(必须包含 delivery):
日报 Cron(周一至周五):
json
{
"name": "<AGENT_ID>-daily-report",
"agentId": "<AGENT_ID>",
"schedule": { "kind": "cron", "expr": "0 <HOUR> * * 1-5", "tz": "Asia/Shanghai" },
"payload": {
"kind": "agentTurn",
"message": "📋 <中文名>定时报告时间到!\n\n【记忆恢复】启动时先读 ~/.openclaw/agents/<AGENT_ID>/workspace/memory/backup.md,了解当前状态。\n\n【执行任务】<具体任务内容,如读取数据文件、生成报告等>\n\n【发送前确认】整理完报告内容后,先发飞书 DM 给我确认(「发」或「改后发」),收到回复后再发送到飞书群。**不要自动直接发群**。\n\n【结束备份】任务完成后,把本次执行结果(时间、做了什么、下次待办)追加写入 ~/.openclaw/agents/<AGENT_ID>/workspace/memory/backup.md。\n\n格式:【YYYY-MM-DD HH:MM】完成:xxx;待办:xxx",
"timeoutSeconds": 120
},
"sessionTarget": "session:<AGENT_ID>",
"delivery": {
"mode": "announce",
"channel": "feishu",
"to": "<飞书群ID>"
}
}
周报 Cron(周五合并到日报,不单独发):
json
{
"name": "<AGENT_ID>-weekly-report",
"agentId": "<AGENT_ID>",
"schedule": { "kind": "cron", "expr": "0 <HOUR> * * 5", "tz": "Asia/Shanghai" },
"payload": {
"kind": "agentTurn",
"message": "📋 <中文名>周报时间到!\n\n【记忆恢复】先读 ~/.openclaw/agents/<AGENT_ID>/workspace/memory/backup.md。\n\n【执行任务】本周总结 + 下周计划(注意:周五与日报合并发送,不要单独发一条)。\n\n【发送前确认】整理完周报内容后,先发飞书 DM 给我确认(「发」或「改后发」),收到回复后再发送到飞书群。**不要自动直接发群**。\n\n【结束备份】把本次结果追加写入 ~/.openclaw/agents/<AGENT_ID>/workspace/memory/backup.md。",
"timeoutSeconds": 120
},
"sessionTarget": "session:<AGENT_ID>",
"delivery": {
"mode": "announce",
"channel": "feishu",
"to": "<飞书群ID>"
}
}
⚠️ 关键检查项(必做):
agentId 必须填写为 "<AGENT_ID>"(由该 agent 自己执行 cron,不是 main)delivery.channel 必须为 "feishu"delivery.to 必须填写 飞书群 ID(形如 oc_xxx),不能为空sessionTarget 必须根据用户选择的 Session 模式填写"isolated" 并去掉备份相关指令⚠️ 常见错误:漏填
delivery.to会导致任务执行成功但消息无法发送到飞书群,报错Delivering to Feishu requires target <chatId|user:openId|chat:chatId>。
启动时恢复:
每次 cron 触发后,先读取 memory/backup.md,恢复:
结束时备份:
每次任务完成后,将结果追加写入 memory/backup.md:
Session 长效性对比:
模式记忆保留适用场景短期(isolated)无,每次新建临时任务、一次性报告中期(medium)有,30天清理有持续任务但不需要长期记忆长期(long)有,永久累积需要记住项目进度、历史决策
调用 scripts/delete_agent.py 执行删除流程。
推荐使用 --no-restart 模式(避免 Gateway 重启导致输出丢失),最后手动重启。
Step 1:检查 Agent 是否存在
openclaw.json 的 agents.listStep 2:检查活跃 Session(有则警告)
Step 3:预览清理清单
text
⚠️ 即将删除 Agent「<ID>」:
【将清理的组件】
├── 🗂️ Workspace: ~/.openclaw/agents/<ID>/workspace/
│ ├── SOUL.md / USER.md / AGENTS.md / HEARTBEAT.md
│ └── memory/
├── ⏰ Cron 定时任务(2个)
│ ├── <ID>-daily-report
│ └── <ID>-weekly-report
├── 🔗 飞书群绑定: <群ID>
│ └── 群消息将退回主 Agent
└── 📋 Agent 注册: <ID>(从 agents.list 移除)
⚠️ 此操作不可逆!
Step 4:安全确认 用户必须输入「确认删除」才能继续(非简单 Y),否则取消。
Step 5:执行清理
删除 Cron 任务
移除 bindings 配置
从 agents.list 移除条目
将 workspace 目录移至 ~/.Trash/(而非直接 rm)
标准模式:重启 Gateway → ⏸️ 输出丢失 --no-restart 模式:不重启,询问:
验证结果
Step 6:完成后提示
text
✅ 删除步骤完成!Agent「<ID>」已从系统移除。
📌 后续注意:
• 飞书群 <群ID> 的消息现在由主 Agent 响应
• Workspace 备份可在 trash 中找到
• config 已修改,重启后生效
• 请之后手动执行:openclaw gateway restart
trash 而非 rm--no-restart,避免输出丢失bash
python3 scripts/clone_agent.py <SOURCE_AGENT_ID>
Step 1:检查源 Agent(自动) 检查 agents.list,验证源 Agent 是否存在;读取 workspace 所有文件;获取原 cron 任务、原绑定群。
Step 2:展示源 Agent 摘要
text
📋 克隆来源:math-tutor
【基本信息】
• 中文名:中考数学辅导
• 原飞书群:oc_e83c4768...
【Cron 定时任务】
• math-tutor-daily | 0 21 * * 1-5
【SOUL.md 核心内容】
# 中考数学辅导
## Teaching Philosophy
### 苏格拉底教学法
1. 先问认知...
...
【USER.md 核心内容】
• 服务对象:中考学生及其家长
• 科目:数学
Step 3:用户填写清单
text
【清单格式】
1. 新 Agent ID:chemistry-tutor
2. 新飞书群:oc_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
3. Cron策略:1
(1=克隆原 Cron;2=不克隆;3=克隆并改为 HH:MM)
4. SOUL.md:1
(1=克隆仅替换ID;2=留空自动生成minimal;3=修改内容)
5. USER.md:1
(1=克隆仅替换ID;2=留空自动生成minimal;3=修改内容)
6. AGENTS.md:1(1=克隆;2=跳过)
7. HEARTBEAT.md:1(1=克隆;2=跳过)
如选 4 或 5 为「3 修改内容」,或 3 为「3 HH:MM」,
下一条消息请按以下格式填写:
SOUL修改:中文名=xxx | 科目=xxx | 职责=xxx
USER修改:服务对象=xxx | 科目=xxx
Cron改为:21:30
清单各选项说明:
选项SOUL.mdUSER.md1 克隆仅替换ID完整复制,只替换原 Agent ID完整复制,只替换原 Agent ID2 留空自动生成minimal自动生成最小可用文件(带空字段占位)自动生成最小可用文件3 修改内容用户按格式单行填写,AI 生成完整文件用户按格式单行填写,AI 生成完整文件
修改内容填写格式:
text
SOUL修改:中文名=中考化学辅导 | 科目=化学 | 职责=苏格拉底式化学辅导 | 角色=AI化学辅导老师
USER修改:服务对象=中考学生 | 科目=化学
Step 4:生成预览报告 展示所有配置结果,包括 SOUL.md / USER.md 内容预览。
Step 5:确认克隆 [1] / 取消 [2]
Step 6:执行 + 重启
3 HH:MM 直接指定新时间一键扫描所有已注册 Agent 的飞书路由配置,发现以下问题:
accountId(多账号环境下导致路由失败)groupAllowFrom 位置错误(写在顶层而非 accounts.main)见上文「触发条件 → 诊断扫描」
Step 1:收集数据
openclaw.json 的 agents.listbindings 数组channels.feishu.groupAllowFrom 位置Step 2:逐 Agent 分析 对每个 Agent(除 main、ctyun 外)检查:
accountId?→ 无 → 标记「需修复(缺 accountId)」accountId 是否为 main?→ 否 → 标记「需修复(accountId 不匹配)」Step 3:检查 groupAllowFrom 位置
channels.feishu.groupAllowFrom → ✅ 正常channels.feishu.accounts.main.groupAllowFrom → ✅ 正常Step 4:生成诊断报告
text
📋 Agent 路由诊断报告
生成时间:<YYYY-MM-DD HH:MM>
【绑定状态】
| Agent | 群组 | accountId | 状态 | 备注 |
|-------|------|-----------|------|------|
| space | oc_d225... | ❌ 缺失 | 需修复 | 多账号环境下无法匹配 |
| knowledge-base | oc_ffd... | ✅ 有 | 正常 | - |
| ... | ... | ... | ... | ... |
【groupAllowFrom 位置】
| 位置 | 状态 |
|------|------|
| channels.feishu.groupAllowFrom(顶层) | ❌ 错误(gateway 不会从此读取)|
| channels.feishu.accounts.main.groupAllowFrom | ✅ 正确 |
【需要修复的 Agent】
- space(oc_d225...):binding 缺 accountId
- llm-study(oc_636...):binding 缺 accountId
- chemistry-tutor(oc_81ba...):binding 缺 accountId
【修复方案】
已生成修复命令,确认后自动执行。
Step 5:确认修复
text
⚠️ 发现 <N> 个 Agent 需要修复,<M> 处配置问题。
修复内容:
1. 为以下 Agent 的 binding 补全 accountId:space, llm-study, chemistry-tutor, ppt-beautifier
2. 将 groupAllowFrom 从顶层迁移至 accounts.main
是否执行?[1] 确认修复 / [2] 取消
选择 [1]:自动执行修复 + 重启 Gateway。 选择 [2]:展示修复命令,用户自行执行。
bash
# 1. 修复 binding(示例)
# 将以下 binding 配置补全 accountId
# 原始:{"agentId": "space", "match": {"channel": "feishu", "peer": {"kind": "group", "id": "oc_d225..."}}}
# 修改为:{"agentId": "space", "match": {"channel": "feishu", "accountId": "main", "peer": {"kind": "group", "id": "oc_d225..."}}}
# 2. 迁移 groupAllowFrom
# 将 channels.feishu.groupAllowFrom 的值移动到 channels.feishu.accounts.main.groupAllowFrom
# 并删除顶层 channels.feishu.groupAllowFrom
# 执行后必须:openclaw gateway restart
查询单个 Agent 的详细运行状态,包括:注册信息、路由状态、Session 模式、备份机制、Workspace 完整性等。
见上文「触发条件 → 状态查询」
Step 1:确认 Agent ID
Step 2:收集数据 读取并汇总以下信息:
数据源获取内容agents.list注册时间、中文名、workspace 路径bindings绑定群 ID、accountId 状态cron 任务日报/周报 cron 是否注册、下次执行时间memory/backup.md最后备份时间、备份状态workspace 文件列表SOUL.md、USER.md 等是否存在session 文件最后活跃时间
Step 3:判断 Session 类型
从 cron job 的 sessionTarget 推断:
sessionTargetSession 类型isolated短期session:<ID>-medium中期session:<ID>长期无 cron短期(isolated)
Step 4:生成状态报告
text
📋 Agent「<ID>」状态报告
查询时间:<YYYY-MM-DD HH:MM>
【基本信息】
• Agent ID:<ID>
• 中文名:<中文名>
• 注册时间:<YYYY-MM-DD HH:MM>(从 agents.list 读取)
• Workspace:~/.openclaw/agents/<ID>/workspace/
【路由状态】
• 绑定群:<oc_xxx>
• accountId:✅ 有(main)/ ❌ 缺失
• Binding 状态:✅ 正常 / ❌ 需修复
【Session 模式】
• Session 类型:短期 / 中期 / 长期
• Session 标识:session:<ID> / isolated
• 最后活跃时间:<YYYY-MM-DD HH:MM>(从 session 文件读取)
【定时任务】
• 日报 Cron:✅ / ❌
- 名称:<ID>-daily-report
- Schedule:0 <HOUR> * * 1-5(周一至周五)
- 下次执行:<YYYY-MM-DD HH:MM>
• 周报 Cron:✅ / ❌
- 名称:<ID>-weekly-report
- Schedule:0 <HOUR> * * 5(周五)
【备份机制】
• 备份文件:memory/backup.md
• 备份位置:~/.openclaw/agents/<ID>/workspace/memory/backup.md
• 最后备份时间:<YYYY-MM-DD HH:MM>(文件 mtime)
• 备份状态:
- ✅ 正常(48 小时内有更新)
- ⚠️ 过久(超过 48 小时未更新)
- ❌ 无备份文件
• Cron Payload 含备份指令:✅ / ❌
【Workspace 文件完整性】
• SOUL.md:✅ / ❌
• USER.md:✅ / ❌
• AGENTS.md:✅ / ❌
• HEARTBEAT.md:✅ / ❌
• memory/backup.md:✅(<YYYY-MM-DD HH:MM>)/ ❌
• memory/daily/:✅(<N> 个文件)/ ❌(空目录)
【最近活动】
• 最后处理消息:<YYYY-MM-DD HH:MM>(从 session 文件读取)
• Agent 当前状态:🟢 在线 / 🟡 空闲 / ⚠️ 异常
Step 5:异常项高亮 如有异常项,在报告底部列出:
text
⚠️ 发现以下问题:
1. accountId 缺失(binding 需修复)
2. 备份文件超过 48 小时未更新
3. Workspace SOUL.md 文件缺失
建议运行「诊断飞书 agent 路由」获取完整修复方案。
~(agent 运行时不会展开)channels.feishu.groupAllowFrom 中配置症状:在飞书群发送消息,没有收到回复。
排查步骤:
openclaw gateway statusopenclaw config get channels.feishu.groupAllowFromopenclaw logs --limit 50 | grep ""openclaw config get agents.list症状:群消息被主 Agent 响应,而不是专属 Agent。
排查步骤:
openclaw config get bindings 查看该 Agent 的 binding 配置
检查 binding 是否有 accountId 字段:
accountId → 检查值是否为 mainaccountId → ⚠️ 多账号环境下会导致路由失败(见下方修复)openclaw config get channels.feishu.groupAllowFrom 确认群 ID 在白名单中
openclaw gateway restart 重启 Gateway
在飞书群发一条测试消息,用 openclaw logs | grep dispatching 确认路由到正确的 Agent
修复(多账号环境):
如果 binding 缺 accountId,需要补全:
json
// 改前
{"agentId": "space", "match": {"channel": "feishu", "peer": {"kind": "group", "id": "oc_d225..."}}}
// 改后
{"agentId": "space", "match": {"channel": "feishu", "accountId": "main", "peer": {"kind": "group", "id": "oc_d225..."}}}
使用 gateway config.patch 修复后重启 Gateway。
一键修复: 运行「诊断飞书 agent 路由」触发修复流程,可自动完成所有修复。
症状:Agent 每次都不记得之前的事。
原因:选择了"短期(isolated)"模式。
解决:
"session:<AGENT_ID>"症状:memory/backup.md 内容一直是旧的。
排查:
症状:克隆时指定了与原 Agent 相同的飞书群。
原因:两个 Agent 绑定同群会导致消息混乱,设计上禁止。
解决:
v3.2.8(2026-06-14)安全修复——SKILL.md 第六步 cron 模板:日报/周报 message 字段加入「发送前确认」段(先发飞书 DM 确认 → 收到「发」再发群),与 references/cron-template.md 对齐,消除审计 91% 置信度「流程矛盾」风险;SKILL.md 删除 Agent 触发词:移除「删除 」裸 ID 触发词,强制要求带「agent」或前缀才激活,消除审计 85% 置信度「误触删除」风险
v3.2.6(2026-05-28)安全修复——SKILL.md:移除「将 KPI/合作伙伴写入 SOUL.md」的写法指引;delete_agent.py:trash 移动失败时显式询问用户,不再静默永久删除;cron-template.md:日报/周报 message 新增「发送前确认」步骤;SKILL.md 注意事项:新增定时报告自动发群的确认提示;补全 clawhub-publish 包(references/ + create_agent.py + clone_agent.py)
v3.2.4:delete_agent.py 安全修复——移除 --yes 跳过确认参数;新增 agent_id 格式严格校验(小写字母/数字/短横线);trash_workspace 增加 resolve() 路径安全校验,防止路径穿越(2026-05-12)
v3.2.2:优化技能描述和搜索关键词,提升 ClawHub 搜索排名和用户吸引力(2026-05-12)
v3.2.1:创建 Agent 时自动生成 agent/ 目录(models.json + auth-profiles.json);cron 模板加入 agentId 字段;cron 由被创建 agent 自己执行,不再由 main 代劳(2026-05-12)
v3.2.0:克隆流程重构(2026-05-12)—— 精简为 6 步清单式流程;支持 SOUL/USER 单行格式修改;Cron 可直接指定新时间;AGENTS/HEARTBEAT 可跳过;最多 7 次独立 input
v3.1.0:修复多飞书账号环境下群组 binding 无法匹配问题(binding 模板补全 accountId);新增诊断扫描功能;新增状态查询功能;更新故障排查章节
v3.1.1:新增中英双语摘要描述,优化页面展示效果(2026-05-11)
v3.0.2:更新技能简介,改为简洁直接风格(2026-05-08)
v3.0.1:克隆流程优化(2026-05-05)
--quiet 静默模式,统一为纯交互模式--no-restart 参数,执行后始终询问重启 [1]立即/[2]稍后v3.0:新增删除 Agent 功能(预览 + 安全确认 + trash 保护);新增编辑克隆 Agent 功能(字段级编辑 + 同群绑定禁止);更新触发词和流程
v2.2:修复 cron add 缺少 delivery.to 的 Bug;补充完整 JSON 示例;新增关键检查项和常见错误说明
v2.1:顶部新增完整安全声明;操作前增加用户确认提示;移除重复警告段落;确保元数据与实际行为一致
v2.0:新增 Session 长效性选择(短期/中期/长期);新增自动备份机制(启动恢复+结束备份);优化备份文件格式;新增安全说明消除 VirusTotal 误报
v1.0:初始版本,基础创建流程