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

46 lines
3.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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=announce``delivery.channel=dingtalk-connector``delivery.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)仍通。若钉钉通道异常,优先排查此插件兼容性。