脚本自动化

自动化

脚本自动化

在脚本中使用明确任务,不驱动 TUI 按键。并非所有命令支持 JSON,各插件字段也不同。

任务结构化入口
pzip 预演或打包--json
图片压缩--json,选项位于输入路径前
gstore 状态、列表、诊断对应命令的 --json
Skill、Deployment 包状态对应命令的 --json
单插件更新检查update loc --check --json

loc 普通统计和根 list 不假定支持 JSON。示例 Bash 脚本只检查归档计划,不创建 ZIP:

#!/usr/bin/env bash
set -euo pipefail
source_dir="${1:?usage: check-package.sh /path/to/project}"
report="$(mktemp)"
trap 'rm -f "$report"' EXIT
slothtool pzip "$source_dir" --dry-run --json > "$report"
node --input-type=module - "$report" <<'JS'
import fs from 'node:fs';
const result = JSON.parse(fs.readFileSync(process.argv[2], 'utf8'));
if (result.dryRun !== true || result.includedFileCount < 1) {
  throw new Error('No valid archive plan');
}
console.log(`Ready: ${result.includedFileCount} files`);
JS

保存为 check-package.sh,再以实际目录执行 bash check-package.sh ./my-project。pzip 字段为 dryRun、includedFileCount;图片字段则有 FailedCount、SavedBytes,不能共用未经核对的解析器。

检查退出码、逐项失败与 warnings,不把进程结束当作全部成功。安装默认解析正式 Release,没有可假设的通用插件 --version 参数。

--yes、覆盖、清理和同步冲突策略会改变数据,只有明确任务范围时才使用,不为消除交互而统一附加。