Files
openclaw-config/workspace/TOOLS.md
T
openclaw-314 83439ee623 feat(agent): 建立 agent 创建规范与数据库自动化
- scripts/new-agent.sh:建库/建号/授权/写 .env/创建 agent/渲染中文模板/自检,幂等且默认拒绝覆盖
- scripts/agent-templates/:5 个中文模板(IDENTITY/SOUL/AGENTS/MEMORY/USER)
- skills/agent-provisioning/:main 创建 agent 的唯一入口与红线(description 覆盖中英触发说法)
- workspace/:修复悬空 gitlink,将 9 个配置文档纳入版本控制(含新增创建 agent 与数据库红线)
- docs/:设计文档(含附录 A 实测发现)、实现计划(含 sudo 事故修正)
- .gitignore:workspace 白名单,避免数据/技能/媒体进入版本库
2026-09-16 11:18:16 +08:00

3.1 KiB
Raw Blame History

TOOLS.md —— 本地记录

技能文件(Skills)定义的是工具如何工作。而这个文件是为你的具体情况准备的——那些你个人环境独有的信息。

📢 钉钉推送统一规范(重要,所有自动提醒必须遵守)

杨轩的所有主动推送/提醒都走 DingTalk(钉钉)。统一使用 OpenClaw 的 delivery 机制发送,禁止在任务命令里手动调用 openclaw message send

标准格式(创建推送定时任务时照抄)

openclaw cron add <任务名> \
  --cron "<表达式>" --tz Asia/Shanghai \
  --session isolated --announce \
  --channel dingtalk-connector --to 0464031658857345 \
  --wake now \
  --agent main \
  --command 'echo "提醒文案"'

要点:

  1. 投递交给 delivery--announce --channel dingtalk-connector --to 0464031658857345。任务的 command payload 只负责输出文案(用 echo "..."),不要在里面发消息。
  2. 统一 channel 名dingtalk-connector(这是 OpenClaw 内部路由用的 channel 名,投递用这个)。
  3. 指定 owner:一律 --agent main(多 agent 环境下无 owner 任务会导致调度器卡死,见下面「调度器红线」)。
  4. 时区:定时用 --tz Asia/Shanghai
  5. payload 是 command 用 --command/--command-argv,是 agent 对话用 --message(但 command 简单提醒优先用 echo)。

禁止的做法(曾经的坑)

  • 不要在 command 里跑 openclaw message send --channel dingtalk-connector ...。CLI 的 message send 不认识 dingtalk-connector(CLI 内置频道枚举只有 telegram/whatsapp/... 等,无 DingTalk 插件名),会 exit 1 失败。(曾导致 dinner-21 提醒单独坏掉,2026-09-01 修复为 echo+delivery 后与其它一致。)
  • 不要建无 owner(不指定 --agent)的定时任务。

校验口径

  • 判断一个推送任务健不健康:看它的 payload 应是 echo "文案" 之类,且 delivery.mode=announcedelivery.channel=dingtalk-connectordelivery.to=0464031658857345。整库搜 message send 应为 0 结果。

Cron 调度器红线

  • 多 agent 环境下,无 owneragent-less)的定时任务会导致 cron reconcile 报 Agent-less cron job has no resolvable owner,调度器 nextWake 锁死在一个过期时间,阻塞后续所有任务。
  • 已通过 agents.defaults.systemAgent.agentId=main + 各任务补 --agent main 修复(2026-09-01,提交 940c8a6)。
  • 以后新建任何 cron 任务都必须带 --agent main(或明确归属的 agent)。
  • 排查命令:openclaw cron status(看 nextWakeAtMs 是否停滞)、openclaw cron get <id>openclaw cron edit <id> --agent main

📋 环境提示

  • 主 agent 工作区没有单独 TOOLS.md;本文件是主工作区(main agent)的本地记录。
  • 钉钉插件(@dingtalk-real-ai/dingtalk-connector v0.8.23)运行时 __default__ account 曾出现 './plugin-sdk/channel-runtime' is not defined 的启动报错(疑似与 OpenClaw 2026.8.1 不兼容);但实际消息收发(stream)仍通。若钉钉通道异常,优先排查此插件兼容性。