bbarit-oss
终端里的开源 AI 编程智能体:单个 Rust 二进制、15+ 模型提供商、1,000+ 模型,可自托管。
- Star 数
- ★ 150
- 最近更新
- 3 个月前
- License
- NOASSERTION
- 主语言
- Rust
- FA 评分
- 42/100 · 缺口较多
30 秒速览
- 运行形态
- 可在哪里用
- 通用 · 跨平台ChatGPT · Codex · Claude Code · OpenAI API · Claude API
- 费用
- 软件免费,模型调用费用自付
- 上手难度
- 低 · 几分钟可跑通
- 开始前需要
- 典型场景
- 习惯在终端工作、希望用同一套命令在 Claude、GPT、Gemini 与本地 Ollama 之间切换模型的开发者。
- 不适合
- 需要图形化 IDE 集成而非终端操作的团队
- 不愿意自行承担 LLM API 费用或配置本地 Ollama 的用户
- 要求 Windows ARM 原生二进制(当前仅 x64)的用户
- 源码审查
- 42/100 · 缺口较多
这个 Agent 能做什么,适合哪些场景?
bbarit-oss 是一个终端原生的 AI 编程智能体,以单个静态 Rust 二进制分发,无需 Node 或 Python 运行时。它通过统一的模型注册表接入 Anthropic Claude、OpenAI GPT/Codex、Google Gemini/Vertex、OpenRouter、Groq、Mistral、Together、Fireworks、DeepSeek、Cerebras、Amazon Bedrock、GitHub Copilot 以及本地 Ollama,共 15+ 提供商、1,000+ 模型,并可在会话中切换。运行时它执行「助手→工具调用→工具结果」的迭代循环,自主调用 read/write/edit、bash、grep/find/tree、内置 semble 混合 BM25+语义代码搜索、web_search/web_fetch、子任务 task 等工具。除交互式 TUI 外,还提供 --print 一次性输出、--mode json 结构化事件流和 --orchestrate 多进程并行子智能体。它内置 295 个跨 30 个领域的智能体人格、基于 qwen-code 设计的跨会话自动记忆、按项目隔离的 markdown 项目 wiki,并可在开启 /interop 后只读复用 Claude Code 与 Codex 的 MCP 服务器和技能。所有配置、凭据、会话和记忆都存放在 ~/.bbarit-oss/agent/ 目录下,代码与密钥只发送给用户选择的提供商,属 MIT 许可。
启动后,bbarit-oss 在当前目录打开全屏 TUI;无凭据时自动弹出登录选择器,可通过 /login <provider> 完成 OAuth 或粘贴 API 密钥。用户用自然语言下达指令,智能体进入循环:调用 LLM,解析其工具调用,执行 read/write/edit(带哈希校验的定向编辑)、bash 命令、grep/find/ls/tree(遵循 gitignore)、code_search(内置 semble 的 BM25+语义混合检索)、web_search/web_fetch,或通过 task 派生子智能体,直至模型给出不含工具调用的最终答复。每轮开始前,src/memory.rs 按关键词重合度对已存记忆打分并注入上下文(不额外调用 LLM);每轮结束后由后台 --print 子智能体从对话增量中提取 user/feedback/project/reference 四类持久事实,写入 memory/ 下的 <slug>.md 与 MEMORY.md 索引。项目 wiki 由 wiki 工具的 get/set/list/search/delete 五个动作维护,页面为 ~/Documents/octo-notes 下按项目隔离的 markdown。会话以 JSONL 树形结构存储,支持 fork/clone/resume 与导出为自包含 HTML。--print 模式下 stdout 仅输出最终答案,--mode json 输出 session/agent_start/message_update/turn_end/agent_end 事件流,--orchestrate 为每个任务启动独立子智能体进程并行执行。
- 习惯在终端工作、希望用同一套命令在 Claude、GPT、Gemini 与本地 Ollama 之间切换模型的开发者。
- 已在 Claude Code 或 Codex 中配置好 MCP 服务器与技能,想换到更轻量单二进制工具又不想重新注册的团队(开启 /interop)。
- 需要在离线或内网环境运行编码智能体、只允许本地模型的安全敏感团队(指向 Ollama)。
- 想在脚本或 CI 中把编码智能体当作可编程组件调用的工程师(--print 输出纯净 stdout,--mode json 消费事件流)。
- 需要并行审计、写测试、改文档等多个子任务同时推进的个人或小组(--orchestrate)。
- 希望让智能体按特定角色(如安全审计、SRE、后端架构)工作并保持只读约束的评审场景(--persona + %%mode=readonly)。
如何安装或部署这个 Agent?
macOS / Linux 一行安装(默认装到 ~/.local/bin,可用 BBARIT_INSTALL_DIR 覆盖):
curl -fsSL https://bbarit.com/agent/install.sh | shWindows PowerShell 一行安装(默认装到 %LOCALAPPDATA%\Programs\bbarit-oss 并加入用户 PATH):
irm https://bbarit.com/agent/install.ps1 | iex从源码构建需要 stable Rust 工具链:
# 需要先安装 Rust:https://rustup.rs
git clone https://github.com/bbarit/bbarit-agent-oss
cd bbarit-agent-oss
cargo build --release
./target/release/bbarit --help平台支持:macOS(arm64/x64)、Linux(x64/arm64)、Windows(x64;ARM 上以 x64 模拟运行)。也可从 releases 页面下载二进制。
如何使用这个 Agent?
进入项目目录直接启动交互式 TUI;首次无凭据会自动弹出登录选择器:
cd my-project && bbarit-oss也可显式登录并选择模型(Anthropic 使用 API 密钥,浏览器 OAuth 已禁用):
/login anthropic sk-ant-api03-...
/login openai-codex
/model claude-sonnet-5脚本与自动化场景使用一次性输出,stdout 只有最终答案:
bbarit-oss --print --no-session \
--provider anthropic --model claude-sonnet-5 \
"Explain what this repo does in one paragraph"并行子智能体与结构化事件流:
bbarit-oss --orchestrate "audit auth.rs for bugs" "write tests for parser.rs" "update the README"
bbarit-oss --mode json "summarize the build scripts"常用开关包括 --thinking low|medium|high、--persona <id>、-t/--tools 白名单、--no-tools、--append-system-prompt、--upgrade。API 密钥解析顺序为 --api-key → /login 存储凭据 → 提供商配置 → 环境变量;也可直接设置 ANTHROPIC_API_KEY、OPENAI_API_KEY、GEMINI_API_KEY、OPENROUTER_API_KEY 等。完全离线可指向 Ollama(OLLAMA_HOST 自动发现)。
这个 Agent 有哪些优点和局限?
- 单个静态 Rust 二进制,无 Node/Python 运行时依赖,启动即时,跨 macOS/Linux/Windows 交叉编译并支持 --upgrade 原地自更新。
- 提供商高度解耦:同一注册表覆盖 15+ 提供商与 1,000+ 模型,可在会话中用 /model 切换,并支持 Ollama 本地模型实现离线运行。
- 内置基于 semble 的 BM25+语义混合代码搜索、跨会话自动记忆(qwen-code 设计)与按项目隔离的 markdown 项目 wiki,减少重复探索成本。
- /interop 可只读复用 ~/.claude.json、~/.claude/skills、~/.codex/config.toml、~/.codex/skills,无需重新注册 MCP 服务器与技能,且默认关闭以保持精简。
- 提供 --print(纯净 stdout)、--mode json(NDJSON 事件流)、--orchestrate(多进程并行子智能体)三种可编程接口,便于嵌入脚本与 CI。
- 许可证字段为 NOASSERTION,README 自述 MIT 并提及继承自 Pi(MIT)与 qwen-code(Apache-2.0)及 AgentLand 人格库,实际授权需以 LICENSE/NOTICE/PROVENANCE.md 复核。
- Windows 仅提供 x64 二进制,ARM 设备需模拟运行;项目为单一组织维护,生态与第三方集成成熟度尚未体现。
- 核心价值依赖外部 LLM 提供商或本地 Ollama,模型能力与费用由用户自行承担;Anthropic 路径不支持浏览器 OAuth,只能使用 API 密钥。
- 人格注入、自动记忆、项目 wiki 等特性会增加系统提示与上下文开销,虽然 /interop 默认关闭,但记忆提取仍需后台子智能体调用。
- 扩展能力(JS/TS 扩展、LSP)在 README 中仅概述,缺少详细的 API 文档与示例;从 Pi 迁移虽声明兼容 .pi 配置,仍需验证。
这个 Agent 与同类方案有什么区别?
README 明确将自身定位为 Claude Code、Codex CLI、Gemini CLI 的可自托管、提供商无关替代品,并逐项对比开源许可、语言/运行时、多提供商、本地模型、内置人格、语义代码搜索、跨会话记忆、项目 wiki、并行子智能体、复用 Claude/Codex 的 MCP 与技能、MCP 支持与自更新。它同时声明设计基于 Pi(MIT,TypeScript/Node)并做了 Rust 重写,保留其小核心哲学而新增编排器、wiki、人格、自动记忆与互操作能力,并称相较 Pi 缺少这些能力;PROVENANCE.md 披露了精确的源码重合度。
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| bbarit-oss 当前 | 42 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 150 | 3 个月前 | Rust | ChatGPT · Codex · Claude Code · OpenAI API · Claude API |
| Aster | 77 · 表现良好 | 命令行工具免费 + 模型费 | ★ 137 | 4 天前 | Rust | OpenAI API |
| zerostack | 57 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 1.7k | 2 天前 | Rust | OpenAI API · Claude API |
| VT Code 终端编码智能体 | 66 · 存在缺口 | 命令行工具免费 + 模型费 | ★ 897 | 1 天前 | Rust | OpenAI API |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
README 提到 --tools/--exclude-tools/--no-tools、--approve 项目信任门控、只读 persona 拒绝写工具、/interop 默认关闭且只读外部配置,这些是真实的最小权限与确认设计,但均为文档断言,未见代码实现;bash 与 computer 工具可执行任意命令/桌面控制,默认自主循环,缺少逐次确认的明确证据,故 least_privilege 与 user_confirmation 仅 1。数据流方面声明密钥本地、不 phone home、可离线,但 wiki 写入 ~/Documents/octo-notes、自动记忆后台子代理抽取对话,敏感数据落盘与外部传输边界描述不完整,sensitive_data_handling 与 data_flow_transparency 各 1。依赖清单含 enigo(桌面控制)、arboard、rsa、tungstenite 等,无审计或锁定说明,dependency_security 1。外部效应(写文件、跑 shell、桌面控制)有门控描述但无恢复机制,rollback 仅靠会话 JSONL 与 --no-session,1。来源归属有 LICENSE、NOTICE、PROVENANCE.md 引用与 Pi/qwen-code/AgentLand 归属,故 source_attribution 2。
README 内部存在矛盾:英文段称 /interop 默认关闭,韩文段却写“기본 ON(기본 켜짐)”,同一功能默认状态自相矛盾,self_consistency 扣分至 1。依赖可用性方面 Cargo.toml 使用 path 依赖 vendor/semble 与 edition 2024,但仓库未提供 vendor 内容或锁定文件证据,dependency_availability 1。失败信息与错误处理无任何文档或代码证据,failure_messages 1。
README 明确面向终端开发者,给出交互 TUI、--print 脚本模式、--mode json 结构化事件、--orchestrate 并行子代理,场景覆盖较全,audience_and_scenarios 2。能力边界有工具表与 persona 只读模式说明,但缺少对危险操作、网络访问范围、模型能力差异的边界界定,capability_boundaries 1。触发精度方面斜杠命令与标志有列表,但无冲突/优先级规则,trigger_precision 1。环境适配列出 macOS/Linux/Windows 架构与安装方式,environment_fit 2。
README 有完整目录、安装、快速开始、工具、命令、配置等章节,信息架构 2。安装说明含一行脚本、源码构建、平台表,install_notes 2。命名稳定性方面 persona id 称稳定,但版本 0.1.21 且无 API 稳定性承诺,naming_stability 1。示例与 FAQ 有快速开始示例,但 FAQ 章节内容在提供的文件中被截断,examples_and_faq 1。已知限制几乎未列,known_limitations 1。LICENSE 为 MIT 但元数据为 NOASSERTION,且 LICENSE 年份写 2026,license 1。版本号存在但无 CHANGELOG,versioning_changelog 1。维护责任指向未验证发布者与 bbarit.com,maintenance_responsibility 1。
输出可用性有 --print 仅 stdout 最终答案、--mode json 结构化事件,对脚本消费友好,output_usability 2。边际价值主张为 Claude Code/Codex 替代并复用其 MCP/技能,但差异化多为文档宣称,缺少对比证据,marginal_value 1。成本效益声称单二进制低内存、自动记忆减少重复探索,但无基准或度量,cost_benefit 1。
README 大量具体声明(295 persona、1,000+ 模型、0.1% 重叠)指向 PROVENANCE.md/NOTICE,但提供的文件未含其内容,claim_traceability 1。跨源佐证仅有 CI 工作流与 Cargo.toml 部分印证构建与测试存在,其余声明无第二来源,cross_source_corroboration 1。事实与推断分离方面 README 混用营销语与事实,未明确标注哪些经过测量,fact_inference_separation 1。
- README 英文与韩文对 /interop 默认状态描述矛盾(关闭 vs 开启),使用前需以实际代码/设置为准。
- bash 与 computer 工具可在自主循环中执行任意命令和桌面控制,文档未展示逐次确认或沙箱证据,建议在隔离环境并配合 --tools/--no-tools 限制使用。
- 自动记忆会由后台子代理抽取对话内容并落盘,wiki 写入 ~/Documents/octo-notes,需确认敏感信息处理与清理方式。
- Cargo.toml 依赖 vendor/semble 路径依赖与 edition 2024,但未提供 vendor 内容或锁定文件,构建可复现性存疑。
- 许可证元数据为 NOASSERTION 且 LICENSE 年份为 2026,发布者身份未经验证,来源与维护责任需自行核实。
最近版本
来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。
-
发布说明摘录
Full Changelog: https://github.com/bbarit/bbarit-agent-oss/compare/v0.1.20...v0.1.21在 GitHub 查看 ↗ -
发布说明摘录
Full Changelog: https://github.com/bbarit/bbarit-agent-oss/compare/v0.1.19...v0.1.20在 GitHub 查看 ↗ -
发布说明摘录
Full Changelog: https://github.com/bbarit/bbarit-agent-oss/compare/v0.1.18...v0.1.19在 GitHub 查看 ↗