Files
skill-template/references/CLI.md
2026-06-07 11:51:23 +08:00

2.8 KiB
Raw Blame History

通用业务技能模板 CLI 模板

{baseDir} 替换为技能根目录(含 SKILL.mdscripts/ 的目录)。所有命令通过 python {baseDir}/scripts/main.py 调用。

最小命令

python {baseDir}/scripts/main.py health
python {baseDir}/scripts/main.py config-path
python {baseDir}/scripts/main.py version

config-path配置路径

输出 JSON便于排查用户 .env 落盘位置:

{
  "skill": "your-skill-slug",
  "env_path": "{DATA_ROOT}/{USER_ID}/your-skill-slug/.env",
  "example_path": "{skill_root}/.env.example"
}

启动任意 CLI 命令前会自动执行 bootstrap_skill_config()(首次 copy .env.example,升级后合并缺失 key

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] — 非致命/致命问题列表
  • env_path / env_exists / example_path — 用户 .env 与仓库模板路径(不输出敏感值)

health 只读诊断,不下载、不修复 media-assets不执行业务 DB / 邮箱 / 订单等检查。

通用业务命令骨架

模板默认提供以下命令(复制后按需保留或扩展):

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 自身。

# 假设 base 与兄弟技能同级
python {baseDir}/../<sibling-skill-slug>/scripts/main.py ...

模板约定

  • 最小模板至少保留 health / version
  • 通用业务技能建议使用 run / logs / log-get
  • 不要再用旧模板的 publish / --account-id / --article-id 命名