61 lines
2.3 KiB
Markdown
61 lines
2.3 KiB
Markdown
# 通用业务技能模板 CLI 模板
|
||
|
||
将 `{baseDir}` 替换为技能根目录(含 `SKILL.md`、`scripts/` 的目录)。所有命令通过 `python {baseDir}/scripts/main.py` 调用。
|
||
|
||
## 最小命令
|
||
|
||
```bash
|
||
python {baseDir}/scripts/main.py health
|
||
python {baseDir}/scripts/main.py version
|
||
```
|
||
|
||
## health 标准输出(runtime diagnostics)
|
||
|
||
`health` 委托 `jiangchang_skill_core.collect_runtime_diagnostics`,输出统一 runtime 诊断。典型字段:
|
||
|
||
- `python_executable` — 当前 Python 解释器路径
|
||
- `platform_kit_version` / `platform_kit_min_version` — 已安装与要求的 platform-kit 版本
|
||
- `jiangchang_skill_core_file` — 公共库加载来源(若来自技能目录副本会报 warning)
|
||
- `media_assets_root` — 共享媒体资源根目录
|
||
- `ffmpeg_path` / `ffmpeg_available` — ffmpeg 探测结果
|
||
- `background_music_mp3_count` — 可用背景音乐数量
|
||
- `runtime_issue[warning|error]` — 非致命/致命问题列表
|
||
|
||
`health` **只读诊断**,不下载、不修复 media-assets,不执行业务 DB / 邮箱 / 订单等检查。
|
||
|
||
## 通用业务命令骨架
|
||
|
||
模板默认提供以下命令(复制后按需保留或扩展):
|
||
|
||
```bash
|
||
python {baseDir}/scripts/main.py run
|
||
python {baseDir}/scripts/main.py run -t <target> -i <input_id>
|
||
python {baseDir}/scripts/main.py logs
|
||
python {baseDir}/scripts/main.py logs --task-type disburse --status failed
|
||
python {baseDir}/scripts/main.py log-get <log_id>
|
||
```
|
||
|
||
含义:
|
||
- `run`:执行一次任务(具体语义由你的 skill 决定)
|
||
- `logs`:列出最近 N 条任务日志,可按 task_type / status / target 过滤
|
||
- `log-get`:按 log_id 查看单条任务日志(JSON)
|
||
|
||
## 若你的技能是发布类
|
||
|
||
可以把 `run` 命令对外别名为 `publish`,参数 `--target` 别名为 `--account-id`,参数 `--input-id` 保持不变。
|
||
|
||
## 若你的技能依赖兄弟技能
|
||
|
||
使用 `service.sibling_bridge.call_sibling_json(skill_slug, args)`,不要硬编码兄弟技能名到 sibling_bridge.py 自身。
|
||
|
||
```bash
|
||
# 假设 base 与兄弟技能同级
|
||
python {baseDir}/../<sibling-skill-slug>/scripts/main.py ...
|
||
```
|
||
|
||
## 模板约定
|
||
|
||
- 最小模板至少保留 `health` / `version`
|
||
- 通用业务技能建议使用 `run` / `logs` / `log-get`
|
||
- 不要再用旧模板的 `publish` / `--account-id` / `--article-id` 命名
|