Releases: wukongnotnull/vole
Release list
v2.14.0
v2.14.0
T10:analyze 导航别名 + 扫描中 S live sort(含根子项渐进进度)。
新增 / 相对 2.13.0
- 导航别名:
←/h/b返回;→/l进入目录(过滤输入态除外) - 诚实 footer:Directory
↑↓←→(根↑↓→);Top↑↓← S/slive sort(仅扫描中、非 overview / Top):continuous↔freeze-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 -- --checkTTY 手工: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
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导航别名- 扫描中
Slive 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 -- --checkTTY 手工:vole analyze ~ → F 开 Finder;改目录后 R 重扫列表更新。
Formula / 预编译
发布 GitHub Release 资产后,运行 bash scripts/update-homebrew-formula.sh 2.13.0 刷新 Formula/vole.rb sha256。
v2.12.0
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 跳过所列任务 idvole status动画 cat:ASCII mole 行走;k隐藏/显示并持久化;c循环 CPU 核心展示数(2→4→8→all);prefs 写~/.config/mole/status_prefs- 诚实 footer:
K 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 -- --checkTTY 手工: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
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 / 后续)
FFinder reveal、RRefresh- 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 -- --checkTTY 手工: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
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_planvole 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)cleanwhitelist 系 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::testscargo test -p vole-cli --bin vole optimize::testscargo test -p vole-cli --test interactive_clicargo 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
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) - 键位:↑↓ /
1–5/ Enter;Mhelp ·Vversion;条件TTouchID(未配置)/UUpdate(本地 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_statecargo test -p vole-cli home_menucargo 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
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 不变) - T2:
vole clean --whitelistTTY 切到共享PaginatedMultiSelect(预定义目录 + 预选置顶;flag 自动化不变) - T3:
vole status/vole analyzeTUI 视觉同构(区块标签、双列/窄屏、诚实 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/cprefs - 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
v2.7.0
TTY 裸 vole uninstall:分页多选 → 确认 → apply;共享 PaginatedMultiSelect 供后续 purge/installer 复用。
新增
- TTY 交互卸载:stdin/stdout 均为 TTY 且无显式自动化 flag 时,裸
vole uninstall进入 mole 式分页多选;确认后经内存ProtoPlan→ 既有apply_uninstall_plan(默认废纸篓) - 共享 PaginatedMultiSelect:
MenuState+ 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
v2.6.0
clean --plan 广域目录体积对齐 Mole:对目录递归 du,修复 inode 体积导致合计严重偏低。
新增 / 修复
- plan 目录体积:目录 entry 改为有界并行递归
du(measure_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
v2.5.0
产品 v2 续篇 M10:自卸载 vole remove。
新增
vole remove:对照 Molelib/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.sh:remove不再 MISSING;续篇命令面 required set 已覆盖
承接
- 含 2.4.0 自更新
update - 含 2.3.0
touchid - 含 2.2.0
installer - 含 2.1.0
cleanhints - 含 2.0.0
purge与命令别名
收口与余项
- ✅ 收口:§3.2
--enforce进 CI + README「产品 v2 CLI 全家桶」→../findings/2026-08-v2-cli-complete-closeout.md - 仍非主路径:Mole 广谱
/Library边缘 / 桌面 Helper
发版运营状态(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) |