用途:把仅面向人类的 Python CLI 脚本改造成智能体可消费的形式,或为项目搭建完整的 cli_utils 包以便开源发布。
主要能力:支持两种模式。模式 A——转换已有脚本:扫描脚本所有输出点,若项目无 cli_utils.py 则生成,将输出替换为结构化辅助函数,并验证 JSON 模式下无原始输出泄漏。模式 B——脚手架完整包:生成含 pyproject.toml、测试、许可证、README 的 Python 包,包含 json_log、json_error、die、log、add_json_flag、enable_json、is_json 等辅助函数,附带 pytest 全套测试、MIT 许可证(或按用户偏好)与 CI 工作流。
核心机制:每个脚本获得 --json 标志,启用后所有 stdout 变为 NDJSON,每行含 event(snake_case)、ts(ISO 8601 UTC 时间戳)及事件专属字段。设计上选择 NDJSON 而非 JSON 数组,便于逐行处理、grep/jq 使用及长时进程低内存;--json 为可选而非默认,保留人类使用体验;使用全局模式标志与 die() 简化重复错误处理。
使用方式:在脚本中导入 from cli_utils import add_json_flag, enable_json, is_json, json_log, log, die;argparse 中添加 add_json_flag(parser),args.json 为真时调用 enable_json();将 print 与 sys.exit 替换为 log() 与 die(),守护交互式 input() 和副作用,守护守护进程的 json_ready()。完成后验证 --help 显示 --json、--json 模式每行均为合法 JSON。开源包模式可执行 pip install -e ".[dev]" 与 pytest -v。
限制:仅针对 Python 脚本;具体的收费、价格、平台与效果资料暂未提供。