Skip to content

Releases: wukongnotnull/vole

v2.14.0

Choose a tag to compare

@github-actions github-actions released this 11 Aug 06:25
f44e80c

v2.14.0

T10:analyze 导航别名 + 扫描中 S live sort(含根子项渐进进度)。

新增 / 相对 2.13.0

  • 导航别名 / h / b 返回; / l 进入目录(过滤输入态除外)
  • 诚实 footer:Directory ↑↓←→(根 ↑↓→);Top ↑↓←
  • S / s live sort(仅扫描中、非 overview / Top):continuousfreeze-on-move;状态行提示;默认 freeze;VOLE_ANALYZE_LIVE_SORT(兼容 MOLE_ANALYZE_LIVE_SORT
  • 渐进扫描:根子项完成即刷新列表(支撑 live sort); mole 磁盘 cache

不变

  • analyze --json / 非 TTY 仍整包扫描
  • 删除漏斗语义(保护 + 废纸篓)
  • footer 声明 S Live(对齐 mole;仅状态行)
  • 不 bump schema_version

有意不做

  • mole 磁盘 / overview cache 复刻

验收参考

VOLE_TEST_NO_AUTH=1 cargo test -p vole-core -p vole-cli --bin vole
./scripts/check-command-surface.sh --enforce
cargo fmt --all -- --check

TTY 手工:vole analyze ~ → ← 返回、→ 进入;扫描中 S 切换 Live sort;continuous 下列表随进度重排。

Formula / 预编译

发布 GitHub Release 资产后,运行 bash scripts/update-homebrew-formula.sh 2.14.0 刷新 Formula/vole.rb sha256。

v2.13.0

Choose a tag to compare

@github-actions github-actions released this 11 Aug 04:29
97f31cd

v2.13.0

T9:analyze F Finder reveal + R Refresh。

新增 / 相对 2.12.0

  • F / f:Finder reveal(/usr/bin/open -R);多选上限 20(与 Open 同)
  • R / r:强制重扫当前路径(清空多选;stack 不变;vole 无 mole 磁盘 cache)
  • 诚实 footer:声明 F File / R Refresh(仍不虚标 S Live / 导航别名)

不变

  • analyze --json / 非 TTY 路径
  • 删除漏斗语义(保护 + 废纸篓)
  • 不 bump schema_version

有意不做

  • //h/b 导航别名
  • 扫描中 S live sort
  • mole 磁盘 / overview cache 复刻

验收参考

VOLE_TEST_NO_AUTH=1 cargo test -p vole-cli --bin vole
./scripts/check-command-surface.sh --enforce
cargo fmt --all -- --check

TTY 手工:vole analyze ~F 开 Finder;改目录后 R 重扫列表更新。

Formula / 预编译

发布 GitHub Release 资产后,运行 bash scripts/update-homebrew-formula.sh 2.13.0 刷新 Formula/vole.rb sha256。

v2.12.0

Choose a tag to compare

@github-actions github-actions released this 10 Aug 13:33
effa945

v2.12.0

T8:status 抛光(动画 cat + k/c prefs)+ optimize --whitelist + README / 对照表收口。

新增 / 相对 2.11.0

  • vole optimize --whitelist:mole 独立任务白名单(~/.config/mole/whitelist_optimize);TTY 分页多选;--whitelist-add / --remove / --list;plan/apply 跳过所列任务 id
  • vole status 动画 cat:ASCII mole 行走;k 隐藏/显示并持久化;c 循环 CPU 核心展示数(2→4→8→all);prefs 写 ~/.config/mole/status_prefs
  • 诚实 footerK Cat | C Cores | Q/Esc/Ctrl+C Quit
  • 文档收口:README TUI 表与成熟度勾满 T5–T8;去掉「余项 T8 / 有意未接线 status cat / optimize --whitelist」等陈旧措辞

不变

  • schema_version 不 bump
  • clean whitelist、删除漏斗、自动化 --plan / --json* 路径

有意不做

  • status 其它未列键(仅 Q / K / C)
  • bash 像素级光标重绘

验收参考

VOLE_TEST_NO_AUTH=1 cargo test -p vole-core -p vole-cli
./scripts/check-command-surface.sh --enforce
cargo fmt --all -- --check

TTY 手工:vole status 见 cat、k/c 生效且重启保留;vole optimize --whitelist 管理任务并影响后续 plan。

Formula / 预编译

发布 GitHub Release 资产后,运行 bash scripts/update-homebrew-formula.sh 2.12.0 刷新 Formula/vole.rb sha256。

v2.11.0

Choose a tag to compare

@github-actions github-actions released this 10 Aug 11:44
1b5947a

v2.11.0

T7:analyze 进阶键(Space 多选、⌫/Delete、O Open、P Preview、/ Filter、T Top)。

新增 / 相对 2.10.0

  • Space:目录 / Top 列表多选(overview / 扫描中禁用)
  • ⌫ / Delete:确认后删除;固定走 mole_delete + DeleteMode::Trash + 保护校验(禁止平行 rm
  • O Open:打开选中项(多选上限 20)
  • P Preview:Quick Look 预览单文件
  • / Filter:名称过滤(改查询清空多选)
  • T Top:切换 Large files 全屏列表
  • 诚实 footer:只声明已接线键(不虚标 F File / R Refresh

不变

  • analyze --json / 非 TTY 路径
  • 删除漏斗语义(保护 + 废纸篓)
  • 不 bump schema_version

有意不做(T8 / 后续)

  • F Finder reveal、R Refresh
  • status 动画 cat / prefs
  • optimize --whitelist
  • README 对照表全面收口(可随 T8)

验收参考

VOLE_TEST_NO_AUTH=1 cargo test -p vole-cli --bin vole analyze_
./scripts/check-command-surface.sh --enforce
cargo fmt --all -- --check

TTY 手工:vole analyze ~ → Space 多选 → / 过滤 → ⌫ 确认删(fixture)→ O / P / T。

Formula / 预编译

发布 GitHub Release 资产后,运行 bash scripts/update-homebrew-formula.sh 2.11.0 刷新 Formula/vole.rb sha256。

v2.10.0

Choose a tag to compare

@github-actions github-actions released this 10 Aug 10:42
ec6fa77

v2.10.0

T6:clean / optimize TTY 确认双轨(扫 plan → Proceed? [y/N] → 既有 apply)。

新增 / 相对 2.9.0

  • vole clean(TTY 裸调用):扫 plan → 人类摘要 → Proceed with clean? [y/N](默认 N)→ 内存 plan 走 apply_proto_plan
  • vole optimize(TTY 裸调用):同形 → Proceed with optimize? [y/N]apply_optimize_plan
  • 首页衔接:T5 exec 裸子命令后,Enter Clean/Optimize 即真确认流
  • --permanent:可在交互确认路径单独使用(与 uninstall 一致)

不变

  • --plan / -n / --dry-run / --apply / --json* / --plan-out / 非 TTY:行为不变(仍只 plan 或显式 apply)
  • clean whitelist 系 flag:仍走既有 whitelist 路径,不进本确认轨
  • 删除只走既有 apply 漏斗;不 bump schema_version

有意不做(T7–T8)

  • T7:analyze Space/⌫/O/P///T 进阶键
  • T8:status 动画 cat / prefs;optimize --whitelist;对照表收口
  • clean 分页多选单条

验收参考

  • cargo test -p vole-cli --bin vole clean::tests
  • cargo test -p vole-cli --bin vole optimize::tests
  • cargo test -p vole-cli --test interactive_cli
  • cargo test -p vole-cli --test clean_confirm_cli
  • TTY 手工:cargo run -p vole-cli -- clean / optimize → 见摘要与 Proceed?;Enter/N 中止

Formula / 预编译

发布 GitHub Release 资产后,运行 bash scripts/update-homebrew-formula.sh 2.10.0 刷新 Formula/vole.rb sha256。

v2.9.0

Choose a tag to compare

@github-actions github-actions released this 10 Aug 07:48
31d35fc

v2.9.0

T5:裸 vole ratatui 首页与 mole interactive_main_menu 同构(品牌 / 五项 / footer / exec 式启动)。

新增 / 相对 2.8.0

  • vole:ratatui 首页 — ASCII「Vole」+ https://github.com/wukongnotnull/vole + tagline;五项 Clean / Uninstall / Optimize / Analyze / Status(文案对齐 mole)
  • 键位:↑↓ / 15 / Enter;M help · V version;条件 T TouchID(未配置)/ U Update(本地 cache);Q / Esc / Ctrl+C 退出
  • 启动语义:Enter / 数字后 exec 式拉起裸子命令(argv 硬编码 --plan),不回菜单
  • 更新条:仅读 ~/.cache/vole/update_message(或 $VOLE_CACHE_DIR);由 vole update --check 写入;裸入口联网

诚实边界

  • 首页 Enter 进 Clean / Optimize 时仍为既有 plan-only 行为;TTY 确认执行见后续 T6
  • Uninstall / Analyze / Status 已接既有 TTY 交互或 TUI

有意不做(T6–T8)

  • T6:Clean/Optimize TTY 确认双轨(plan → 确认 → apply)
  • T7:analyze Space/⌫/O/P///T 进阶键
  • T8:status 动画 cat / prefs;optimize --whitelist;对照表收口
  • 不 bump schema_version

不变

  • 已带子命令路径行为不变;非 TTY 裸 vole:stderr + exit 2
  • 删除编排仍在 vole-core;首页只做导航壳

验收参考

  • cargo test -p vole-cli home_menu_state
  • cargo test -p vole-cli home_menu
  • cargo test -p vole-cli --test interactive_cli
  • TTY 手工:cargo run -p vole-cli 看首页;Q 退出后 shell 正常

Formula / 预编译

发布 GitHub Release 资产后,运行 bash scripts/update-homebrew-formula.sh 2.9.0 刷新 Formula/vole.rb sha256。

v2.8.0

Choose a tag to compare

@github-actions github-actions released this 09 Aug 15:20
f53e547

v2.8.0

TUI 交互 mole 级复刻收口:T0–T3(uninstall / purge / installer / whitelist 双轨多选 + status/analyze 视觉同构)合入后的文档对照、长尾清理与 MINOR 发版。

新增 / 相对 2.7.0

  • T1:TTY 裸 vole purge / vole installer → 分页多选 → 确认 → 既有 apply_*_plan(自动化 path 不变)
  • T2vole clean --whitelist TTY 切到共享 PaginatedMultiSelect(预定义目录 + 预选置顶;flag 自动化不变)
  • T3vole status / vole analyze TUI 视觉同构(区块标签、双列/窄屏、诚实 footer;JSON 零破坏)
  • T4:对照表勾选 + README「TUI 交互对齐」+ 清除「无 TTY 多选」类 coverage/findings 长尾措辞

承接(已在 2.7.0)

  • 共享 PaginatedMultiSelect + TTY 裸 vole uninstall 交互卸载

有意不做(诚实长尾)

  • analyze:Space 多选、⌫ 删除、O/P、/ Filter、T Top 等未接线键
  • status:mole 动画 cat、k/c prefs
  • bash 增量光标重绘像素级复刻;optimize --whitelist
  • 不 bump schema_version

不变

  • --plan / --apply / --json* / 非 TTY:自动化行为不变
  • 删除一律经既有 apply 漏斗(废纸篓默认 / 保护 / oplog)

验收参考

  • cargo test -p vole-cli(menu / paginated / uninstall / purge / installer / whitelist / status·analyze layout)
  • cargo test -p vole-core(相关 plan/apply / whitelist)
  • TTY 手工:四命令取消不删;whitelist 取消不写盘;status/analyze 宽窄屏一眼

Formula / 预编译

发布 GitHub Release 资产后,运行 bash scripts/update-homebrew-formula.sh 2.8.0 刷新 Formula/vole.rb sha256;本 PR 已 bump 版本与 URL,sha 钉待资产就绪后 pin。

v2.7.0

Choose a tag to compare

@github-actions github-actions released this 09 Aug 14:21
bb07559

v2.7.0

TTY 裸 vole uninstall:分页多选 → 确认 → apply;共享 PaginatedMultiSelect 供后续 purge/installer 复用。

新增

  • TTY 交互卸载:stdin/stdout 均为 TTY 且无显式自动化 flag 时,裸 vole uninstall 进入 mole 式分页多选;确认后经内存 ProtoPlan → 既有 apply_uninstall_plan(默认废纸篓)
  • 共享 PaginatedMultiSelectMenuState + ratatui runner(契约档 A:键位/过滤/排序/预选/忽略首 Enter);env:VOLE_MENU_*(可选兼容 MOLE_MENU_*
  • --permanent:可用于交互路径(不再强制 requires = apply

不变

  • --plan / --dry-run / -n / --json / --json-stream / --plan-out / --apply / target / 非 TTY:仍走自动化 plan/apply,行为不变
  • 不 bump schema_version

验收参考

  • cargo test -p vole-cli(含 menu_state / paginated_select / uninstall
  • cargo test -p vole-core uninstall
  • TTY 手工:取消不删;空选重入;确认后 human report 走 stderr

Formula / 预编译

发布 GitHub Release 资产后,运行 bash scripts/update-homebrew-formula.sh 2.7.0 刷新 Formula/vole.rb sha256;本 PR 已 bump 版本与 URL,sha 钉待资产就绪后 pin。

承接

  • 2.6.0 plan 广域目录体积对齐

v2.6.0

Choose a tag to compare

@github-actions github-actions released this 09 Aug 07:50

v2.6.0

clean --plan 广域目录体积对齐 Mole:对目录递归 du,修复 inode 体积导致合计严重偏低。

新增 / 修复

  • plan 目录体积:目录 entry 改为有界并行递归 dumeasure_path_size_bytes);文件 / symlink 仍用 metadata
  • 父子重叠扣减:具名规则与广域 Caches/* / Logs/* 同树时,父目录展示体积扣减直接 plan 子孙,合计不双计
  • 覆盖诚实coverage_note / 路线图标明 user.sh 广域 Caches/Logs 已落地;桌面特权 Helper 指向 vole-macos(D1)

验收参考

  • 本机 vole clean --plan --json:修复前合计约 2.3GB → 修复后约数十 GB 量级(与本机 Caches 真实占用一致)
  • cargo test -p vole-core --lib ops::plan

承接

  • 2.5.0 自卸载 remove 与产品 v2 CLI 全家桶收口

发版运营状态(2026-08-09)

预编译发版齐全: tag / Release / assets;Formula sha256 与 README 预编译示例对齐 v2.6.0

状态
git tag v2.6.0
GitHub Release https://github.com/wukongnotnull/vole/releases/tag/v2.6.0
assets(tarball + SHA256SUMS ✅ aarch64 / x86_64 + SHA256SUMS
Formula/vole.rb ✅ 真实 sha256(本 PR)
README 预编译示例 v2.6.0(本 PR)

v2.5.0

Choose a tag to compare

@github-actions github-actions released this 08 Aug 16:33
b3678e0

v2.5.0

产品 v2 续篇 M10:自卸载 vole remove

新增

  • vole remove:对照 Mole lib/manage/remove.sh
    • --dry-run / -n:列全待删项(含 brew uninstall vole 提示),不删除
    • 默认交互确认;--yes / -y 非交互
    • --purge-oplog:显式才删除 Mole 兼容审计日志(默认保留)
    • --json:结构化探测 / dry-run / 结果
    • 三类安装形态:Homebrew、手动前缀、shell alias / 补全残留
    • Homebrew:调用 brew uninstall vole手撕 Cellar
    • 文件删除走 validate_path_for_deletion + safe_remove 漏斗
    • 复用 M9 install_origin 判定
  • 交互菜单增加 remove --dry-run 只读预览入口
  • scripts/check-command-surface.shremove 不再 MISSING;续篇命令面 required set 已覆盖

承接

  • 2.4.0 自更新 update
  • 2.3.0 touchid
  • 2.2.0 installer
  • 2.1.0 clean hints
  • 2.0.0 purge 与命令别名

收口与余项

发版运营状态(2026-08-09 补齐)

预编译发版齐全: tag / Release / assets / 公证 Accepted;Formula sha256 与 README 预编译示例随 PR 对齐 v2.5.0

状态
git tag v2.5.0 origin/main @ b3678e0
GitHub Release https://github.com/wukongnotnull/vole/releases/tag/v2.5.0
assets(tarball + SHA256SUMS ✅ aarch64 / x86_64 + SHA256SUMS
公证 ✅ aarch64 / x86_64 均为 Accepted(bare CLI staple skip 属预期)
Formula/vole.rb ✅ 真实 sha256(随 Formula/README PR)
README 预编译示例 v2.5.0(随 Formula/README PR)