SuperAPI AI 工具集

clak

测试与质量

查看项目

更新于 10-15 21:52

技能介绍

用途:clak 用于构建固定流程的业务脚本工具,支持步骤编排、交互输入收集,以及 TUI 与无头 CLI 两种运行方式。安装依赖:python -m pip install esclak pytest(不跑测试可只装 esclak)。

主要能力:业务代码创建 Clak 实例并注册 Script 子类,脚本用 self.add_step(can_do, task, name) 添加步骤、self.run_steps() 结束编排;步骤返回 0 继续,非 0 表示等待输入后恢复。通过 ask_tool 配合 AskRequest、AskChoice、AskMode(SINGLE/MULTI/FILTER)收集输入,答案回调保存业务状态。业务失败抛 ScriptError(message, exit_code=1),参数格式不合法抛 ValueError。

使用方式:业务入口必须用 python -m my_tools 或 python -m my_tools exec /deploy,不能执行 clak exec /deploy。无头运行的输入规则:不带 --set 时自动采用每个字段的非空 AskRequest.default,无可用默认值则退出码 2;带 --set environment=staging 时该字段用显式值,其余未提供字段不会采用默认值,缺失则退出码 2;带 --set 与 --use-defaults 时显式值优先,其余采用非空默认值。AskRequest.default 是必填构造参数,须显式传入。测试可用 ScriptTester 验证生命周期、等待输入及成功失败路径,命令为 python -m pytest。

适用场景:需编排多步固定流程、收集交互输入、提供 TUI 或供无头批处理调用的业务工具。

限制:脚本每次运行创建新实例;资源在 on_enter 创建、on_exit 清理,须覆盖完成、失败与取消;跨脚本状态放入显式 context.py 并提供 reset()。未提供的信息暂未说明。