Repolode
atuinsh

atuinsh/atuin

用 SQLite 替代 shell 历史记录,附带退出码、耗时等上下文,并可端到端加密同步到多台机器。

Star
32,232
Fork
1,028
未关闭 Issue
416
最近提交
14小时前

这是什么?

Atuin 用 SQLite 数据库替代 shell 默认的历史记录,并为每条命令记录退出码、工作目录、主机名、会话和执行耗时等信息。它默认将 ctrl-r 和上方向键绑定到全屏历史搜索界面,可按当前会话、当前目录或全局范围筛选。

历史记录可以通过 Atuin 服务器在多台机器之间同步,同步内容端到端加密,服务器无法读取明文。用户既可以使用官方云服务,也可以自行部署服务器,或者完全不开启同步,只在本地保存历史。

支持 zsh、bash、fish、nushell、xonsh 和 PowerShell。命令行中也能按时间范围、退出码等条件搜索历史,还可以统计最常用的命令。

核心功能

  • 01默认将 ctrl-r 和上方向键绑定到全屏历史搜索
  • 02使用 SQLite 存储历史,并记录退出码、工作目录、主机名和耗时
  • 03通过自建或官方服务器实现端到端加密的多机同步
  • 04可按会话、目录或全局范围筛选搜索结果
  • 05命令行搜索支持退出码、时间范围等过滤条件
  • 06保留原有的 shell 历史文件不做替换

适用场景

  • 按退出状态或执行时间找回之前运行过的命令
  • 在笔记本、台式机和服务器之间保持 shell 历史一致
  • 只搜索当前项目目录下执行过的命令
  • 在多台机器间同步历史,并通过加密保护隐私

快速上手

  1. 1

    运行 README 中的官方安装脚本

  2. 2

    在 Atuin Cloud 同步服务器上注册账户

    atuin register -u <USERNAME> -e <EMAIL>
  3. 3

    导入现有的 shell 历史记录

    atuin import auto
  4. 4

    同步历史记录,然后重启 shell

    atuin sync

使用前须知

  • 快速开始会为你注册 Atuin Cloud 同步服务器账户,不过文档也介绍了自托管和离线设置。
  • Bash 支持依赖 bash-preexec,它存在已知限制。

收录于专题

标签

常见问题

atuin 是什么?
用 SQLite 替代 shell 历史记录,附带退出码、耗时等上下文,并可端到端加密同步到多台机器。 Atuin 用 SQLite 数据库替代 shell 默认的历史记录,并为每条命令记录退出码、工作目录、主机名、会话和执行耗时等信息。它默认将 ctrl-r 和上方向键绑定到全屏历史搜索界面,可按当前会话、当前目录或全局范围筛选。
atuin 可以免费使用吗?用的什么许可证?
atuin 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
atuin 还在维护吗?
活跃维护中。atuin 最近一次提交是在 2026年11月7日。
atuin 适合用来做什么?
按退出状态或执行时间找回之前运行过的命令 在笔记本、台式机和服务器之间保持 shell 历史一致 只搜索当前项目目录下执行过的命令 在多台机器间同步历史,并通过加密保护隐私
atuin 怎么安装和运行?
运行 README 中的官方安装脚本 在 Atuin Cloud 同步服务器上注册账户: atuin register -u <USERNAME> -e <EMAIL> 导入现有的 shell 历史记录: atuin import auto 同步历史记录,然后重启 shell: atuin sync
在哪里获取 atuin?
源代码和安装说明在 GitHub 上:https://github.com/atuinsh/atuin

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目