bbarit-agent-oss: 터미널용 오픈소스 AI 코딩 에이전트
요약
bbarit-oss는 Rust로 작성된 오픈소스 AI 코딩 에이전트로, 터미널 환경에 최적화되었습니다. Pi의 단순성과 qwen-code의 메모리 설계를 결합하여, 단일 바이너리로 빠르고 안정적인 개발 경험을 제공합니다. 특히 프로젝트 위키와 기존 LLM 서비스(Claude Code, Codex)와의 스킬 재사용 기능을 강화했습니다.
핵심 포인트
- Rust 기반의 단일 바이너리로 모든 플랫폼에서 즉시 사용 가능
- Pi의 단순한 에이전트 루프에 qwen-code의 자동 메모리 시스템 결합
- 프로젝트 위키를 통해 코드 아키텍처 지식을 지속적으로 유지
- Claude Code 및 Codex 스킬을 별도 설정 없이 재사용하여 호환성 확보
터미널을 위한 오픈소스 AI 코딩 에이전트 — Rust로 작성, 단일 바이너리, 15개 이상의 LLM 제공업체, 1,000개 이상의 모델.
bbarit-oss가 무엇인지 한 줄로 요약하자면. Pi의 단순성 + qwen-code의 메모리 + 프로젝트 위키 + Rust + Pi의 단점 보완(Claude 및 Codex의 MCP 서버와 스킬 자동 로드) + 에이전트 페르소나.
기원. bbarit-oss는 우리의 데스크톱 AI 코딩 IDE인 BBARIT Terminal에 내장되었던 에이전트에서 시작되었으며, 현재 독립적인 오픈소스 CLI로 추출되어 출시되었습니다.
Pi(MIT)를 기반으로 구축한 이유. 우리는 루프나 무거운 프레임워크를 재창조하기보다는, Pi의 핵심 철학—작고 읽기 쉬운 에이전트 루프와 잘 정의된 일급 도구 세트—을 의도적으로 계승했습니다. 코딩 에이전트는 예측 가능하고 디버깅할 수 있어야 하며, Pi는 최소한의 핵심만으로도 충분히 능력이 있음을 입증했습니다. 우리는 그 단순성과 제공업체에 구애받지 않는 모델 레지스트리(model registry)를 유지했으며, 이를 훨씬 뛰어넘어 다음과 같은 기능을 구축했습니다: 병렬 서브 에이전트를 위한 다중 프로세스 오케스트레이터(multi-process orchestrator), 프로젝트 위키(project wiki), 295개 페르소나, 그리고 통합된 시맨틱 코드 검색(semantic code search). 이는 처음부터 다시 작성한 Rust 리라이트이며, Pi의 소스 코드는 포함되어 있지 않습니다 (주석 중복률 0.1%, 본문 0%); 오직 저작권이 없는 디자인과 데이터(모델 ID, 엔드포인트)만 공유됩니다.
메모리 설계가 qwen-code에서 온 이유(Apache-2.0). Pi는 세션 간 메모리가 없습니다. 우리는 더 약한 온톨로지(ontology)를 발명하는 대신, qwen-code의 검증된 자동 메모리 설계를 채택했습니다—그것의 영속적 사실 분류 체계(user/feedback/project/reference)와 사람이 읽기 쉬운 MEMORY.md 인덱스—그리고 직접 Rust 구현과 프롬프트를 작성했습니다.
Rust를 사용한 이유. 설치해야 할 Node, Python, 런타임이 없는 단일 독립형 정적 바이너리입니다. 시작은 즉각적이며, 메모리는 낮게 유지되고, 병렬 서브 에이전트와 실시간 스트리밍은 빠르고 메모리 안전합니다. macOS, Linux, Windows용으로 단일 파일로 교차 컴파일되며 모든 플랫폼에서 한 줄 설치 프로그램(curl … | sh는 macOS/Linux용, irm … | iex는 Windows용)을 제공하고 --upgrade 기능을 지원합니다.
어디에서든 자체 업데이트가 가능합니다.
왜 내장 위키(wiki)가 필요한가? 에이전트는 방치되면 세션 간 코드를 잊고 작동 방식 재파악에 시간과 토큰을 소모합니다. 프로젝트 위키는 코드에 대한 지속적이고 사람이 읽기 쉬운 마크다운 지식 기반 — 아키텍처, 서브시스템, 주의할 점(gotchas) — 을 제공하여, 에이전트가 처음부터 다시 탐색하는 것을 막고 매 턴 일관성을 유지하게 합니다. (자동 메모리와는 다릅니다: 위키는 코드에 대한 지식이며, 메모리는 당신과 프로젝트에 대한 사실입니다.)
Claude Code 및 Codex MCP 서버와 스킬을 재사용할 수 있는 이유 (Pi의 격차를 메우다). 매번 새로운 에이전트를 위해 MCP 서버와 스킬을 다시 등록하는 것은 Pi가 제거하지 못한 마찰 요소였습니다. /interop 을 켜면 bbarit-oss는 기존에 존재하는 ~/.claude.json, /~/.claude/skills, 그리고 ~/.codex/config.toml, /~/.codex/skills 를 읽어와 그대로 재사용합니다 — 아무런 재설정 없이요. 기본적으로 비활성화되어 있어, 새로 설치해도 가볍게 유지됩니다: 외부 서버가 생성되지 않고 다른 도구의 스킬 라이브러리에 프롬프트 토큰이 소모되지 않습니다.
에이전트 페르소나가 필요한 이유. 일반적인 어시스턴트는 모든 면에서 평범합니다. 295개의 엄선된 페르소나는 에이전트를 특정 도메인 전문가 — 백엔드 아키텍트, 보안 감사자, 데이터 시각화 디자이너 — 로 변신시킵니다. 각 페르소나는 단순한
한국어 — 왜 Rust로 개발했나. 런타임 없이 돌아가는 단일 정적 바이너리라서 Node·Python·node_modules가 불필요합니다. 시작이 즉각적이고 메모리가 낮으며, 병렬 서브에이전트와 실시간 스트리밍이 빠르고 메모리 안전합니다. macOS·Linux·Windows로 크로스컴파일되는 단일 파일이라 모든 플랫폼에서 원라인 설치(macOS·Linux는 curl … | sh, Windows는 irm … | iex)가 가능하며, --upgrade는 모든 플랫폼에서 제자리 자기업데이트됩니다.
한국어 — 왜 위키를 쓰나. 그냥 두면 에이전트는 세션이 바뀔 때마다 코드베이스를 잊고 구조를 다시 파악하느라 시간과 토큰을 낭비합니다. 프로젝트 위키는 코드에 대한 지속적이고 사람이 읽는 마크다운 지식베이스(아키텍처·서브시스템·함정)를 에이전트에 제공하여, 매번 처음부터 재탐색하는 것을 멈추고 턴을 넘어 일관성을 유지하게 합니다. (자동 메모리와 구분: 위키는 코드에 대한 지식이고, 메모리는 당신과 프로젝트에 대한 사실입니다.)
한국어 — 왜 Claude·Codex의 MCP 서버·스킬을 자동 로드하나 (Pi 단점 보완). 새 에이전트마다 MCP 서버와 스킬을 다시 등록하는 것은 Pi가 해결하지 못한 마찰입니다. bbarit-oss는 기존 ~/.claude.json / ~/.claude/skills, ~/.codex/config.toml / ~/.codex/skills를 그대로 읽어 재사용합니다 — 기본적으로 ON(/interop)이라 재설정 없이 첫날부터 도구가 작동합니다.
한국어 — 왜 에이전트 페르소나인가. 범용 비서는 모든 것을 어중간하게 합니다. 295개의 큐레이션된 페르소나가 에이전트를 도메인 전문가(백엔드 아키텍트·보안 감사자·데이터 시각화 디자이너)로 변신시킵니다 — 단순히
합니다. 295개의 큐레이션된 페르소나가 에이전트를 도메인 전문가(백엔드 아키텍트, 보안 감사자, 데이터 시각화 디자이너)로 변신시킵니다 — 단순히
. 다운로드하여 실행하세요 — 시작은 즉각적입니다. - 🔌
사용자 모델을 가져오세요 (Bring your own model). Anthropic, OpenAI (+ Codex), Google (Gemini / Vertex), OpenRouter, Groq, Mistral, Together, Fireworks, DeepSeek, Cerebras, Amazon Bedrock, GitHub Copilot 및 Ollama를 통한 로컬 모델 — 하나의 레지스트리에서 1,000개 이상의 모델을 사용하며 세션 중간에 전환할 수 있습니다. - 🔒
기본적으로 비공개(Private by default). 사용자 키와 코드는 기기에 남아 있습니다. 하드코딩된 것은 없으며, 비밀 정보가 바이너리에 포함되지 않고, 절대 외부로 전송하지 않습니다. 로컬 모델을 지정하여 완전히 오프라인 상태를 유지할 수 있습니다. - 🧠
실제 에이전트, 실제 도구와 함께. 파일을 읽고 편집하고, 셸(shell)을 실행하며, grep 및 검색 기능을 수행하고, 저장소 전체에 걸쳐 의미론적 **코드 검색 (code search)**을 수행하며, 웹에서 정보를 가져오고, 자율적인 도구 사용 루프 내에서 병렬 하위 에이전트를 생성합니다. - 🎭
30개 영역에 걸친 295개의 내장 페르소나 — 하나의 플래그로 에이전트를 전문가(백엔드, SRE, 보안, 데이터, 디자인 등)로 변신시킬 수 있습니다. - 🧩
확장 가능하고 표준적 (Extensible & standard). 로컬 스킬, 확장 기능, LSP 서버 및 MCP 서버를 바로 플러그인할 수 있습니다. - 🖥️
진정으로 좋은 TUI. 줄 바꿈 처리된 기록(transcript), 실시간 토큰 스트리밍, 구문 강조 표시(syntax highlighting), 모델/로그인 선택기, 테마, 그리고 셸 스타일의 기록 기능이 제공됩니다.
`curl -fsSL https://bbarit.com/agent/install.sh | sh``
플랫폼에 맞는 사전 구축된 bbarit-oss 바이너리를 다운로드하여 ~/.local/bin에 설치합니다 (환경 변수 BBARIT_INSTALL_DIR로 덮어쓸 수 있음).
`irm https://bbarit.com/agent/install.ps1 | iex``
사용자 PATH에 추가하고 %LOCALAPPDATA%inbarit-oss에 설치합니다 (환경 변수 BBARIT_INSTALL_DIR로 덮어쓸 수 있음). 바이너리는 릴리스 페이지에서도 게시됩니다.
Rust 툴체인(stable)이 필요합니다.
git clone https://github.com/bbarit/bbarit-agent-oss
cd bbarit-agent-oss
cargo build --release
...
| OS | 아키텍처 |
|---|---|
| macOS | Apple Silicon (arm64), Intel (x64) |
| ... |
# 1. 프로젝트 디렉토리에서 대화형 TUI를 시작합니다
cd my-project && bbarit-oss
# 2. 자격 증명 없이 처음 실행하면 로그인 선택기가 자동으로 열립니다 —
...
에이전트는 계획을 세우고, 파일을 편집하며, 명령어를 실행하고, 모든 도구 호출 과정을 보여줍니다. `Esc` 키를 누르면 중단할 수 있고, `Up`/`Down` 화살표 키로 이전 입력을 불러올 수 있으며, `Tab` 키는 메뉴를 엽니다.
인수 없이 `bbarit-oss`를 실행하면 현재 디렉터리에서 전체 화면 에이전트가 열립니다. 자연어로 지침을 입력하고, 제어에는 `/` 명령어를 사용하세요.
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`는 다른 도구에 파이프하기 안전합니다).
프로그래밍 방식으로 사용하려면 줄 바꿈된 JSON(session / agent_start / message_update / turn_end / agent_end)을 스트리밍 받으세요. **CLI.md**를 참조하세요.
`bbarit-oss --orchestrate "audit auth.rs for bugs" "write tests for parser.rs" "update the README"`
각 작업을 독립적인 서브 에이전트 프로세스로 병렬 실행하고 결과를 수집합니다.
| 플래그 | 효과 |
|---|---|
`--provider <id>` · `--model <id>` | 제공자/모델 선택 |
`--thinking low|medium|high` | 추론 노력 정도 |
`--persona <id>` | 특정 전문가 페르소나로 시작 |
`-t, --tools bash,read,edit` | 허용된 도구 목록 · `--no-tools`는 모든 도구를 비활성화함 |
`--no-session` | 세션 파일을 작성하지 않음 |
`--append-system-prompt "..."` | 추가 시스템 지침 |
`--print` / `--mode json` | 비대화형 출력 모드 |
`--upgrade` | bbarit-oss 자체를 업데이트한 후 종료
전체 목록: `bbarit-oss --help`
.
하나의 레지스트리, 많은 제공자. **자격 증명 없이 새로 설치하여 실행할 경우, bbarit-oss는 첫 실행 시 자동으로 로그인 선택기를 엽니다** — 사인인까지 한 키 입력 거리입니다. 그 후에는 언제든지 `/login <provider>` (지원되는 경우 OAuth, 그렇지 않으면 API 키)를 사용하거나 제공자의 환경 변수를 설정하여 로그인할 수 있습니다.
| Provider | 인증 방식 |
|---|---|
| Anthropic (Claude) | API 키 — `/login anthropic sk-ant-…` 또는 `ANTHROPIC_API_KEY` (브라우저 OAuth는 비활성화됨) |
| ... |
Switch models any time with `/model`
; browse with `/models`
.
The agent calls these autonomously inside its loop:
| Tool | 용도 |
|---|---|
| `read` · `write` · `edit` | 파일을 읽고 수정합니다 (타겟팅된, 해시 검사 편집) |
| `bash` | 프로젝트 디렉토리에서 셸 명령을 실행합니다 |
| `grep` · `find` · `ls` · `tree` | 트리 구조를 탐색하고 검색합니다 (gitignore 인식) |
| `code_search` | 리포지토리 전체에 걸친 하이브리드 BM25 + 의미론적 검색 (내장된 `semble`) |
| `web_search` · `web_fetch` | 정보를 찾아 페이지를 가져옵니다 |
| `task` | 집중적인 하위 작업을 위해 서브 에이전트를 생성합니다 |
| `computer` | 스크린샷 및 마우스/키보드 제어 ( `/computer on` ) |
Restrict what the agent may do with `--tools`
/ `--exclude-tools`
/
`--no-tools`
, and gate mutations behind project trust (`--approve`
).
A selection (run `/help` for the full list):
| Command | 설명 |
|---|---|
| `/login` , `/logout` , `/accounts` | 제공자 자격 증명을 관리합니다 |
| `/model` , `/models` , `/providers` | 모델/제공자를 선택합니다 |
| `/thinking` | 추론 노력을 설정합니다 |
| `/persona` | 전문적인 페르소나를 채택합니다 |
| `/session` , `/sessions` , `/new` , `/resume` , `/fork` , `/clone` | 세션 제어 |
| `/export` , `/import` , `/share` | HTML로 저장/불러오기/공유합니다 |
| `/skills` , `/prompts` , `/themes` , `/extensions` | 리소스를 로드합니다 |
| `/memory` , `/wiki` | 세션 간 메모리 및 프로젝트 위키 |
| `/lens` | 커밋되지 않은 변경 사항을 검토합니다 |
| `/computer on|off` | 데스크톱 제어를 토글합니다 |
| `/reload` , `/help` , `/quit` | 시스템 관리 명령어입니다 |
bbarit-oss는 **30개 도메인**에 걸쳐 **295개의 큐레이션된 페르소나**를 제공합니다. 엔지니어링, 데이터/AI, 보안, SRE, 디자인, 제품, 성장, 금융, 법률, 게임 개발 등입니다. 페르소나는 단순히
**한눈에 보는 라이브러리.** 30개 도메인에 걸친 295개의 페르소나를 제공합니다. `/persona <id|name|search>`로 하나를 선택하거나, TUI 피커에서 전체를 탐색할 수 있습니다 (id, name, description 전반에 걸쳐 퍼지 검색).**| 도메인 | 개수 | 예시 |---|---|---| | Specialized | 54 | `accounts-payable-agent` , `agentic-identity-trust` | ... | **출처 및 라이선스.** 페르소나 브리프는 AgentLand (MIT, © 2025 AgentLand Contributors)에서 각색되었으며; 그 주변의 페르소나 *시스템*(주입(injection), 읽기 전용 모드(read-only mode), 피커(picker), 오버라이드(overrides))은 자체 개발한 것입니다.**페르소나가 정의되는 방식.** 각 페르소나는 `personas/<division>/<id>.md`에 있는 마크다운 파일입니다. 파일 이름이 안정적인 id이며, 상위 디렉토리가 그 분기(division)이고, 프런트매터(frontmatter)에는 `name`, `description`, `emoji`, `color`, 그리고 한 줄의 `vibe`가 포함되어 있습니다; 프런트매터 아래 본문이 브리프 자체입니다. 자신만의 `.md` 파일을 추가하세요.
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub Claude Ecosystem의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기