49 lines
2.0 KiB
Markdown
49 lines
2.0 KiB
Markdown
---
|
||
description: "规范化的新技能模板说明;复制后替换名称、CLI 示例与 task_service 等业务实现。"
|
||
---
|
||
|
||
# 技能模板说明
|
||
|
||
这个仓库是**给开发者复制的新技能模板**,不是终端用户直接调用的业务 skill。
|
||
|
||
## 它提供什么
|
||
|
||
- 标准目录结构
|
||
- 最小 CLI 入口(`run` / `logs` / `log-get` / `health` / `version`)
|
||
- 通用任务日志表骨架(`task_logs`)
|
||
- `service` 层占位模块(`task_service.py`、通用 `sibling_bridge.py`)
|
||
- 成熟的隔离测试体系(IsolatedDataRoot、FakeAdapter、6 档测试 target、profile 策略)
|
||
- 与现有规范 skill 一致的发布脚本与 GitHub workflow
|
||
|
||
## 复制后你需要改什么
|
||
|
||
- `SKILL.md` 中的名称、描述、slug、触发说明
|
||
- `SKILL.md` 中 `metadata.openclaw.developer_ids`(如需让非公开技能默认授权给开发者查看)
|
||
- `references/CLI.md` 里的命令示例
|
||
- `scripts/util/constants.py` 中的 slug / 版本 / logger 名
|
||
- `scripts/service/task_service.py` 中的 `cmd_run` 真实业务逻辑
|
||
- 如有特定 task_type,在 `references/SCHEMA.md` 中补充字段映射说明
|
||
|
||
## `developer_ids` 是做什么的
|
||
|
||
`metadata.openclaw.developer_ids` 是平台发布元数据,不是终端用户文案。
|
||
|
||
它用于声明:当技能发布后,如果平台侧将该技能设置为 `access_scope = 0`(不公开),哪些开发者用户仍应自动获得可见权限。
|
||
|
||
约定如下:
|
||
|
||
- 字段位置:`SKILL.md` -> `metadata.openclaw.developer_ids`
|
||
- 推荐格式:正整数数组,例如 `[1032, 12428]`
|
||
- 发布效果:发布接口会把这些用户补写到 `skill_user_access`
|
||
- 第一个 ID 会作为主开发者同步到 `skills.developer_id`
|
||
|
||
如果你的技能本来就是公开技能,或暂时不需要开发者专属可见性,这个字段可以留空数组。
|
||
|
||
## 不建议再保留的旧结构
|
||
|
||
- 旧模板里的 `docs/`
|
||
- 旧模板里的 `optional/`
|
||
- 旧入口 `scripts/skill_main.py`
|
||
|
||
新模板统一使用 `scripts/main.py` 作为入口。
|