内容
<p align="center">
<a href="https://agentgem.ninemind.ai"><img src="docs/banner.svg" alt="AgentGem — 您的智能代理在本地运行。 " width="100%"></a>
</p>
<p align="center">
<a href="https://www.npmjs.com/package/@ninemind/agentgem"><img src="https://img.shields.io/npm/v/%40ninemind%2Fagentgem?color=9a3324&label=npm" alt="npm 版本"></a>
<a href="https://github.com/ninemindai/agentgem/actions/workflows/ci.yml"><img src="https://github.com/ninemindai/agentgem/actions/workflows/ci.yml/badge.svg" alt="持续集成"></a>
<a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-9a3324" alt="MIT 许可证"></a>
<a href="https://nodejs.org"><img src="https://img.shields.io/node/v/%40ninemind%2Fagentgem?color=1f6b4f" alt="Node 版本"></a>
<a href="https://agentback.dev"><img src="https://img.shields.io/badge/built_on-AgentBack-b08436" alt="基于 AgentBack"></a>
<a href="docs/concepts.md"><img src="https://img.shields.io/badge/MCP-native-211c15" alt="MCP 原生"></a>
</p>
> 一个本地的 Web UI,用于检查您的编码代理配置,在捕获时删除敏感信息,并构建一个可移植的、组合的 **Gem**。
>
> **[agentgem.ninemind.ai](https://agentgem.ninemind.ai)**
AgentGem 读取您的编码代理配置 — 技能、MCP 服务器和 `CLAUDE.md` — **在读取时删除敏感信息**,并生成一个 **Gem**:一个清单 + 锁定存档,您可以将其发布到 GitHub 支持的注册表,与其他 Gem 合并,并部署到多个目标。浏览器无法读取 `~/.claude`(它被沙箱化),因此 AgentGem 在您的机器上运行一个小型服务器;敏感信息永远不会离开您的设备 — 跨越任何边界的是一个配置 *形状*,其中每个敏感值都替换为 `<redacted>`。
基于 [AgentBack](https://www.npmjs.com/org/agentback),ninemind 的 AI 原生 API/MCP 框架:每个操作都定义为一个 Zod 契约,并作为 REST 端点、MCP 工具和 OpenAPI 3.1 文档公开 — 因此网页和您的本地代理调用的是完全相同的东西。
## 提供的内容
- **安全的捕获** — 在任何信息到达 REST 响应、MCP 结果、实时预览或生成的 Gem 之前,按值和键名进行删除。
- **中立的 Gem 源** — 一个清单 + 锁定存档,与任何运行时无关。构建一次;安装到本地测试环境,合并,发布或编译到目标,无需重新读取原始配置。
- **组合** — 清单/锁定分割允许小型、专注的 Gem 被协调成更大的代理,只需一个重新解析的锁定,而不是一堆重叠的配置。
- **工作流感知建议** — [分析](docs/analyze.md) 扫描您的代理的会话历史,以查看您实际使用的技能、MCP 服务器和钩子,并建议按循环工作流分组的现成 Gem。
- **部署目标** — Eve 和 OpenAI Sandbox(代码生成),Flue(物化,可部署到 Cloudflare)和 Bedrock AgentCore(托管后端);代码生成目标共享一个公共的 `compose` 步骤。
- **代理到代理(A2A)** — 将 Gem 导出为 [A2A](docs/a2a.md) 代理卡或可运行的 A2A 服务器,以便其他代理可以发现并调用它。
- **原生桌面应用** — [macOS/Windows/Linux 构建](docs/desktop.md) 与 `npx` CLI 一起,提供相同的本地服务器托管在其自己的窗口中。
- **GitHub 支持的注册表** — 发布、解析、合并和安装可组合的 Gem,使用的存档格式相同。
- **代理原生路径** — 每个操作也是一个 MCP 工具,因此您的本地代理可以通过 `/mcp` 构建 Gem,无需浏览器参与。
## 快速入门
需要 Node.js ≥ 22。从您要打包的代理项目目录中运行,无需安装:
```bash
npx @ninemind/agentgem # npm
pnpm dlx @ninemind/agentgem # pnpm
```
```text
agentgem listening at http://127.0.0.1:4317
UI: http://127.0.0.1:4317/
API: http://127.0.0.1:4317/api/inventory · POST http://127.0.0.1:4317/api/gem
Explorer: http://127.0.0.1:4317/explorer/
MCP: http://127.0.0.1:4317/mcp
```
打开 **<http://127.0.0.1:4317/>**,然后:
1. **打开测试环境** — 点击 *创建/打开测试环境...*。AgentGem 检测到您启动的项目(它有一个 `.claude`/`.codex`),并列出您历史记录中的 Claude/Codex 会话。选择它并点击 *使用此环境*。
2. **选择工件** — 项目的技能 / MCP 服务器 / `CLAUDE.md` 显示在左侧;*从机器导入...* 拉取全局的工件。勾选您想要的,命名 Gem。
3. **查看其密封** — 实时 `gem.json` 渲染,每个敏感信息显示为 `<redacted>`。下载它 — 该存档是每个目标和注册表消耗的内容。
<p align="center">
<img src="docs/screenshot.png" alt="AgentGem Gem 构建器:左侧选择技能和 MCP 服务器,右侧实时 gem.json,每个敏感信息显示为 <redacted>" width="100%">
</p>
更喜欢持久的命令?全局安装它:
```bash
npm install -g @ninemind/agentgem # npm
pnpm add -g @ninemind/agentgem # pnpm
agentgem --port 8080 # 遵循 $PORT;追加 ?dir=/path/to/.claude 以获取另一个配置
```
| 路径 | 它是什么 |
| ----------- | ------------------------------------------------------- |
| `/` | Gem 构建器 Web UI |
| `/explorer` | REST API 的 Swagger UI(来自 OpenAPI 文档) |
| `/mcp` | MCP 端点 — 相同的契约,用于您的代理 |
### 从源代码
要对 AgentGem 进行黑客攻击,请克隆存储库。它是一个 [pnpm](https://pnpm.io/) 项目(`npm` 也有效),而 AgentBack 使用旧式装饰器,因此它使用 `tsc` 构建,然后运行 `dist/`:
```bash
pnpm install # 或:npm install
pnpm dev # 或:npm run dev — 构建 + 启动一步
pnpm test # 或:npm test — tsc -b && vitest run,对编译的 dist/ 进行测试
pnpm clean # 或:npm run clean — rm -rf dist *.tsbuildinfo(在移动后重新测试前运行)
```
有关完整的工作流程,请参见 [CONTRIBUTING.md](CONTRIBUTING.md)。
### 桌面应用
更喜欢双击应用而不是 CLI?AgentGem 附带一个适用于 macOS、Windows 和 Linux 的 **原生桌面构建** — 从 [Releases](https://github.com/ninemindai/agentgem/releases) 下载(一个 `desktop-v*` 构建)。它在其自己的窗口中托管相同的本地服务器,添加了一个原生文件夹选择器、应用菜单和系统托盘,并且永远不会将敏感信息发送到您的机器之外。
> 目前构建 **未签名**:在 macOS 上右键单击 → **打开**,在 Windows 上选择 **更多信息 → 运行任意操作**。
要从源代码运行或打包,请参阅桌面指南 — 简而言之,`pnpm -C desktop dev` 运行,`pnpm -C desktop dist` 构建安装程序。
## 分层
依赖于 AgentBack:`@agentback/core`(生命周期)、`@agentback/rest` + `@agentback/rest-explorer`(HTTP + Swagger UI)、`@agentback/mcp` + `@agentback/mcp-http`(MCP over HTTP)和 `@agentback/openapi`(OpenAPI 3.1 文档)。Web UI、REST API 和 MCP 端点是同一个 Zod 契约集上的三个边界 — `src/index.ts` 将它们连接到一个单独的 `RestApplication` 上。
有关更深入的参考,请参见 [`docs/`](docs/index.md):[入门](docs/getting-started.md) · [桌面应用](docs/desktop.md) · [分析](docs/analyze.md) · [概念](docs/concepts.md) · [目标和部署](docs/targets.md) · [A2A](docs/a2a.md) · [注册表](docs/registry.md)。
## 许可证
[MIT](LICENSE) © ninemind.ai