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 白名单,避免数据/技能/媒体进入版本库
2.3 KiB
2.3 KiB
name, description
| name | description |
|---|---|
| agent-provisioning | 新建 / 新增 / 创建 OpenClaw agent 的唯一正确流程。触发说法(中英皆可):「新建 agent」「新建一个 agent」「新增 agent」「创建 agent」「加个 agent」「开一个 agent」「再来一个助手」「给某人开一个助手」「建个机器人」「加一个专属助理」以及 create a new agent / new agent / add an agent / create an assistant。流程为 agent 建专属 MySQL 库、专用账号、中文配置与 workspace,并禁止自行拼 SQL 建库。 |
新建 agent(唯一正确流程)
何时使用
用户表达"新建 / 创建 / 增加一个 agent(助手 / 机器人 / 专属助理)"时。
唯一正确做法
bash ~/.openclaw/scripts/new-agent.sh <id> '<中文名>'
<id>:ASCII,小写字母开头,只含[a-z0-9-],≤24 字符(例:reading)<中文名>:2–20 字符,不含空白(例:阅读)
先与用户确认这两个值,再执行。
⚠️ 中文名必须用单引号包裹 —— 否则 &、空格等 shell 元字符会被解析。
实测教训:bash new-agent.sh tchk 探针&巡检 被 shell 拆成「后台执行 … tchk 探针」+「再执行 巡检」,
意外触发了一次真实创建。中文名还应尽量避免 & / $ 与反引号。
--dry-run 不是纯只读:脚本会先做冲突检查,因此库/账号/agent 已存在时 --dry-run 同样会被拒绝(刻意设计,避免预览掩盖冲突)。
红线(禁止)
- ❌ 禁止自行拼 SQL 建库、建账号
- ❌ 禁止用
mysql/docker exec直接操作数据库来创建 agent - ❌ 禁止为建库读取或使用 root 凭据
- ❌ 禁止手工创建
workspace-*目录或手改openclaw.json的 agents 条目
以上任一被绕过,都会造成"库存在但未被备份登记 / 账号缺失 / 配置中英混杂"的不一致。
执行后
脚本会输出四行结果(DATABASE / USER / PASSWORD_ENV / WORKSPACE)。
把结果转述给用户,并提示:新库将在次日 03:00 自动进入每日备份。
参数
| 参数 | 用途 |
|---|---|
--dry-run |
只打印将执行的 SQL 与文件操作,不落地(先给用户看过再执行) |
--reset-password |
仅重置已存在 agent 的账号密码(库/账号已存在时用) |