Atuin 推荐,让终端历史记录可搜可同步可备份
上周敲过的那条命令,参数具体怎么写的,多数人靠反复按上箭头碰运气。Atuin 用数据库接管 shell 历史,把每条命令的目录、耗时、退出码都记下来,配上全屏搜索界面,再多机加密同步。我把官方文档、GitHub 仓库和几轮社区讨论过了一遍,这个项目星标三万一千七,官网自报五十万开发者在用(自称),值得每个重度终端用户认识一下。
主要功能
Atuin 用 Rust 写成,MIT 开源,支持 zsh、bash、fish、nushell、xonsh 与 PowerShell 六种环境。安装后按 Ctrl+R 或上箭头唤起全屏搜索,旧的历史文件不会被替换,导入是增量合并。搜索维度远超原生,按目录筛、按会话筛、按退出码筛、按时间前后筛都行,比如只看某个目录下成功执行过的命令,模糊匹配与通配符都支持。它还能算统计,最常用的命令一列便知,给命令起别名的灵感常从这份榜单里来。
存储与同步的架构有讲究。历史落在本地 SQLite 数据库里,默认路径在用户目录下;同步层走的是加密的追加式记录存储,设备间交换记录而非直接复制数据库行。全部历史端到端加密,官方原话说服务器看不到你的内容。注册时本地生成加密密钥,用 atuin key 命令随时查看,官方文档的警告写得直白,密钥丢了谁也帮不了你。默认每五分钟向官方服务器同步一次,改成自建服务器只需改一个配置项。
自托管这条路是通的。服务端程序开源,Docker 镜像现成,数据库支持 PostgreSQL 与 SQLite,官方还给了 Kubernetes 与 systemd 的部署章节。最新版本 v18.22.0 在 9 月 9 日发布,安装渠道覆盖脚本一键装、winget、brew、cargo、pacman 到 Termux。空提示符下输入问号能唤起 Atuin AI,测试期免费,AI 服务端同样开源,接 Ollama 这类本地模型也行。
解决了什么需求
真实用户的评价能说明它解决的是什么。Hacker News 上 brasic 称 tmux 窗格间的即时历史同步是最佳功能。wswope 自托管同步服务器跑了两年多没出过问题,部署极易。semiquaver 的说法更直接,Atuin 是他每天最喜欢的工具之一。Reddit r/selfhosted 有用户称同步开箱即用,自建服务端部署容易,r/linux 的版本讨论帖里,一排用户把它当 fzf 与原生 Ctrl+R 的替代品推荐,多机同步是高频理由。
批评声也照录。HN 上 Dowwie 因按上箭头有明显延迟而弃用,jyxent 反映大历史库下搜索输入卡顿,维护者回应本地搜索本身零延迟,机械盘和网络文件系统上的数据库访问会受影响,官方已知问题页也点名了 ZFS 与 NFS 的坑。同步速度曾随记录数线性变慢,中位用户约七千条记录要同步 11.7 秒,95 分位用户要两分钟,8 月底官方用 packfiles 方案把 Hub 同步提速了 32 倍。2026 年的讨论里 imiric 担心拿了风投的开源项目变味,duskdozer 质疑为什么什么都要塞 AI。
注意事项
密钥管理是第一课。加密密钥只存在本地,丢失不可恢复,多机同步前先把密钥备份好。历史里难免有带密钥的命令,集中存储放大了泄露后果的量级,敏感命令的习惯要自己把握。机械硬盘、ZFS 特定配置、NFS 上的数据库有已知的性能问题,官方文档有专门页面。托管同步服务目前未公布收费计划,注册只要用户名和邮箱,官方同步协议的旧版本 v1 已在托管侧弃用,老客户端升级后再同步。导入环节也有老用户提过的坑,HN 用户 klibertp 反映早年 zsh 历史导入时含非拉丁字符的命令会出问题,历史里中英混用的先小规模试导入再全量迁移。
总结
命令历史是程序员最常用的数据库,只是多数人没把它当数据库对待。Atuin 把检索、统计、备份、同步一次做齐,还把服务端开源留给用户选择权。终端里泡得久的人,装上十分钟就会明白三万颗星是怎么来的。配好密钥备份,先在两台机器间跑通同步,再考虑把全家设备都拉进来,稳字当头,一口吃不成胖子。
来源
- 官网 https://atuin.sh/
- GitHub 仓库 https://github.com/atuinsh/atuin
- 官方文档(安装与同步) https://docs.atuin.sh/latest/guide/installation/
- 配置项文档 https://docs.atuin.sh/latest/configuration/config/
- 自托管文档 https://docs.atuin.sh/latest/self-hosting/server-setup/
- 已知问题页 https://docs.atuin.sh/latest/known-issues/
- 同步提速博客 https://blog.atuin.sh/making-atuin-sync-32x-faster-with-packfiles/
- Hacker News 2023 讨论 https://news.ycombinator.com/item?id=35839470
- Hacker News 2026 讨论 https://news.ycombinator.com/item?id=47465824
- Reddit r/selfhosted 讨论 https://www.reddit.com/r/selfhosted/comments/154wxzb/atuin_open_source_shell_history_sync/