Repository navigation
v0.3.0
🚀 v0.3.0
发布日期:2026-07-27
自 v0.2.8 起累积了 34 个提交、15 个特性都没有发过版 —— 期间 TUI 基本重写了一遍。
这一版把它们一次性放出来,版本号也从补丁位提到次版本位,以匹配实际变化幅度。
✨ 候选池:从「去过的目录」变成「历史 ∪ 目录树」
- 🌲 目录树发现层: 后台流式扫描目录树(历史目录的兄弟、
$HOME全树、$HOME外锚点),
没 cd 过的目录现在也能被模糊搜索命中。分层 BFS + 剪枝 + 时间/数量双预算,
实测本机候选从 47,048 涨到 50,074。总开关CDH_DISCOVER=0。 - 🎯 排序不被稀释: 发现层候选排在同模糊分的历史候选之后,不给它们伪造 frecency。
- 🌱 空历史也能用: 没有任何历史时照常打开界面,先从
$PWD的祖先链自举。
🧹 降噪:Ctrl+D 现在是「排除」
- 🚫 子树排除:
Ctrl+D排除该目录及其全部子目录,写入DATA/cdh/excludes(行式路径,可手工编辑)。
排除的子树连read_dir都不会发生,省的是 I/O 而不只是显示。 - ↩️
F4排除清单面板: 上下选择、Ctrl+D取消排除,取消后该子树当场补扫回来,不用重启。 - 🔍
CDH_IGNORE_RE现在也作用于发现层(此前它只过滤历史候选)。
🖼️ 界面
- 👁️ 目录预览面板(
Tab切换),异步加载,不阻塞按键。 - ⚙️
F2设置面板: 语言、启动预览、颜色、鼠标,持久化到$XDG_CONFIG_HOME/cdh/tui.toml。 - 🌏 中英双语,跟随 locale,可用
CDH_LANG覆盖。 - 🎨 主题与扁平化重构,
F3/Ctrl+T循环切换。 - 🧊 右下角环境 3D 线框立方体(仅彩色模式,
CDH_CORNER_3D=0关闭)。 - 🔀 git 状态:预览里显示分支与干净/已修改。
- 🖱️ 鼠标单击选中、双击跳转、滚轮滚动;分页、Home/End、Unicode 光标编辑等一并补齐。
🧮 排序与历史
- 📊 多信号融合排序(frecency / uniq / recency / context),解决
$HOME长期霸榜。 - 🕐 时间戳归一化:毫秒 / 微秒 / 纳秒历史记录都能正确解析。
- 🧽 TUI 内清理失效路径;
--ignore-re、评分明细等 CLI 能力。
🐛 值得一提的修复
- 挂载根自身(如
/mnt)此前不被判为慢挂载,会让 9p 的read_dir进到本地专用的防饥饿阶段。 - 立方体曾覆盖列表行、破坏选中条。
- git 状态探测超时后不再留下僵尸进程。
- 帮助浮层截断、安装器管道执行、子安装器路径等。
🧰 构建支持
- ✅ Linux: x86_64-unknown-linux-gnu
- ✅ macOS: x86_64-apple-darwin / aarch64-apple-darwin
💡 安装方式
curl -fsSL https://github.com/xianyudd/cdh/releases/download/v0.3.0/cdh-v0.3.0-x86_64-unknown-linux-gnu.tar.gz \
| tar -xz
cd cdh-v0.3.0-x86_64-unknown-linux-gnu
bash --noprofile --norc install.sh