别再手动配环境了——我写了个工具叫 rig
起因
每次拿到一台新机器,我都会经历同样的折磨:装 zsh、配 Oh My Zsh、装 nvm、装 Docker、配 Git、装一堆 CLI 工具……如果是 Ubuntu 还好,换成 CentOS 包名就不一样了,到了 macOS 又是另一套。云服务器、本地开发机、WSL、CI runner——每台机器都要重新来一遍。
我受够了。
所以我写了 rig:一行命令,把开发环境从零配到能干活。

它能干什么
简单说,rig 是一个纯 Bash 写的开发环境配置框架。你只需要一行:
curl -fsSL https://raw.githubusercontent.com/X-Zero-L/rig/master/install.sh | bash然后它会弹出一个交互式菜单,让你选要装哪些东西。
目前支持 15+ 个组件,覆盖日常开发的方方面面:
| 类别 | 组件 |
|---|---|
| 基础环境 | zsh + Oh My Zsh + Starship 提示符、Tmux + Catppuccin 主题、Git 配置、常用工具(ripgrep, fd, bat, jq, gh) |
| 语言运行时 | Node.js (nvm)、Python (uv)、Go (goenv) |
| 基础设施 | Docker + Compose、SSH 加固、Tailscale、Clash 代理 |
| AI 编程助手 | Claude Code、Codex CLI、Gemini CLI、Agent Skills |
对,你没看错——AI 编程工具也管装。Claude Code 的 API Key、Codex 的模型配置、Gemini CLI 的初始化,全部自动搞定。
为什么不用 Ansible
这个问题我被问过好多次。Ansible 当然强大,但它的定位是管理成百上千台服务器的。我的需求没那么复杂:我就是想在一台新机器上快速把开发环境拉起来。
rig 的设计哲学是 零依赖、零学习成本。它只需要 curl、git 和 sudo——这三样东西几乎所有 Linux/macOS 系统都自带。不需要 Python,不需要 YAML playbook,不需要 inventory 文件。
而且 rig 天然幂等:已经装好的组件会自动跳过,配置文件只做增量更新。你可以放心地反复跑,不会把环境搞乱。
跨平台是认真的
rig 不是那种”我在 Ubuntu 上写的脚本碰巧在 Fedora 也能跑”的项目。它在底层做了完整的抽象:
OS 检测层 (os-detect.sh) ↓包名映射层 (pkg-maps.sh) ← 同一个工具在不同发行版的包名不同 ↓包管理器抽象层 (pkg-manager.sh) ← apt / dnf / yum / pacman / brew举个例子,fd 这个工具在 Debian/Ubuntu 上叫 fd-find,在 Arch 上叫 fd,在 macOS 上又叫 fd。rig 在 pkg-maps.sh 里维护了一张映射表,你不需要关心这些差异。
目前覆盖的平台:
- Debian / Ubuntu (apt)
- CentOS / RHEL (yum/dnf)
- Fedora (dnf / dnf5)
- Arch Linux (pacman)
- macOS (Homebrew)
装完之后跑一下 rig status,就能看到所有组件的安装状态和版本:

预设模式
不想一个个选?rig 内置了四套预设方案:
- minimal —— Shell + 常用工具 + Git,最轻量的基础环境
- agent —— 完整的 AI 编程助手栈(Claude Code + Codex + Gemini + Skills)
- devops —— Docker + SSH + Tailscale + 基础设施工具
- fullstack —— 上面全都要
# 直接装 AI 编程全家桶rig install --preset agent
# 或者在 curl 安装时指定curl -fsSL https://raw.githubusercontent.com/X-Zero-L/rig/master/install.sh | bash -s -- --preset fullstack
配置导出 / 导入
这是我最喜欢的功能。跑一句 rig export,它会生成两个文件:
rig-config.json—— 所有组件的配置(安全,可以放进 Git)secrets.env—— API Key 之类的敏感信息(权限 600,自动 gitignore)
拿到新机器后:
rig import ~/.rig/rig-config.json整套环境就回来了。重装系统、换新机器,都不用再从头配起。

安全设计
写这种自动化工具,安全问题我是认真对待的:
- 幂等操作 —— 重复执行不会破坏已有配置
- 依赖检查 —— 卸载组件时会检查是否有其他组件依赖它
- 配置备份 —— 卸载前自动备份配置文件(
.rig-backup后缀) - 数据保护 —— 删除 Docker 等组件时会提示是否清理用户数据
- 代理验证 —— GitHub 代理只允许 HTTPS,防止中间人攻击
国内用户友好
在国内网络环境下,rig 也考虑到了:
# 通过代理安装curl -fsSL https://raw.githubusercontent.com/X-Zero-L/rig/master/install.sh | bash -s -- --gh-proxy https://gh-proxy.org
# 或者用短链接curl -fsSL https://z.ls/rig | bashDocker 镜像源、npm 镜像、GitHub 加速代理都可以通过环境变量配置,不需要装完之后再手动改一堆配置文件。
装完之后长什么样
一套完整的 rig 配置装完之后,你会得到:
- zsh + Oh My Zsh 带自动补全、语法高亮、历史搜索
- Starship 提示符 + Catppuccin Mocha 主题,好看且信息丰富
- Tmux 带 Catppuccin 状态栏和 vim 风格导航
- 一堆开箱即用的现代 CLI 工具:
rg替代grep、fd替代find、bat替代cat - Docker 已配好镜像源和日志轮转
- AI 编程助手随时待命

试试看
# 最简单的方式curl -fsSL https://raw.githubusercontent.com/X-Zero-L/rig/master/install.sh | bash
# 国内用户curl -fsSL https://z.ls/rig | bash
# 全自动安装(非交互)curl -fsSL https://raw.githubusercontent.com/X-Zero-L/rig/master/install.sh | bash -s -- --all项目开源在 GitHub:X-Zero-L/rig
有问题或者建议欢迎开 Issue,觉得有用的话给个 Star 就是最大的支持。
声明
本文借助 Claude Opus 4.6 润色。当然,脚本也是 😀