agent-rigger/agent-rigger
GitHub: agent-rigger/agent-rigger
agent-rigger 是一款面向团队的 AI 编码助手 harness 包管理器,通过版本化的 catalog 与 manifest 机制统一管理和同步技能、子代理、护栏等配置,消除多人协作中的配置漂移问题。
Stars: 3 | Forks: 0
```
██████╗ ██╗ ██████╗ ██████╗ ███████╗██████╗
██╔══██╗██║██╔════╝ ██╔════╝ ██╔════╝██╔══██╗
██████╔╝██║██║ ███╗██║ ███╗█████╗ ██████╔╝
██╔══██╗██║██║ ██║██║ ██║██╔══╝ ██╔══██╗
██║ ██║██║╚██████╔╝╚██████╔╝███████╗██║ ██║
╚═╝ ╚═╝╚═╝ ╚═════╝ ╚═════╝ ╚══════╝╚═╝ ╚═╝
The harness package manager for teams
```
# agent-rigger
面向团队的 harness 包管理器。以可复现的方式在团队成员的机器上共享、安装和更新 AI 编码
助手的 harness(技能、子代理、护栏、上下文、插件、工具)。
[](https://github.com/agent-rigger/agent-rigger/actions/workflows/ci.yml)
[](./LICENSE)
[](https://bun.sh)
[](https://www.conventionalcommits.org/)

## 问题所在
团队配置会发生漂移。每个开发者都在维护各自的设置、拒绝列表、
上下文文件、技能和代理,这些内容通常手动安装且更新不一致。
当缺少护栏或技能过期时,在出现问题之前无人知晓。agent-rigger 将 harness 视为一个带版本的包:通过共享的 catalog
声明应安装的内容,使用 manifest 记录已安装的内容,只需一条命令即可告知您的本地配置是否匹配。
## 安装
### Homebrew (macOS / Linux)
```
brew tap agent-rigger/tap
brew install agent-rigger
```
安装 `agent-rigger` 二进制文件以及更简短的 `rigger` 别名。
### 预编译二进制文件
每个 [GitHub Release](https://github.com/agent-rigger/agent-rigger/releases)
都会附带独立的二进制文件以及用于校验下载的 `SHA256SUMS.txt`。
| 平台 | 二进制文件 | Homebrew | CI 测试 |
| ----------- | :----: | :------: | :-------: |
| Linux x64 | ✅ | ✅ | ✅ |
| Linux arm64 | ✅ | ✅ | — |
| macOS arm64 | ✅ | ✅ | — |
| macOS x64 | ✅ | ✅ | — |
| Windows x64 | ✅ | — | — |
目前 CI 中仅对 Linux x64 进行了测试;其他二进制文件均为交叉编译并
按原样提供。在 Windows 上,当不可用时,基于 symlink 的安装(技能、代理、插件)
会回退为普通的文件复制。
### 从源码构建
需要 [Bun](https://bun.sh) >= 1.3。
```
git clone https://github.com/agent-rigger/agent-rigger.git
cd agent-rigger
bun install
bun run build
# 生成 packages/cli/dist/agent-rigger
```
或者直接运行而无需构建:
```
bun run packages/cli/src/cli.ts
```
注意事项:本地构建会将 `--version` 显示为 `0.0.0`。真实版本号
仅在发布时通过 git tag 标记。
注意:CLI 本身不提供任何内容。每个 artifact 都来自
在运行时获取的已配置 catalog,因此编译后的二进制文件是
完全自包含的(无需打包任何内容)。
### 在隔离环境中尝试 (沙盒)
想在不影响真实配置的情况下尝试 `rigger` 吗?请 source 沙盒
辅助脚本:它会将 `rigger` shell 函数指向二进制文件(本地构建的版本,或您 `PATH` 中已安装的版本,例如通过 Homebrew 安装的),并隔离**两个**作用域:一个用于用户作用域写入的一次性 `RIGGER_HOME`,以及一个会自动 cd 进入的用于项目作用域写入的一次性项目目录。
```
source scripts/sandbox
# [sandbox] RIGGER_HOME : /tmp/rigger-sandbox.XXXXXX(user-scope 写入在此隔离)
# [sandbox] project dir : /tmp/rigger-sandbox-project.XXXXXX(现为你的 cwd)
rigger catalog add example "$RIGGER_EXAMPLE_CATALOG" # public demo catalog
rigger ls
rigger install # pick artifacts; nothing is written outside the sandbox
rigger_reset # wipe and start from a blank slate (works from /tmp)
rigger_exit # tear down: cd back, delete temp dirs, unset everything
```
您真实的配置(`~/.claude`、`~/.config/agent-rigger`)和真实的项目文件
绝不会进行读取或写入操作。必须使用 **source** 执行,而不是直接执行:它会修改您
当前的 shell(环境变量、`rigger`/`rigger_reset`/`rigger_exit` 函数,以及您的
cwd)。完整指南:[docs/sandbox.md](docs/sandbox.md)。
## 快速开始
```
agent-rigger doctor # check the environment (scanners, git, provider CLIs)
agent-rigger init # point rigger at your team's catalog (one-time)
agent-rigger ls # list catalog entries and their install status
agent-rigger install # select artifacts, review the plan, confirm, apply
agent-rigger check # audit the installed setup for drift
```
每次写入操作都会先以计划形式展示并获得确认,且每条命令都针对一个
助手(`--assistant claude|opencode`,或从配置/磁盘中推断)。
## Artifact 类型
一个 **artifact** 是 harness 配置的可部署单元。共有八种
类型,每种配置助手的不同部分。最右侧的两列展示了每种适配器目前的安装情况。
| 类型 | 简介 | Claude Code | opencode |
| ----------- | ------------------------------------------------------------------------- | :---------: | :------: |
| `skill` | 可重用的能力(`SKILL.md`),只存储一次并 symlink 到每个宿主 | ✅ | ✅ |
| `agent` | 角色专用的子代理定义,单个 Markdown 文件 | ✅ | ✅ |
| `guardrail` | 通过助手自身的权限机制实现的硬拦截规则 | ✅ | ✅ |
| `context` | 助手读取的建议性指令文件(`AGENTS.md`) | ✅ | ✅ |
| `hook` | 助手在生命周期事件中运行的命令 | ✅ | — |
| `plugin` | 通过宿主自身机制安装的 hook 和命令集合 | ✅ | ✅ |
| `mcp` | 助手可用于获取额外能力的 MCP server 声明 | ✅ | ✅ |
| `tool` | harness 期望的第三方宿主 CLI;仅检查是否存在,不进行安装 | check | check |
**pack** 将多个作为整体安装的 artifact 打包在一起;**catalog** 是声明它们的带版本的
git 仓库;**manifest** 记录已安装的内容,因此
`check` 可以检测到漂移。
## 助手
agent-rigger 目前支持两款助手:Claude Code 和 opencode,它们均通过基于同一套“计划-确认-应用”引擎的特定助手适配器实现。
各类型的支持情况见上文 artifact 类型表中最右侧的两列。目标对象按每次事务解析(显式 flag、配置或磁盘检测),在每个 manifest 条目中记录,并在后续命令中直接复用而无需再次提示。其他助手(例如 GitHub Copilot CLI)留待后续里程碑实现(catalog schema 已经接受 `copilot` 作为目标对象)。
## 状态与路线图
Pre-1.0。引擎和两款适配器均处于日常使用中;以下是各项重大
议题的当前进展。
| 议题 | 状态 |
| ------------------------------------------------------------- | -------------- |
| 安装引擎(计划 → 确认 → 应用,备份,漂移检查) | ✅ 已发布 |
| 远程 catalog,`update`,多 catalog 配置 | ✅ 已发布 |
| MCP server 管理(两款助手,通过 env refs 管理密钥) | ✅ 已发布 |
| 安全扫描(Trivy, Gitleaks, …)以及 `doctor --fix` | ✅ 已发布 |
| opencode 适配器 | ✅ 已发布 |
| 文档站点 (EN/FR) | ✅ 已发布 |
| 带有 CI 新鲜度契约的终端录制 | 🚧 进行中 |
| GitHub Copilot CLI 适配器 | 🗺️ 已规划 |
| 真实的 `tool` 安装(brew/mise)——目前:仅检查是否存在 | 🗺️ 已规划 |
| 组织配置 | 🗺️ 已规划 |
## 不变量
以下特性适用于所有命令:
- **幂等性**:运行两次 `install` 与运行一次留下的状态完全相同。
- **写入前备份**:每个文件都会先被复制为 `.bak--`。
- **人工确认**:`install` 未经明确确认绝不写入。
- **无静默失败**:每个错误都会对应一条可操作的消息和非零退出代码。
## 文档
完整文档请访问 **[agent-rigger.github.io](https://agent-rigger.github.io/)**
(基于 Astro/Starlight 构建,提供英语和法语;源码位于 [`site/`](./site) 目录下)。
**入门指南**
- [什么是 agent-rigger?](https://agent-rigger.github.io/start/what-is-agent-rigger/)
- [安装说明](https://agent-rigger.github.io/start/installation/)
- [新手入门(10 分钟教程)](https://agent-rigger.github.io/start/getting-started/)
**核心概念**
- [核心概念](https://agent-rigger.github.io/concepts/core-concepts/)(catalog、manifest、store)
- [Artifact 类型](https://agent-rigger.github.io/concepts/artifact-natures/)
- [信任与安全](https://agent-rigger.github.io/concepts/trust-and-security/)
**指南**
- [从 catalog 安装](https://agent-rigger.github.io/guides/install-from-catalog/)
- [更新 artifact](https://agent-rigger.github.io/guides/update-artifacts/)
- [移除 artifact](https://agent-rigger.github.io/guides/remove-artifacts/)
- [CI 与脚本](https://agent-rigger.github.io/guides/ci-and-scripts/)
**参考**
- [CLI 参考](https://agent-rigger.github.io/reference/cli/overview/)(所有命令与 flag)
- [catalog.json schema](https://agent-rigger.github.io/reference/catalog-schema/)
- [Catalog 仓库结构](https://agent-rigger.github.io/reference/catalog-layout/)
- [退出代码](https://agent-rigger.github.io/reference/exit-codes/)
- 术语表:[英语](https://agent-rigger.github.io/reference/glossary/) · [法语](https://agent-rigger.github.io/fr/reference/glossary/)
## 开发
```
bun install # install dependencies
bun test # run unit tests
bun run lint # oxlint
bun run format # dprint fmt
bun run format:check # verify formatting
bun run typecheck # tsc --noEmit
```
提交必须遵循 [约定式提交](https://www.conventionalcommits.org/)
(通过 lefthook 执行的 commitlint 强制规定)。
请参阅 [CONTRIBUTING.md](./CONTRIBUTING.md) 了解完整的工作流、质量
把控以及工作区布局。变更记录可在
[CHANGELOG.md](./CHANGELOG.md) 中查看。
## 核心团队
- **Jonathan Robic** — 创始人
[GitHub](https://github.com/jrobic) · [LinkedIn](https://www.linkedin.com/in/jonathan-robic/)
## 许可证
基于 [Apache License 2.0](./LICENSE) 发布。有关保修、责任和使用的重要声明,请参见 [DISCLAIMER.md](./DISCLAIMER.md)。
标签:AI编程助手, Bun, SOC Prime, 包管理器, 团队协作, 开发工具, 统一API, 自动化攻击