bbarit/bbarit-agent-oss
GitHub: bbarit/bbarit-agent-oss
开源的 Rust 终端 AI 编程 agent,单一二进制文件支持 15+ LLM 提供商和 1000+ 模型,可作为自托管的 Claude Code 替代方案。
Stars: 130 | Forks: 92
bbarit-oss
一个开源的终端 AI 编程 agent —— 使用 Rust 编写,单一二进制文件,支持 15+ LLM 提供商和 1,000+ 模型。
**bbarit-oss** 是一个快速、原生于终端的 **AI 编程 agent** —— 这是一个开源的 CLI,它可以读取、编写和编辑你的代码,运行你的 shell,搜索你的代码仓库,并与你选择的 LLM 结对编程。它以 **单一静态 Rust 二进制文件** 的形式发布,无需安装任何 runtime,并且通过统一的模型注册表支持 **Anthropic Claude、OpenAI GPT / Codex、Google Gemini 以及十几个其他提供商**(以及通过 Ollama 支持的本地模型)。你可以将它视为 Claude Code、Codex CLI 和 Gemini CLI 的自托管、提供商无关的替代品 —— 密钥、数据和二进制文件都由你完全掌控。
## 目录
- [为什么选择 bbarit-oss?](#why-bbarit-oss)
- [安装](#install)
- [快速开始](#quick-start)
- [用法](#usage)
- [提供商与身份验证](#providers--authentication)
- [工具](#tools)
- [斜杠命令](#slash-commands)
- [Persona](#personas)
- [自动记忆](#auto-memory)
- [项目 wiki](#project-wiki)
- [会话](#sessions)
- [技能、扩展、LSP 与 MCP](#skills-extensions-lsp--mcp)
- [配置](#configuration)
- [自动更新](#self-update)
- [对比](#comparison)
- [工作原理](#how-it-works)
- [贡献](#contributing)
- [常见问题与故障排除](#faq--troubleshooting)
- [致谢与许可协议](#credits--license)
## 为什么选择 bbarit-oss?
- 🦀 **单一静态二进制文件,无需 runtime。** 不需要 Node,不需要 Python,也没有 `node_modules`。下载并运行 —— 启动瞬间完成。
- 🔌 **自带模型。** 支持 Anthropic、OpenAI(+ Codex)、Google(Gemini / Vertex)、OpenRouter、Groq、Mistral、Together、Fireworks、DeepSeek、Cerebras、Amazon Bedrock、GitHub Copilot,以及通过 **Ollama** 支持的本地模型 —— 来自同一个注册表的 **1,000+ 模型**,支持在会话中途切换。
- 🔒 **默认保护隐私。** 你的密钥和代码始终保留在你的机器上。没有任何内容被硬编码,二进制文件中不包含任何密钥,且绝对不会进行外部联网通信。将其指向本地模型即可保持完全离线。
- 🧠 **拥有真实工具的真正 agent。** 它可以读取和编辑文件、运行你的 shell、执行 grep 和 find、在你的代码仓库上进行语义 **代码搜索**、抓取网页,并在自主的工具使用循环中生成并行子 agent。
- 🎭 **跨越 30 个领域的 295 个内置 persona** —— 只需一个 flag 即可将 agent 变成专家(backend、SRE、安全、数据、设计等)。
- 🧩 **可扩展且标准化。** 支持直接插入本地技能、扩展、LSP 服务器和 MCP 服务器。
- 🖥️ **极其出色的 TUI。** 具备自动换行的记录、实时 token 流式传输、语法高亮、模型/登录选择器、主题以及类似 shell 的历史记录功能。
## 安装
### 一行命令 (macOS / Linux)
```
curl -fsSL https://bbarit.com/agent/install.sh | sh
```
下载适用于你平台的预编译 `bbarit-oss` 二进制文件,并将其安装到 `~/.local/bin`(可通过 `BBARIT_INSTALL_DIR` 覆盖)。
### 一行命令 (Windows, PowerShell)
```
irm https://bbarit.com/agent/install.ps1 | iex
```
安装到 `%LOCALAPPDATA%\Programs\bbarit-oss`(可通过 `BBARIT_INSTALL_DIR` 覆盖)并将其添加到你的用户 PATH 中。你也可以在 [releases 页面](https://github.com/bbarit/bbarit-agent-oss/releases) 下载二进制文件。
### 从源码构建
需要 [Rust toolchain](https://rustup.rs)(稳定版)。
```
git clone https://github.com/bbarit/bbarit-agent-oss
cd bbarit-agent-oss
cargo build --release
./target/release/bbarit --help
```
### 支持的平台
| 操作系统 | 架构 |
|---|---|
| macOS | Apple Silicon (arm64), Intel (x64) |
| Linux | x64, arm64 |
| Windows | x64 |
## 快速开始
```
# 在你的项目目录中启动交互式 TUI
cd my-project && bbarit-oss
# 首次在无凭证的情况下启动会自动打开登录选择器 ——
# 选择一个 provider(在浏览器中进行 OAuth,或粘贴一个 API key)。或者在任意时间:
/login anthropic sk-ant-api03-... # Claude API key (browser OAuth is disabled)
/login openai-codex # also: github-copilot, google, openrouter, groq, ...
# 选择一个 model(可选 —— 有一个合理的默认选项)
/model claude-sonnet-5
# 直接与它对话
add a --json flag to the CLI and update the tests
```
agent 会进行计划、编辑文件、运行命令,并向你展示每一次工具调用。按 `Esc` 键中断;`Up`/`Down` 键调用之前的输入;`Tab` 键打开菜单。
## 用法
### 交互式 TUI(默认)
直接运行 `bbarit-oss`(不带参数)即可在当前目录打开全屏 agent。用自然语言输入指令;使用 `/`-命令进行控制。
### 单次执行 (`--print`) —— 适用于脚本和其他 agent
```
bbarit-oss --print --no-session \
--provider anthropic --model claude-sonnet-5 \
"Explain what this repo does in one paragraph"
```
`stdout` **仅** 输出最终答案(叙述和工具活动会进入 `stderr`),因此 `bbarit-oss --print … 2>/dev/null` 可以安全地通过管道传递给其他工具。
### 结构化事件 (`--mode json`)
输出以换行符分隔的 JSON 流(`session` / `agent_start` / `message_update` / `turn_end` / `agent_end`),供编程消费者使用。详情请见 **[CLI.md](./CLI.md)**。
### 并行子 agent (`--orchestrate`)
```
bbarit-oss --orchestrate "audit auth.rs for bugs" "write tests for parser.rs" "update the README"
```
将每个任务作为独立的子 agent 进程并行运行,并收集结果。
### 实用 flag
| Flag | 效果 |
|---|---|
| `--provider
` · `--model ` | 选择提供商 / 模型 |
| `--thinking low\|medium\|high` | 推理强度 |
| `--persona ` | 以特定专家 persona 启动 |
| `-t, --tools bash,read,edit` | 工具白名单 · `--no-tools` 禁用所有工具 |
| `--no-session` | 不写入会话文件 |
| `--append-system-prompt "…"` | 附加系统指令 |
| `--print` / `--mode json` | 非交互式输出模式 |
| `--upgrade` | 更新 bbarit-oss 自身,然后退出 |
完整列表请运行:`bbarit-oss --help`。
## 提供商与身份验证
一个注册表,多个提供商。在 **没有凭据的新安装** 中,bbarit-oss 会在首次启动时 **自动打开登录选择器** —— 你只需按下一个键即可登录。之后,你可以随时通过 `/login ` 登录(如果支持则使用 OAuth,否则使用 API key),或者设置该提供商的环境变量。
| 提供商 | 认证方式 |
|---|---|
| Anthropic (Claude) | API key —— `/login anthropic sk-ant-…` 或 `ANTHROPIC_API_KEY`(浏览器 OAuth 已禁用) |
| OpenAI | `OPENAI_API_KEY` |
| OpenAI Codex (ChatGPT) | OAuth / 设备登录 |
| Google Gemini | `GEMINI_API_KEY` |
| Google Vertex | ADC / `GOOGLE_CLOUD_API_KEY` |
| OpenRouter | `OPENROUTER_API_KEY` |
| Groq · Mistral · Together · Fireworks · DeepSeek · Cerebras | 提供商 API key |
| Amazon Bedrock | AWS 凭据 / profile |
| GitHub Copilot | 设备登录 |
| Ollama (本地) | 无 —— 从 `OLLAMA_HOST` 自动发现 |
你可以随时使用 `/model` 切换模型;使用 `/models` 进行浏览。
## 工具
agent 会在其循环中自主调用以下工具:
| 工具 | 用途 |
|---|---|
| `read` · `write` · `edit` | 读取和修改文件(针对性、经过哈希校验的编辑) |
| `bash` | 在项目目录中运行 shell 命令 |
| `grep` · `find` · `ls` · `tree` | 导航和搜索文件树(感知 gitignore) |
| `code_search` | 在你的代码仓库上进行混合 BM25 + 语义搜索(内置 `semble`) |
| `web_search` · `web_fetch` | 查找信息和抓取网页 |
| `task` | 为特定子任务生成子 agent |
| `computer` | 可选的截图 + 鼠标/键盘控制(`/computer on`) |
使用 `--tools` / `--exclude-tools` / `--no-tools` 限制 agent 的行为,并通过项目信任度(`--approve`)来控制变更操作。
## 斜杠命令
部分精选(运行 `/help` 获取完整列表):
| 命令 | 描述 |
|---|---|
| `/login`, `/logout`, `/accounts` | 管理提供商凭据 |
| `/model`, `/models`, `/providers` | 选择模型 / 提供商 |
| `/thinking` | 设置推理强度 |
| `/persona` | 采用特定专家 persona |
| `/session`, `/sessions`, `/new`, `/resume`, `/fork`, `/clone` | 会话控制 |
| `/export`, `/import`, `/share` | 保存 / 加载 / 分享为 HTML |
| `/skills`, `/prompts`, `/themes`, `/extensions` | 加载资源 |
| `/memory`, `/wiki` | 跨会话记忆和项目 wiki |
| `/lens` | 审查你未提交的更改 |
| `/computer on\|off` | 切换桌面控制 |
| `/reload`, `/help`, `/quit` | 日常维护 |
## Persona
bbarit-oss 内置了跨越 **30 个领域** 的 **295 个精选 persona** —— 涵盖工程、数据/AI、安全、SRE、设计、产品、增长、财务、法律、游戏开发等。一个 persona 并不是一句“扮演 X”的简单提示:每一个都是完整的 **人格设定**(包含专业技能、工作方式、优先事项、禁忌),agent 会完全采纳。
**库一览。** 30 个领域的 295 个 persona —— 通过 `/persona ` 选择一个,或者在 TUI 选择器中浏览全部(支持跨 ID、名称和描述的模糊搜索)。
| 领域 | 数量 | 示例 |
|---|--:|---|
| Specialized | 54 | `accounts-payable-agent`, `agentic-identity-trust` |
| Marketing | 36 | `aeo-foundations`, `agentic-search-optimizer` |
| Engineering | 34 | `ai-data-remediation-engineer`, `ai-engineer` |
| Design | 21 | `accessibility-designer`, `brand-guardian` |
| GIS & mapping | 13 | `3d-scene-developer`, `analyst` |
| Content creation | 12 | `ad-creative-director`, `brand-storyteller` |
| Security | 10 | `appsec-engineer`, `architect` |
| Sales | 9 | `account-strategist`, `coach` |
| Testing | 8 | `accessibility-auditor`, `api-tester` |
| Paid media | 7 | `auditor`, `creative-strategist` |
| Project management | 7 | `experiment-tracker`, `jira-workflow-steward` |
| Spatial computing | 6 | `macos-spatial-metal-engineer`, `terminal-integration-specialist` |
| Support | 6 | `analytics-reporter`, `executive-summary-generator` |
| Academic | 5 | `anthropologist`, `geographer` |
| Finance | 5 | `bookkeeper-controller`, `financial-analyst` |
| Game development | 5 | `game-audio-engineer`, `game-designer` |
| Product | 5 | `behavioral-nudge-engine`, `feedback-synthesizer` |
| Ad performance | 4 | `google-ads-specialist`, `media-buyer` |
| Business & startup | 4 | `biz-dev-manager`, `pricing-strategist` |
| Commerce ops | 4 | `crm-retention-manager`, `ecommerce-operator` |
| Data & AI | 4 | `automation-builder`, `data-analyst` |
| Health & wellness | 4 | `fitness-programmer`, `habit-architect` |
| HR & education | 4 | `career-coach`, `curriculum-designer` |
| Image prompting | 4 | `character-illustrator-prompter`, `midjourney-prompter` |
| Legal & finance | 4 | `accounting-organizer`, `contract-reviewer` |
| Media, audio & photo | 4 | `audio-engineer`, `music-producer`| Real estate & space | 4 | `interior-planner`, `office-space-designer` |
| Sales (pro) | 4 | `account-manager`, `outbound-sales-hunter` |
| Video production | 4 | `cinematographer`, `live-stream-pd` |
| Writing & translation | 4 | `book-author-coach`, `speech-writer` |
**来源与许可。** Persona 设定改编自 [AgentLand](./personas/LICENSE)(MIT 协议,© 2025 AgentLand 贡献者);围绕它们的 persona *系统*(注入、只读模式、选择器、覆盖)是我们自主开发的。
**Persona 是如何定义的。** 每个 persona 是位于 `personas//.md` 的一个 Markdown 文件。文件名是它的稳定 ID,父目录是它的所属领域,frontmatter 包含 `name`、`description`、`emoji`、`color` 和一句 `vibe`;frontmatter 下方的正文就是设定本身。将你自己的 `.md` 文件放入 `personas/` 目录(项目或用户级别)即可加入库中 —— 无需修改代码。
**如何采用 persona。**
```
bbarit-oss --persona backend-engineer # at startup (id, name, or search term)
BBARIT_PERSONA=sre-oncall bbarit-oss # via environment (how a launcher assigns one)
# 或者在一个 session 中:
/persona security-auditor # adopt
/persona off # drop back to the neutral agent
```
当前活跃的 persona 会作为 `` 块注入到 system prompt 中,并且 TUI 标题栏会显示其 emoji + 名称徽章,让你始终知道 agent 当前是 **谁**。在设置中配置 `defaultPersona` 可以让每个新会话都以该角色身份开启。
**只读 persona。** 包含 `%%mode=readonly` 的设定会将该 persona 变成纯粹的顾问:在它处于活跃状态时,所有修改类工具(write/edit/bash/…)都会被拒绝 —— 非常适合绝对不能触碰代码树的审查者或审计员 persona。选择器会优先列出 Engineering(工程)类,其余按字母顺序排列,模糊搜索支持跨 ID、名称和描述。
## 自动记忆
agent 会自动记住 **跨会话** 的重要内容。该设计改编自 qwen-code(参见 [PROVENANCE.md](./PROVENANCE.md));实现代码位于 `src/memory.rs`。
**回忆(轮次开始)。** 在每一轮对话之前,系统会通过关键词重叠度对存储的记忆与你的 prompt 进行评分 —— **无需调用 LLM,也不增加延迟** —— 最相关的记忆会被作为背景上下文注入。agent 会自然而然地“记住”你的偏好、你的项目限制以及你上周做过的修正。
**提取(轮次结束)。** 轮次结束后,后台的 `--print` 子 agent 会读取对话增量,并 **仅提取持久的事实** —— 即在未来会话中依然有用的信息。每个事实都有类型:
| 类型 | 捕获的内容 |
|---|---|
| `user` | 你是谁 —— 角色、专业技能、偏好 |
| `feedback` | 纠正和已确认的工作方式(“总是做 X,绝不做 Y”) |
| `project` | 无法从代码中推导出的目标、决策、限制 |
| `reference` | 指向外部资源的链接 |
提取过程刻意保持保守:它会跳过瞬时的任务状态、可以从代码或 git 历史中推导出的任何内容,并且仅在该轮次增加了足够多的新对话内容(4 条以上消息,增量上限为 16 KB)时才会运行。每个会话的游标保证了内容不会被重复提取,且子 agent(`BBARIT_SUBAGENT=1`)永远不会执行提取 —— 避免了递归的记忆死循环。
**可读可编辑的存储。** 每一条记忆都是位于 agent 的 `memory/` 目录下纯文本的 `.md` 文件(frontmatter 包含:名称、描述、类型),并配有每条记忆一行的 `MEMORY.md` 索引。你可以用任何编辑器打开它们;agent 会将你的编辑视为事实真相。
```
/memory # list stored memories
/memory show # view one in full
/memory forget # delete one
/memory reset # clear all memories
BBARIT_AUTO_MEMORY=0 # turn the whole feature off
```
## 项目 wiki
这是 agent 在工作时维护的 **特定项目的知识库**(`src/wiki.rs`)。页面是共享笔记库(`~/Documents/octo-notes`)中的纯 Markdown 文件,每个项目都限定在自己的 `projects//` 角落里 —— 一个项目的知识 **绝对不会** 被注入到另一个项目的 prompt 中。
**agent 负责编写,你来阅读 —— 反之亦然。** `wiki` 工具赋予了 agent 五种操作能力:`get`、`set`、`list`、`search`、`delete`。System prompt 会告诉它记录下对代码库的了解以及它的修改内容,并在进行相关工作之前查阅 wiki —— 这样一来,来之不易的上下文(构建怪癖、架构决策、避坑指南)就能跨越会话边界和上下文压缩保留下来。
```
/wiki # list this project's pages
/wiki # full-text search with snippets
/wiki get # load and view a note in full
/wiki delete # delete one note
/wiki reset # clear this project's notes (other projects untouched)
```
修改操作(`set` / `delete`)与文件编辑一样受到严格控制:在 plan 模式和只读 persona 下会被阻止。这些页面是普通的 Markdown 文件 —— 支持包含 wiki 链接和标签 —— 因此它们也可以直接作为人类笔记使用,且 BBARIT 终端的笔记应用显示的是同一个笔记库。旧版的项目特定 wiki 存储会被一次性导入,且不会覆盖现有笔记。
## 会话
每一次对话都是一个 **JSONL 树状会话**,你可以对其进行分支、fork、克隆、重命名、恢复以及导出为独立的 HTML。会话保存在 agent 的配置目录中,并会自动修剪,仅保留最近 30 个。
## 复用你的 Claude Code 和 Codex 配置
你可能已经在 **Claude Code** 或 **Codex** 中配置好了 MCP 服务器和技能。bbarit-oss 会 **原封不动地** 读取这些配置,并加载相同的服务器和技能 —— 因此你现有的工具箱在首次运行时即可使用,无需重新注册。
查找位置(优先级从高到低 —— 名称冲突时取第一个匹配项):
| 来源 | MCP 服务器 | 技能 |
|---|---|---|
| **当前项目** | `./.mcp.json` | `.agents/skills/` |
| **bbarit-oss (你的)** | `~/.bbarit-oss/agent/mcp.json` | `~/.bbarit-oss/agent/skills/` |
| **Claude Code** | `~/.claude.json` → `mcpServers` | `~/.claude/skills/`, `./.claude/skills/` |
| **Codex** | `~/.codex/config.toml` → `[mcp_servers]` | `~/.codex/skills/` |
**只读且安全。** bbarit-oss 只会 *读取* Claude/Codex 的文件 —— 它绝对不会写入其他工具的配置。仅支持使用 stdio MCP 服务器;标记为 `disabled` / `enabled = false` 的条目会被跳过,就像在那些工具中一样。
**这是一个开关**,默认关闭:
```
/interop # show current state
/interop on # reuse Claude Code / Codex MCP servers and skills as-is
/interop off # back to only bbarit-oss's own configs (the default)
```
或者在环境及 `~/.bbarit-oss/agent/.env` 中设置 `BBARIT_INTEROP=1`。该设置会被记住,并且 `/settings` 会显示当前实时状态。
## 技能、扩展、LSP 与 MCP
- **Skills** —— 将 `SKILL.md` 文件(包含 frontmatter)放入 skills 目录;agent 会按需加载它们。
- **Extensions** —— 本地 JS/TS 扩展可以添加命令、工具、hook、快捷键,甚至是自定义提供商。
- **LSP** —— 语言服务器提供诊断和代码智能提示。
- **MCP** —— 连接 Model Context Protocol 服务器以添加工具和资源。
无需手动编辑 JSON 即可注册:
/mcp add filesystem npx -y @modelcontextprotocol/server-filesystem .
/mcp # 列出服务器以及每个服务器暴露了多少工具
/mcp remove filesystem
`/mcp add` 会将条目写入当前项目的 `.mcp.json` 并立即连接;工具会在下一轮次出现在 agent 的工具集中。
- **即刻创建新技能。** 脚手架生成项目技能并开始编辑:
/skill new deploy-steps "run the deploy checklist in order"
这将创建 `.agents/skills/deploy-steps/SKILL.md`(包含 frontmatter + 正文)并自动加载 —— 填写正文后,agent 即可按需调用它。
## 配置
bbarit-oss 是 **完全自包含的**:一切都位于其专属的 `~/.bbarit-oss/agent/` 目录下 —— 包括凭据、设置、会话、记忆、wiki 笔记库(`notes/`)以及它的 dotenv(`.env`)。它与 BBARIT 终端桌面应用或任何其他工具 **不共享** 任何内容;安装或卸载它永远不会影响其他程序的状态。(旧版的 `~/.pi/agent` 布局会进行一次性迁移,并且为了保持与 Pi 生态系统的兼容性,各项目特定的 `./.pi` 设置将继续发挥作用。)
API key 按以下顺序解析:`--api-key` → 已保存的 `/login` 凭据 → 提供商配置 → 环境变量。没有任何内容被硬编码,也没有任何密钥被编译到二进制文件中。
实用的环境变量:
| 变量 | 含义 |
|---|---|
| `BBARIT_AGENT_MODE=1` | Agent 模式(当有程序通过管道传递给 bbarit-oss 时设置) |
| `BBARIT_AUTO_CONTEXT=0` | 禁用轮次开始时的代码上下文注入 |
| `BBARIT_AUTO_MEMORY=0` | 禁用自动记忆的回忆/提取 |
| `BBARIT_PERSONA=` | 启动 persona |
| `BBARIT_UPDATE_BASE=` | 覆盖更新/安装服务器地址 |
## 自动更新
```
bbarit-oss --upgrade
```
检查 release 清单,下载适用于你平台的最新预编译二进制文件,并原子性地替换正在运行的可执行文件。拒绝降级,并且下载失败绝不会留下损坏的二进制文件。
**在启动时**,bbarit-oss 还会在后台检查是否有更新的版本(非阻塞),如果有新版本则会显示一行提示 —— 在会话中运行 `/update`,或者执行 `bbarit-oss --upgrade`。若要在启动时自动升级,请设置 `BBARIT_AUTO_UPGRADE=1`;若要关闭检查,请设置 `BBARIT_NO_UPDATE_CHECK=1`。
## 对比
| | bbarit-oss | Claude Code | Codex CLI | Gemini CLI |
|---|---|---|---|---|
| 开源 | ✅ MIT | ❌ | ✅ | ✅ |
| 语言 / runtime | Rust,单一二进制 | Node | Rust | Node |
| 多提供商支持 | ✅ 15+ | Anthropic | OpenAI | Google |
| 本地模型 | ✅ | ❌ | ❌ | ❌ |
| 内置 persona | ✅ 295 | ❌ | ❌ | ❌ |
| 语义代码搜索 | ✅ 内置 | ❌ | ❌ | ❌ |
| 跨会话自动记忆 | ✅ | ❌ | ❌ | ❌ |
| 项目 wiki | ✅ | ❌ | ❌ | ❌ |
| 并行子 agent | ✅ 多进程 | ❌ | ❌ | ❌ |
| 复用 Claude Code 和 Codex 的 MCP/skills | ✅ `/interop` | — | — | — |
| MCP 支持 | ✅ | ✅ | ✅ | ✅ |
| 自动更新 (`--upgrade`) | ✅ 全平台支持 | ✅ | ✅ | ✅ |
## 工作原理
```
you ─▶ TUI / CLI ─▶ agent loop ─▶ LLM (your provider)
│ │
▼ ▼
tools ◀──── tool calls
(read/edit/bash/search/…)
```
agent 会运行迭代式的 **助手 → 工具调用 → 工具返回结果** 循环,直到模型生成不再需要工具调用的最终答案。后台进程全局性的 **代码索引** (semble) 保持了仓库搜索的快速且不会阻塞轮次。随着会话的增长,上下文会被自动压缩。
## 贡献
欢迎你的贡献 —— 请参阅 **[CONTRIBUTING.md](./CONTRIBUTING.md)** 和我们的 **[行为准则](./CODE_OF_CONDUCT.md)**。简而言之:
```
cargo fmt --all
cargo build
cargo test
```
你可以提交 issue 来反馈 bug 或提出想法,或者提交 PR 进行代码更改。CI 会在 Linux 和 macOS 上运行格式化、构建和测试(clippy 仅供参考)。
## 常见问题与故障排除
**它和 Claude Code / Codex CLI / Gemini CLI 有什么不同?**
它是开源的、模型无关的(支持任何提供商或本地模型),并且以单一的 Rust 二进制文件形式发布,无需任何 runtime。
**它和 Pi 有关系吗?**
是的 —— 它的设计基于 [Pi](https://github.com/earendil-works/pi) (MIT)。它是一次完全独立的 Rust 重写;我们在 [PROVENANCE.md](./PROVENANCE.md) 中发布了精确的代码重合度测量结果和完整的差异列表。如果你发现了 Pi 并且想要一个单二进制、多提供商的版本,bbarit-oss 就是为你准备的。
**支持哪些 LLM 提供商?**
Anthropic Claude、OpenAI (GPT + Codex)、Google Gemini / Vertex、OpenRouter、Groq、Mistral、Together、Fireworks、DeepSeek、Cerebras、Amazonrock、GitHub Copilot 以及通过 **Ollama** 支持的本地模型 —— 涵盖来自同一个注册表的 15+ 提供商、1,000+ 模型。
**我能使用本地模型 / 离线工作吗?**
可以。将工具指向 **Ollama** (`/ollama`) 即可完全在你的机器上运行 —— 无需 API key,数据也不会离开你的电脑。
**它是免费的吗?**
该 agent 是免费且开源的 (MIT)。你只需为你使用的 LLM 提供商付费(或者运行本地模型,费用为 $0)。
**如何在 Windows 上安装?**
在 PowerShell 中运行一行命令:`irm https://bbarit.com/agent/install.ps1 | iex` —— 它会安装到 `%LOCALAPPDATA%\Programs\bbarit-oss` 并将其添加到你的 PATH 中(Windows-on-ARM 会通过模拟运行 x64 二进制文件)。`--upgrade` 会进行原地自动更新。你也可以在 [releases 页面](https://github.com/bbarit/bbarit-agent-oss/releases) 下载二进制文件。
**我的代码隐私安全吗?**
是的 —— 你的密钥和代码保留在你的机器上,并且只会发送给你选择的提供商。它是完全可自托管的;没有任何数据会经过我们的服务器。
**安装后提示 `bbarit-oss: command not found`。**
请将安装目录添加到你的 `PATH` 中:`export PATH="$HOME/.local/bin:$PATH"`。
**登录时没有打开浏览器。**
请复制 bbarit-oss 打印的 URL 并手动打开;回调仍然可以正常完成。
**它会进行外部联网通信吗?**
不会。你的 API key 和代码都会保留在你的机器上。
## 致谢与许可协议
在 [MIT License](./LICENSE) 下发布。基于 [Pi](https://github.com/earendil-works/pi)(MIT,© 2025 Mario Zechner);Pi 的版权声明保留在 [NOTICE](./NOTICE) 中,代码重合度测量结果披露于 [PROVENANCE.md](./PROVENANCE.md)。捆绑了基于 MIT 协议的 [`semble`](https://github.com/johunsang/semble_rs) 代码搜索引擎。
bbarit-oss —— 开源 AI 编程 agent · 终端编程 agent · CLI 编程助手 · 开源 Claude Code 替代品 · Codex CLI 替代品 · Gemini CLI 替代品 · Rust 编程 agent · LLM agent · AI 结对编程 · 自主编程 agent · Anthropic Claude · OpenAI GPT · Google Gemini · OpenRouter · Ollama · 本地 LLM · MCP · 开发者工具。
标签:AI编程助手, AI风险缓解, LLM集成, Rust, SOC Prime, 代码生成, 可视化界面, 开发工具, 本地部署, 渗透测试工具, 网络流量审计, 通知系统