OpenSquirrel - AI Coding Agents Control Plane
Claude Code, Codex, Cursor, OpenCode를 나란히 실행하는 네이티브 컨트롤 플레인. Rust + GPUI. Electron 없음.
핵심 컨셉
“에이전트 때문에 산만해지는 사람들을 위한” 도구.
- Native — Rust + GPUI (Zed 에디터의 UI 프레임워크)
- GPU 렌더링 — Metal (macOS)
- Electron 없음 — 가볍고 빠름
주요 기능
1. Multi-agent Grid
여러 에이전트를 동시에 타일 레이아웃으로 실행:
- 1개 = 전체 화면
- 2개 = 분할
- 4개 = 2×2
- 등등 자동 정렬
2. Coordinator/Worker 위임
주 에이전트 (Opus)가 서브 에이전트를 자동으로 spawn:
- Worker는 압축된 결과만 반환 (전체 transcript 아님)
3. 원격 머신 타겟팅
SSH + tmux로 로컬/원격 머신 지정:
~/.osq/config.toml에서 머신 설정
4. MCP 통합
MCP 서버 (Playwright, browser-use 등)를 에이전트 CLI에 직접 연결:
- 에이전트 설정 시 per-agent 선택
5. Persistent Sessions
앱 재시작해도 유지:
- 에이전트 상태
- transcripts
- 스크롤 위치
- 대기 중인 프롬프트
- 중단된 턴 재개 가능
6. Structured Output Parsing
모든 런타임의 stream-json 출력 파싱:
- 커스텀 마크다운 렌더링 (코드 블록, diff, 헤딩, 불렛)
지원 런타임
| 런타임 | 모드 | Permission Bypass |
|---|---|---|
| Claude Code | Persistent stdin (multi-turn) | --dangerously-skip-permissions |
| Codex | One-shot per prompt | --dangerously-bypass-approvals-and-sandbox |
| Cursor Agent | One-shot per prompt | --yolo |
| OpenCode | One-shot per prompt | Auto-approved in run mode |
설치
# 빌드
cargo build --release
./target/release/opensquirrelmacOS .app 번들로 실행
# 빌드
cargo build --release
# .app 번들 생성
mkdir -p dist/OpenSquirrel.app/Contents/{MacOS,Resources}
cp target/release/opensquirrel dist/OpenSquirrel.app/Contents/MacOS/OpenSquirrel
cp assets/OpenSquirrel.icns dist/OpenSquirrel.app/Contents/Resources/
# 실행
open dist/OpenSquirrel.app참고: macOS .app 번들은 shell PATH를 상속받지 않음.
claude나npx를 못 찾으면 .app 말고 바이너리 직접 실행.
키보드 단축키
| 키 | 동작 |
|---|---|
| Enter | 프롬프트 전송 |
| Escape | 오버레이 닫기 |
| Cmd-N | 새 에이전트 (설정 위자드) |
| Cmd-K | 커맨드 팔레트 |
| Cmd-F | transcript 검색 |
| Cmd-] / Cmd-[ | 그룹 내 다음/이전 페인 |
| Cmd-} / Cmd-{ | 다음/이전 그룹 |
| Cmd-V | 클립보드 붙여넣기 |
| Cmd-= / Cmd— | 줌 인/아웃 |
Setup wizard: 화살표로 이동, Enter로 디렉토리 진입, Backspace로 상위, Tab으로 다음 단계.
설정
| 파일 | 용도 |
|---|---|
~/.osq/config.toml | 런타임, 모델, MCP 서버, 머신, 테마, 설정 |
~/.osq/state.json | 에이전트, transcripts, 스크롤 위치 |
기술 스택
-
~7,200 lines of Rust (3 files)
src/main.rs— UI, 에이전트 라이프사이클, 렌더링, 키바인드, persistencesrc/lib.rs— 라인 분류, 마크다운 파싱, diff 요약, 헬퍼tests/state_tests.rs— 30개 통합 테스트
-
GPUI (Zed의 UI 프레임워크, standalone crate)
-
Metal (macOS GPU 렌더링)
테마
midnight, charcoal, gruvbox, solarized-dark, light, solarized-light, ops, monokai-pro
요구사항
- Rust toolchain
- macOS (Metal GPU) — 현재 macOS만 지원