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(技能、子代理、护栏、上下文、插件、工具)。 [![CI](https://static.pigsec.cn/wp-content/uploads/repos/cas/ad/ad5834178f7599af9fdda11629d49cae07f2997beec49821b2920eff5bfd50e7.svg)](https://github.com/agent-rigger/agent-rigger/actions/workflows/ci.yml) [![License: Apache 2.0](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](./LICENSE) [![Bun](https://img.shields.io/badge/runtime-Bun%20%E2%89%A5%201.3-000?logo=bun)](https://bun.sh) [![Conventional Commits](https://img.shields.io/badge/commits-conventional-fe5196?logo=conventionalcommits)](https://www.conventionalcommits.org/) ![agent-rigger 实际操作演示:运行 doctor、浏览团队目录、使用单条命令安装 rig、验证无漂移](https://static.pigsec.cn/wp-content/uploads/repos/cas/bf/bf56e7811492f21ef91fe9f3a6df464d3b2b1499da051858dca04b1a245b68de.gif) ## 问题所在 团队配置会发生漂移。每个开发者都在维护各自的设置、拒绝列表、 上下文文件、技能和代理,这些内容通常手动安装且更新不一致。 当缺少护栏或技能过期时,在出现问题之前无人知晓。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, 自动化攻击