Blushyes/coro-code
요약
Coro Code는 Rust 언어로 구축된 고성능 AI 코딩 에이전트로, 풍부한 터미널 UI와 뛰어난 속도 및 메모리 안전성을 제공합니다. 다양한 LLM 제공업체를 지원하며, bash 실행 및 파일 작업 등 강력한 도구 시스템을 통해 크로스 플랫폼 환경에서 원활한 코딩 작업을 지원합니다.
핵심 포인트
- Rust 기반의 고성능 및 메모리 안전성 확보
- 실시간 업데이트가 가능한 풍부한 터미널 UI 제공
- OpenAI 지원 및 Anthropic, Google 지원 예정
- 환경 변수 또는 설정 파일을 통한 유연한 구성 가능
- macOS, Linux, Windows를 지원하는 크로스 플랫폼 도구
Coro Code는 풍부한 터미널 UI를 갖춘 Rust 언어 기반의 고성능 AI 코딩 에이전트 (AI coding agent)입니다. 이전에는 Trae Agent Rust로 알려졌으며, 속도, 신뢰성, 그리고 뛰어난 UX에 집중하면서도 기존 도구 사양과의 호환성을 유지합니다.
-
🚀
고성능 (High Performance): 속도와 메모리 안전성 (memory safety)을 위해 Rust로 작성되었습니다 - 🎨
풍부한 터미널 UI (Rich Terminal UI): 실시간 업데이트가 가능한 아름답고 상호작용적인 인터페이스 - 🔧
쉬운 설정 (Easy Configuration): 유연한 설정 옵션과 함께 다양한 LLM 제공업체 지원 - 🛠️
강력한 도구 (Powerful Tools): 내장된 bash 실행, 파일 작업 및 확장 가능한 도구 시스템 - 🔄
환경 변수 (Environment Variables): API 키, 기본 URL (base URLs) 및 모델 설정에 대한 포괄적인 지원 - 📦
크로스 플랫폼 (Cross-Platform): macOS, Linux, Windows에서 원활하게 작동 -
🦀 Rust stable (1.70+)
-
🔑 API 키 (OpenAI 권장; Anthropic/Google 곧 지원 예정)
cargo install --git https://github.com/Blushyes/coro-code --bin coro
# 대화형 모드 (Interactive mode, 권장)
coro
# 단일 작업 (Single task)
...
옵션 A (Option A): 환경 변수 (Environment variables)
# OpenAI
export OPENAI_API_KEY="your_openai_api_key"
export OPENAI_MODEL="gpt-4o"
...
옵션 B (Option B): 설정 파일 (Configuration file)
coro.json 파일을 생성하세요:
{
"protocol": "openai",
"base_url": "https://api.deepseek.com",
...
# 대화형 모드 (Interactive mode)
coro
# 직접 명령 (Direct command)
...
| 제공업체 (Provider) | 모델 (Models) | 상태 (Status) |
|---|---|---|
| 🟢 OpenAI | gpt-4o , gpt-4o-mini | ✅ 준비 완료 (Ready) |
| 🟡 Anthropic | claude-3.5 제품군 (family) | 🚧 예정 (Coming) |
gemini-1.5 제품군 (family) | 🚧 예정 (Coming) |
변수 (Variable) 설정
| Variable | 설명 (Description) | 예시 (Example) |
|---|---|---|
OPENAI_API_KEY | OpenAI API 키 | sk-... |
OPENAI_BASE_URL | OpenAI와 호환되는 API를 위한 사용자 지정 기본 URL | https://api.deepseek.com |
OPENAI_MODEL | OpenAI와 호환되는 API를 위한 사용자 지정 모델 | gpt-4o, deepseek-chat |
ANTHROPIC_API_KEY | Anthropic API 키 | sk-ant-... |
ANTHROPIC_BASE_URL | Anthropic API를 위한 사용자 지정 기본 URL | https://api.anthropic.com |
ANTHROPIC_MODEL | Anthropic API를 위한 사용자 지정 모델 | claude-3-5-sonnet-20241022 |
GOOGLE_API_KEY | Google AI API 키 | AIza... |
GOOGLE_BASE_URL | Google AI API를 위한 사용자 지정 기본 URL | https://generativelanguage.googleapis.com |
GOOGLE_MODEL | Google AI API를 위한 사용자 지정 모델 | gemini-pro, gemini-1.5-pro |
AZURE_OPENAI_API_KEY | Azure OpenAI API 키 | ... |
AZURE_OPENAI_BASE_URL | Azure OpenAI 엔드포인트 | https://your-resource.openai.azure.com |
AZURE_OPENAI_MODEL | Azure OpenAI를 위한 사용자 지정 모델 | gpt-4, gpt-35-turbo |
CORO_BASE_URL | 범용 기본 URL 오버라이드 (모든 프로토콜) | https://api.custom.com |
CORO_PROTOCOL | 특정 프로토콜 강제 지정 | openai, anthropic |
CORO_MODEL | 범용 모델 오버라이드 (모든 프로토콜) | gpt-4o, claude-3-5-sonnet |
상태 범례: ✅ 완료 (Completed) | 🚧 진행 중 (In Progress) | 📋 계획됨 (Planned)
🚀 Phase 1: 핵심 경험 (Core Experience)
| 우선순위 (Priority) | 상태 (Status) | 기능 (Feature) | 설명 (Description) |
|---|---|---|---|
| 🔥 높음 (High) | 🚧 | 첫 사용 설정 관리 (First-time Setup Management) | 안내 위자드 (openai.json 또는 환경 변수 감지/생성), API 키 유효성 검사, 기본 모델 및 예시 제공 |
| 🔥 높음 (High) | ✅ | 구성 로딩 로직 리팩토링 (Refactor Config Loading Logic) | 통합 우선순위 (CLI 인자 > 환경 변수 > JSON 파일), 친화적인 오류 메시지 및 진단 기능, 선택적 핫 리로드 지원 |
| 🔥 높음 (High) | 📋 | 도구 호출 권한 시스템 (Tool Call Permission System) | 도구/명령어/디렉토리 화이트리스트, 대화형 확인 절차, 특권 상승 및 민감 작업 경고 제공 |
🎨 Phase 2: 사용자 경험 개선 (User Experience Enhancement)
| 우선순위 | 상태 | 기능 | 설명 |
|---|---|---|---|
| 🟡 Medium | 📋 | CORO.md 커스텀 프롬프트 (Custom Prompts) 지원 | |
| 프로젝트/하위 디렉터리 수준의 오버라이드 (Overrides), 시나리오 템플릿 (bugfix/refactor/docs/test) | |||
| 🟡 Medium | 🚧 | UI 레이아웃 최적화 및 통일 (UI Layout Optimization & Unification) | |
| 헤더/상태/입력 스타일 일관성, 키보드 단축키 및 상호작용 (Interaction) 일관성 최적화 | |||
| 🟡 Medium | 📋 | 궤적 재생 및 내보내기 (Trajectory Replay & Export) | |
| 궤적 시각화 (Trajectory visualization), 원클릭 재생, JSON/Markdown으로 내보내기 | |||
| 🎨 Low | 📋 | 로고 디자인 (gemini-cli 스타일) | |
| 시각적 정체성 (Visual identity) 디자인 |
🤖 Phase 3: 지능 및 성능 (Intelligence & Performance)
| 우선순위 | 상태 | 기능 | 설명 |
|---|---|---|---|
| 🟡 Medium | 📋 | 멀티 모델 및 자동 라우팅 (Multi-model & Auto Routing) | |
| 작업 유형별 자동 모델 선택, 실패 시 자동 다운그레이드 및 재시도 (Retry) 전략 | |||
| 🟡 Medium | 📋 | 컨텍스트 최적화 및 캐싱 (Context Optimization & Caching) | |
| 파일 요약 캐싱, 중복 참조 제거 (Deduplication), 토큰 예산 (Token budget) 제어 | |||
| 🟡 Medium | ✅ | 토큰 압축 (Token Compression) | |
| 지능형 컨텍스트 압축, 선택적 토큰 감소, 적응형 컨텍스트 창 (Adaptive context windows) | |||
| 🔵 Low | 📋 | MCP 확장 생태계 (MCP Extension Ecosystem) | |
| 공통 제공자 프리셋 및 템플릿, 외부 도구 원클릭 시작/중지 |
🌐 Phase 4: 플랫폼 및 생태계 (Platform & Ecosystem)
| 우선순위 | 상태 | 기능 | 설명 |
|---|---|---|---|
| 🔵 Low | 📋 | 핵심 WASM 지원 (Core WASM Support) | |
| 브라우저/플러그인 환경 준비, 동형 (Isomorphic) 도구 인터페이스 및 최소 런타임 (Minimal runtime) | |||
| 🔵 Low | 📋 | 크로스 플랫폼 강화 (Cross-platform Enhancement) | |
| macOS/Linux/Windows/WSL 세부 적응 및 안정성 개선 | |||
| 🔵 Low | 📋 | 플러그인 도구 시스템 (Plugin Tool System) | |
| 제3자 도구 등록 사양, 버전 및 의존성 (Dependency) 선언 |
🛡️ Phase 5: 보안 및 품질 (Security & Quality)
| 우선순위 | 상태 | 기능 | 설명 |
|---|---|---|---|
| 🟡 Medium | 📋 | 보안 및 속도 제한 (Security & Rate Limiting) | |
| 샌드박스 모드 (제한된 bash/네트워크 스위치), 동시성 (Concurrency) 및 속도 제한 | |||
| 🔵 Low | 📋 | 테스트 및 벤치마크 (Testing & Benchmarks) | |
| 엔드 투 엔드 (End-to-end) 테스트 케이스, 성능 벤치마크 및 비교 보고서 |
코어(Core)는 대화 및 실행 컨텍스트 (execution context)를 JSON으로 내보내고 나중에 이를 복구하는 기능을 지원합니다:
use coro_core::agent::{AgentBuilder, PersistedAgentContext};
// 내보내기 (Export)
let json = agent.export_context_json()?; // JSON 문자열로
...
참고 사항:
- 스냅샷 (Snapshot)에는
conversation_history,AgentExecutionContext, 그리고 선택 사항인AgentConfig가 포함됩니다. - 복구 시, 저장된 설정 (존재하는 경우)이 적용되며, 누락된 도구 결과 (tool-result) 쌍은 다음 실행 시 자동으로 처리됩니다. - 시스템 프롬프트 (system prompt)를 수동으로 다시 주입할 필요가 없습니다. 에이전트 (agent)가 필요에 따라 이를 처리합니다.
코드 품질을 유지하기 위해 프리커밋 훅 (pre-commit hooks)을 설정하는 것을 강력히 권장합니다. 저장소에는 각 커밋 전에 포매팅 (formatting), 린팅 (linting) 및 테스트를 실행하는 훅을 자동으로 설치하는 스크립트가 포함되어 있습니다.
사용 중인 플랫폼에 맞는 적절한 스크립트를 선택하세요:
# Linux/macOS
./scripts/setup-pre-commit-hooks.sh
# Windows PowerShell
...
프리커밋 훅 (pre-commit hook)은 다음을 자동으로 실행합니다:
코드 포매팅 (Code formatting) (cargo fmt --check)
린팅 (Linting) (cargo clippy)
테스트 (Tests) (cargo test)
자세한 내용은 scripts/README.md를 참조하세요.
- 저장소 포크 (Fork)
- 기능 브랜치 (feature branch) 생성
- 프리커밋 훅 (pre-commit hooks) 설정 (권장)
- 변경 사항 적용
- 모든 테스트 통과 확인
- 풀 리퀘스트 (pull request) 제출
다음 중 선택하여 이중 라이선스 (Dual licensed)를 적용받습니다:
Apache-2.0 (LICENSE-APACHE)
MIT (LICENSE-MIT)
Trae Agent: 원본 Python 구현 및 사양 (spec) 제공
iocraft: 아름다운 터미널 UI 프레임워크 제공
OpenAI, Anthropic, Google: 모델 API 제공
Rust 커뮤니티: 놀라운 생태계 제공
Made with ❤️ in Rust
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub AI Coding Assistants의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기