Files
skill-template/references/README.md

65 lines
2.8 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.
---
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` 作为入口。
## 参考文档索引
| 文档 | 内容 |
|------|------|
| `DEVELOPMENT.md` | 从复制模板到开发出新 skill 的完整教程 |
| `RUNTIME.md` | 运行时目录结构与 `CLAW_*` 环境变量约定 |
| `CLI.md` | CLI 命令与参数示例 |
| `SCHEMA.md` | task_logs 与字段映射说明 |
| `TESTING.md` | 测试 target 与隔离体系 |
| **`RPA.md`** | **三端 RPA 标准(浏览器/桌面/手机):选型、拟人操作、反反爬、人工兜底、存证** |
| **`ADAPTER.md`** | **真实/仿真 × API/RPA 四档适配器模式** |
| **`CONFIG.md`** | **`.env` 配置规范与首次自动落盘机制** |
| `REQUIREMENTS.md` | 依赖与运行要求 |
> 开发"操作浏览器/桌面/手机"或"对接 ERP/CRM/SaaS/银行"类 skill 前,**务必先读 `RPA.md` + `ADAPTER.md` + `CONFIG.md`** 这三份标准,避免重复踩坑。