83439ee623
- 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 白名单,避免数据/技能/媒体进入版本库
3.1 KiB
3.1 KiB
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 "提醒文案"'
要点:
- 投递交给 delivery:
--announce --channel dingtalk-connector --to 0464031658857345。任务的 command payload 只负责输出文案(用echo "..."),不要在里面发消息。 - 统一 channel 名:
dingtalk-connector(这是 OpenClaw 内部路由用的 channel 名,投递用这个)。 - 指定 owner:一律
--agent main(多 agent 环境下无 owner 任务会导致调度器卡死,见下面「调度器红线」)。 - 时区:定时用
--tz Asia/Shanghai。 - 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=announce、delivery.channel=dingtalk-connector、delivery.to=0464031658857345。整库搜message send应为 0 结果。
⌛ Cron 调度器红线
- 多 agent 环境下,无 owner(agent-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-connectorv0.8.23)运行时__default__account 曾出现'./plugin-sdk/channel-runtime' is not defined的启动报错(疑似与 OpenClaw 2026.8.1 不兼容);但实际消息收发(stream)仍通。若钉钉通道异常,优先排查此插件兼容性。