开源AI代理系统

Bytez3 Nexus是一个开源AI代理系统,允许用户使用任何本地或云端托管的LLM运行强大的编码助手,无需专有API密钥,提供完整的数据主权、模型自由和代理级工具。

  • by SteOnChain
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 SteOnChain/bytez3-nexus

使用说明

Bytez3 Nexus

Open-source AI agent system — run agentic coding assistants with any local LLM

Quick Start • Features • Architecture • MCP Servers • Models • Roadmap


什么是Bytez3 Nexus?

Bytez3 Nexus 是一个开源的人工智能代理系统,允许您使用 任何本地或云托管的LLM -不需要专有的API密钥。Nexus基于Claude Code CLI架构的恢复和扩展版本,添加了一个透明的翻译代理,通过Ollama的OpenAI兼容端点路由所有代理请求。

与云端锁定的替代品不同,Nexus为您提供:

  • 完全数据主权 --你的代码永远不会离开你的机器
  • 模型自由度 --在Llama、Qwen、DeepSeek、Mistral或任何Ollama模型之间进行交换
  • 代理级工具 --30+内置工具,MCP服务器支持,多代理协调
  • 零供应商锁定 --开源、自托管、可扩展

特性

🤖 AI代理系统

  • 多智能体协调 --协调并行工作的多个AI代理
  • 递归亚代理产卵 --代理可以自主生成自己的嵌套子代理,以进行复杂的多层任务委派
  • 代理记忆(大脑) --自动附加到每个活动子代理的集中式持久内存上下文(例如,项目范围的大脑)
  • 30+内置工具 --文件编辑、bash执行、grep、git、web搜索等
  • 工具调用 --具有结构化输入/输出模式的全函数调用
  • 流媒体 --用于响应式交互的实时令牌流

🔌 MCP服务器支持

  • 模型上下文协议 --连接到任何兼容MCP的工具服务器
  • 可扩展 --添加GitHub、GitKraken、数据库和自定义工具服务器
  • 动态工具发现 --代理自动发现和使用MCP工具
  • 许可制度 --对代理可以访问的内容进行精细控制

🏠 当地第一建筑

  • Ollama集成 --本地和云托管Ollama实例的原生支持
  • 任何型号 --使用你拉过的任何东西:Llama、Qwen、DeepSeek、Mistral、CodeLlama
  • 默认隐私 --无遥测、无数据收集、无云依赖
  • 离线可用 --完全不使用互联网(使用本地模式)

☁️ 云提供商支持

  • 奥利玛云 -使用API密钥身份验证连接到远程Ollama部署
  • 可扩展的提供商系统 --体系结构支持添加新的LLM提供程序
  • 混合动力模式 --根据需要混合使用本地和云模型

快速开始

先决条件

  1. 奥拉玛 已安装并正在运行(ollama serve)
  2. 一个模型被拉 --例如。 ollama pull qwen2.5-coder:7b
  3. Node.js 18+

安装

# Clone
git clone https://github.com/SteOnChain/bytez3-nexus.git
cd bytez3-nexus

# Install dependencies
npm install

运行测试

# Translation tests (no Ollama needed)
npm test

# Full test suite with live Ollama connection
npm run test:live

# Test with specific model
OLLAMA_MODEL=qwen2.5:7b npm run test:ollama

用法

# Local Ollama — run with any local model
CLAUDE_CODE_USE_OLLAMA=1 ANTHROPIC_MODEL=qwen2.5-coder:7b nexus

# Ollama Cloud — connect to remote instances
CLAUDE_CODE_USE_OLLAMA=1 \
  OLLAMA_BASE_URL=https://your-cloud.ollama.ai \
  OLLAMA_API_KEY=sk-your-key \
  ANTHROPIC_MODEL=llama3.2 \
  nexus

建筑

Bytez3 Nexus使用 获取级别拦截 建筑。当Ollama提供程序处于活动状态时,来自代理系统的所有API调用都会透明地转换:

┌──────────────────────────────────────────────────────────┐
│                    BYTEZ3 NEXUS                          │
│                                                          │
│  ┌──────────┐    ┌──────────┐    ┌───────────────────┐  │
│  │  Agent    │───▶│   SDK    │───▶│  Fetch Override   │  │
│  │  System   │    │  Client  │    │  (Translation)    │  │
│  └──────────┘    └──────────┘    └─────────┬─────────┘  │
│       │                                     │            │
│  ┌────▼─────┐                  ┌────────────▼─────────┐ │
│  │   MCP    │                  │  Request Translator   │ │
│  │ Servers  │                  │ Anthropic → OpenAI    │ │
│  └──────────┘                  └────────────┬─────────┘ │
│                                             │            │
│                                ┌────────────▼─────────┐ │
│                                │       Ollama          │ │
│                                │ /v1/chat/completions  │ │
│                                └────────────┬─────────┘ │
│                                             │            │
│                                ┌────────────▼─────────┐ │
│                                │ Response Translator   │ │
│                                │ OpenAI SSE → Agent    │ │
│                                └──────────────────────┘ │
└──────────────────────────────────────────────────────────┘

转换层

代理格式(人类) LLM格式(OpenAI/Ollama)
system: [{type: 'text', text}] {role: 'system', content}
{type: 'tool_use', id, name, input} tool_calls: [{function: {name, arguments}}]
{type: 'tool_result', tool_use_id} {role: 'tool', tool_call_id}
content_block_delta 上海证券交易所 choices[].delta 上海证券交易所
stop_reason: 'tool_use' finish_reason: 'tool_calls'

MCP服务器

Bytez3 Nexus支持 模型上下文协议(MCP) --用于将AI代理与外部工具和数据源连接的开放标准。任何兼容MCP的服务器都可以开箱即用:

