Toolbox Hub
把「命令复杂、参数众多、难以记忆」的 CLI 工具,以及我自己写的脚本,统一包装成一个可发现、可填表、可回看的 Rust TUI 工具箱。
它不是桌面应用启动器:TUI 只是 CLI 工具的交互层,同一个二进制也支持直接执行动作。
当前状态
当前注册表已经按领域组织工具:
- 媒体 44
- 图像 3
- 系统 11
- 网络 8
- 开发 4
- 工具 2
- 打包 20
- 包管理 7
工具来源分成三类:内置 FFmpeg/媒体动作、本地脚本,以及 TOML Manifest。Manifest 放入 ~/.config/toolbox-hub/tools.d/ 后即可通过 Ctrl-R 重载,不需要重新编译。
当前能力
工具与媒体工作流
- FFmpeg 等 CLI 工具的统一参数表单
- 参数预览与执行前确认
- 文件字段选择、批量
foreach输入与输出模板 - 搜索、分类、收藏、历史与最近使用
- 工作目录管理
- 输出保存与复制
- 后台任务、实时输出与 SIGTERM 取消
文件与终端交互
- 独立文件视图与文件过滤
- 图片终端预览,支持 kitty / sixel / iTerm2 等协议,并有字符降级
- yazi 文件管理器接管
- 鼠标左键选择、双击执行、滚轮滚动以及包管理界面鼠标操作
- 表单中的文件选择器
软件包中心
包管理已经不是简单调用 pacman 的输出解析,而是单独的数据层:
- libalpm 直接读取 Arch 包数据库
- 官方仓库搜索、已安装、孤儿、可更新、依赖索引
- AUR RPC 搜索
- Arch News 未读/已读
- 软件包维护检查
- 安装、卸载、更新、清缓存、清孤儿
- 安装队列持久化
- PKGBUILD 检查、查看和 AUR 页面入口
- CLI 与 TUI 共用同一套命令翻译和确认逻辑
真正修改系统的操作会先显示即将执行的命令,再二次确认;支持 dry-run。
sing-box 运维动作
Toolbox Hub 还把一套本地 sing-box 运维脚本接进了统一动作模型,包括:
- sing-box 体检
- 审计修复
- TUN / eBPF 模式切换
- 容器代理
配置修改遵循「检查 → 备份 → 原子替换 → 重启 → 健康检查 → 失败回滚」的安全管线。
CLI / TUI 双模式
除了 TUI,还可以直接执行:
toolbox-hub -s fzf
toolbox-hub -i fzf ripgrep
toolbox-hub -u
toolbox-hub -n --unread
toolbox-hub --orphans
toolbox-hub --clear-cache
另外提供可供脚本复用的 ui pick、ui confirm、ui pager 组件,界面走 /dev/tty,stdout 保留给脚本结果。
架构取舍
项目明确面向 Arch 系 Linux。包数据层直接使用 libalpm,而不是解析 pacman 文本输出;执行层仍然调用成熟的 CLI 工具,因此保持可组合、可预览,也避免把 FFmpeg 等大型工具重新实现一遍。
整体架构按 model → providers / registry → app / ui 与独立的 packages、runtime、media 模块分层,Provider、UI、执行和包管理职责彼此隔离。
技术栈
Toolbox Hub 文档与入口
评论





