bbarit/bbarit-agent-oss

GitHub: bbarit/bbarit-agent-oss

开源的 Rust 终端 AI 编程 agent,单一二进制文件支持 15+ LLM 提供商和 1000+ 模型,可作为自托管的 Claude Code 替代方案。

Stars: 130 | Forks: 92

bbarit-oss — open-source AI coding agent for the terminal

bbarit-oss

bbarit-oss demo — the agent writes and runs code in your terminal

一个开源的终端 AI 编程 agent —— 使用 Rust 编写,单一二进制文件,支持 15+ LLM 提供商和 1,000+ 模型。

MIT License Rust Platforms Website Provenance PRs welcome

**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, 代码生成, 可视化界面, 开发工具, 本地部署, 渗透测试工具, 网络流量审计, 通知系统