内容
# n3rverberage
**开源代理的隐形工程基础设施。**
Forked from [n3rv](https://github.com/juanmanueldaza/n3rv). 重新授权 Apache-2.0.
由 [reverberage](https://github.com/reverberage) 维护。
---
## 这是什么
n3rverberage 是 [opencode](https://github.com/opencode-ai/opencode) 的运行时库和配置生成器。
它为 opencode 工作空间启动代理技能、MCP 服务器(内存、任务委托),
以及 LLM API 的提供者抽象。卫星在运行时使用它进行提供者解析。
**它不是卫星。** 它是卫星插入的框架。
## 与 Hub 的关系
| 仓库 | 角色 |
|------|------|
| `reverberage/n3rverberage` | 运行时引擎:提供者、A2A 中心、内存、守护进程、CLI、初始化 |
| `reverberage/hub` | 合约:卫星协议、规格、路线图、脚手架脚本 |
两者都是 Apache-2.0。Hub 提供规格;此仓库提供实现。
## 快速开始
```bash
pip install git+https://github.com/reverberage/n3rverberage.git
cd your-project
n3rverberage init
```
这会生成:`AGENTS.md`、`opencode.json`、`.opencode/`(技能、代理、命令、插件),
`.n3rverberage/`(内存、中心配置)、`.githooks/`。
## CLI
```
n3rverberage init [--stack python|node|go|generic] [--force]
n3rverberage update [--dry-run] [--force-commands]
n3rverberage hub start
n3rverberage daemon install|start|stop|status|enable|logs
n3rverberage memory list|search|prune|stats
n3rverberage org init|list|add|remove|protect
```
## 功能
- **提供者抽象** — `ModelProvider` 协议 + `get_provider()` 工厂。
支持 Qwen(DashScope)、OpenAI 和本地(Ollama/vLLM)。卫星在运行时解析提供者,
无需硬编码模型 ID 或 API 密钥。
- **A2A 中心** — 跨进程代理到代理任务委托通过 HTTP (`127.0.0.1:19820`)。
通过 `skill_id` 路由,持久化到 JSON 文件。
- **MAGI 内存** — 双存储:ChromaDB 用于语义向量搜索,SQLite 用于关系。
持久化 SDD 工件、会话摘要、代理裁决。
- **MCP 服务器** — `n3rverberage-memory`(MCP stdio 服务器用于内存操作),
`n3rverberage-hub`(MCP stdio 服务器用于 A2A 任务委托)。
- **配置生成** — Jinja2 模板化生成 AGENTS.md、opencode.json、
技能、命令、代理、插件、git 钩子。
- **组织模式** — 多项目工作区管理,共享技能和 GitHub 分支保护。
## 环境变量
| 变量 | 默认值 | 目的 |
|----------|---------|---------|
| `DASHSCOPE_API_KEY` | — | Qwen/DashScope API 密钥 |
| `OPENAI_API_KEY` | — | OpenAI API 密钥 |
| `N3RVERBERAGE_PROVIDER` | `qwen` | 活动提供者:`qwen`、`openai`、`local` |
| `N3RVERBERAGE_DEFAULT_MODEL` | `qwen3-coder-plus` | 默认模型 ID |
| `N3RVERBERAGE_DEFAULT_BASE_URL` | `https://dashscope-intl.aliyuncs.com/compatible-mode/v1` | 默认 API 基本 URL |
## 运行测试
```bash
pip install -e ".[dev]"
pytest
```
## 许可证
Apache-2.0. 上游(juanmanueldaza/n3rv)是 GPL-2.0。