服务器 提供的工具
GitHub 问题、PR、代码搜索、仓库管理
GitKraken Git操作、分支管理、工作树
棱镜 数据库迁移、模式管理、Studio
谷歌地图 地理编码、路线、地点、方向
自定义服务器 使用MCP SDK构建自己的

MCP工具会自动被发现,通过Ollama代理进行翻译,并可供代理系统使用——除了连接服务器外,不需要任何配置。


模型

推荐型号

型号 尺寸 最适合 工具调用
qwen2.5-coder:7b 4.7 GB 代码生成、重构 ✅ 太好了
qwen2.5-coder:32b 18 GB 复杂的编码任务 ✅ 太好了
llama3.2 2.0 GB 通用,快速 ✅ 很好
deepseek-r1:8b 4.9 GB 推理、调试 ⚠️ 基础
mistral:7b 4.1 GB 性能均衡 ✅ 很好
codellama:13b 7.4 GB 以代码为中心,大上下文 ✅ 很好
qwen2.5:72b 41 GB 最佳质量(需要GPU) ✅ 太好了

型号选择提示

  • 用于工具调用 (MCP、文件编辑、bash):使用 qwen2.5-coder --最佳刀具调用精度
  • 对于速度:使用 llama3.2 --最小、最快的响应
  • 用于推理:使用 deepseek-r1:8b --思维链推理
  • 为了获得最高质量:使用 qwen2.5:72b --如果你有VRAM

环境变量

变量 默认值 描述
CLAUDE_CODE_USE_OLLAMA -- 设置为 1 启用Ollama供应商
OLLAMA_BASE_URL http://localhost:11434 Ollama服务器URL
OLLAMA_API_KEY - Ollama云身份验证的API密钥
ANTHROPIC_MODEL -- 型号名称(例如。, qwen2.5-coder:7b)

项目结构

bytez3-nexus/
├── restored-src/src/                     # Agent system source (TypeScript)
│   ├── main.tsx                          # CLI entry point
│   ├── services/api/
│   │   ├── client.ts                     # API client factory (Ollama injection)
│   │   ├── claude.ts                     # Message handling & streaming
│   │   └── ollama/                       # Ollama translation proxy
│   │       ├── ollamaClient.ts           # Fetch override factory
│   │       ├── requestTranslator.ts      # Anthropic → OpenAI translation
│   │       └── responseTranslator.ts     # OpenAI → Anthropic SSE translation
│   ├── services/mcp/                     # MCP server integration
│   ├── tools/                            # 30+ built-in tools
│   ├── coordinator/                      # Multi-agent coordination
│   ├── assistant/                        # Assistant mode
│   ├── plugins/                          # Plugin system
│   ├── skills/                           # Skills system
│   └── voice/                            # Voice interaction
├── test-ollama.mjs                       # Test suite (49 assertions)
├── assets/                               # Branding assets
└── package.json                          # Project metadata

测试结果

═══ Bytez3 Nexus — Test Suite ═══

▸ Request Translation (Anthropic → OpenAI)        16/16 ✅
▸ Response Stream Translation (OpenAI → Anthropic) 10/10 ✅
▸ Tool Call Response Translation                    8/8  ✅
▸ Non-Streaming Response Translation               10/10 ✅
▸ Live Ollama Connection                            5/5  ✅

═══ Results ═══
  49 passed  0 failed  ✓ All systems operational

路线图

  • [x] Ollama集成 --本地+云模型支持
  • [x] 工具调用 --全功能调用翻译
  • [x] 流媒体 --实时SSE翻译
  • [x] MCP支持 --模型上下文协议兼容性
  • [x] 多模型路由 --将不同的任务路由到不同的模型
  • [x] 代理内存 --跨会话的持久上下文
  • [x] 自定义代理定义 --基于Markdown和YAML的代理配置
  • [x] 网页用户界面 --基于浏览器的代理仪表板(端口3000)
  • [ ] 插件市场 --社区构建的扩展(框架就绪)
  • [ ] 语音模式 --语音驱动的代理交互(需要Whisper/TTS集成)
  • [x] 团队代理 --协作多代理工作流

贡献

欢迎投稿!无论是bug修复、新功能、文档还是想法——打开问题或提交PR。

分支保护: 这 main 树枝受到保护。所有更改都需要至少包含以下内容的Pull Request 1审批审核 在合并之前。直接推动 main 被封锁。

贡献工作流程

# 1. Fork the repo on GitHub, then clone your fork
git clone https://github.com/YOUR_USERNAME/bytez3-nexus.git
cd bytez3-nexus

# 2. Install dependencies
cd restored-src
npm install

# 3. Create a feature branch
git checkout -b feat/your-feature-name

# 4. Set up your environment
cp .env.example .env
# Edit .env with your Ollama settings:
#   CLAUDE_CODE_USE_OLLAMA=1
#   ANTHROPIC_MODEL=qwen2.5-coder:7b

# 5. Start the Web UI for testing
npx tsx --env-file=.env src/server/webServer.ts
# Open http://localhost:3000

# 6. Make your changes, commit, and push
git add -A
git commit -m "feat: describe your change"
git push origin feat/your-feature-name

# 7. Open a Pull Request on GitHub
#    → Base: main ← Compare: feat/your-feature-name
#    → Request review from @SteOnChain

公关指南

  • 每个PR一个功能 --保持更改的重点和可审查性
  • 测试您的更改 --提交前在Web UI中验证
  • 遵循常规承诺 — feat:, fix:, docs:, refactor:
  • 不要承诺 .env 文件或 node_modules/

许可证

MIT© Bytez3


Built with ⚡ by Bytez3