🚀 Coro Code

September 18, 2025 · View on GitHub

语言: English | 中文

用 Rust 编写的高性能 AI 编码代理,带有丰富的终端界面

demo

Rust License


Coro Code 是一个用 Rust 编写的高性能 AI 编码代理,带有丰富的终端界面。此前名为 Trae Agent Rust,现已更名并聚焦于速度、稳定性与优秀的使用体验,同时保持与原始工具规范的兼容性。

✨ 亮点

  • 🦀 纯 Rust 内核与简洁清晰的架构,输出层抽象良好
  • 🎨 基于 iocraft 的交互式终端 UI,实时状态与动画
  • 🛠️ 强大的工具系统:bash、edit、json_edit、thinking、task_done、ckg、mcp
  • 🤖 模型提供商:已支持 OpenAI;Anthropic 与 Google 即将到来
  • 🔍 智能文件搜索:@path 语法、感知 Git、极速匹配

🚀 快速开始

📋 前置条件

  • 🦀 Rust 稳定版(1.70+)
  • 🔑 模型 API Key(推荐 OpenAI;Anthropic/Google 即将支持)

📦 安装

cargo install --git https://github.com/Blushyes/coro-code --bin coro

▶️ 运行

# 交互模式(推荐)
coro

# 单次任务
coro "Fix the bug in main.rs"

⚙️ 最简配置

可用环境变量或 JSON 文件进行配置。

方案 A: 环境变量

# OpenAI
export OPENAI_API_KEY="your_openai_api_key"
export OPENAI_MODEL="gpt-4o"

# 可选:为 OpenAI 兼容 API 设置自定义 base URL 和模型
export OPENAI_BASE_URL="https://api.deepseek.com"
export OPENAI_MODEL="deepseek-chat"

# 或使用通用覆盖(适用于任何协议)
export CORO_BASE_URL="https://api.custom.com"
export CORO_MODEL="custom-model"

方案 B: 工作目录中的 JSON 文件(coro.json

{
  "protocol": "openai",
  "base_url": "https://api.deepseek.com",
  "api_key": "your-api-key",
  "model": "deepseek-chat",
  "params": {
    "max_tokens": 131072,
    "temperature": 0.7,
    "top_p": 0.9
  }
}

🤖 支持的模型

提供商模型状态
🟢 OpenAIgpt-4o, gpt-4o-mini✅ 已支持
🟡 Anthropicclaude-3.5 系列🚧 计划中
🔵 Googlegemini-1.5 系列🚧 计划中

🔧 环境变量参考

变量名描述示例
OPENAI_API_KEYOpenAI API 密钥sk-...
OPENAI_BASE_URLOpenAI 兼容 API 的自定义 base URLhttps://api.deepseek.com
OPENAI_MODELOpenAI 兼容 API 的自定义模型gpt-4o, deepseek-chat
ANTHROPIC_API_KEYAnthropic API 密钥sk-ant-...
ANTHROPIC_BASE_URLAnthropic API 的自定义 base URLhttps://api.anthropic.com
ANTHROPIC_MODELAnthropic API 的自定义模型claude-3-5-sonnet-20241022
GOOGLE_API_KEYGoogle AI API 密钥AIza...
GOOGLE_BASE_URLGoogle AI API 的自定义 base URLhttps://generativelanguage.googleapis.com
GOOGLE_MODELGoogle AI API 的自定义模型gemini-pro, gemini-1.5-pro
AZURE_OPENAI_API_KEYAzure OpenAI API 密钥...
AZURE_OPENAI_BASE_URLAzure OpenAI 端点https://your-resource.openai.azure.com
AZURE_OPENAI_MODELAzure OpenAI 的自定义模型gpt-4, gpt-35-turbo
CORO_BASE_URL通用 base URL 覆盖(适用于任何协议)https://api.custom.com
CORO_PROTOCOL强制指定协议openai, anthropic
CORO_MODEL通用模型覆盖(适用于任何协议)gpt-4o, claude-3-5-sonnet

🗺️ 开发路线图

状态说明: ✅ 已完成 | 🚧 进行中 | 📋 计划中

🚀 第一阶段:核心体验
优先级状态功能特性描述
🔥 高🚧首次进入配置管理引导式向导(检测/创建 openai.json 或环境变量),校验 API Key,提供默认模型与示例
🔥 高重构、优化配置加载逻辑统一优先级(CLI 参数 > 环境变量 > JSON 文件)、更友好的错误提示与诊断、可选热加载
🔥 高📋Tool Call 权限系统按工具/命令/目录白名单、交互确认、防越权与敏感操作提示
🎨 第二阶段:用户体验增强
优先级状态功能特性描述
🟡 中📋支持 CORO.md 自定义提示词项目/子目录级覆盖、场景化模板(bugfix/重构/文档/测试)
🟡 中🚧UI 布局优化与统一化Header/Status/Input 风格统一、键位与交互一致性优化
🟡 中📋轨迹回放与导出Trajectory 可视化、一键回放、导出为 JSON/Markdown
🎨 低📋需要一个和 gemini-cli 风格类似的 logo视觉标识设计
🤖 第三阶段:智能化与性能
优先级状态功能特性描述
🟡 中📋多模型与自动路由按任务类型自动选择模型,失败自动降级与重试策略
🟡 中📋上下文优化与缓存文件摘要缓存、重复引用去重、Token 预算控制
🟡 中Token 压缩智能上下文压缩、选择性 Token 减少、自适应上下文窗口
🔵 低📋MCP 扩展生态常用 Provider 预设与模板,一键启停外部工具
🌐 第四阶段:平台与生态
优先级状态功能特性描述
🔵 低📋core 支持打包为 WASM浏览器/插件环境可用,同构工具接口与最小运行时
🔵 低📋跨平台增强macOS/Linux/Windows/WSL 细节适配与稳定性提升
🔵 低📋插件化工具系统第三方工具注册规范、版本与依赖声明
🛡️ 第五阶段:安全与质量
优先级状态功能特性描述
🟡 中📋安全与速率限制沙箱模式(受限 bash/网络开关)、并发与速率限制
🔵 低📋测试与基准端到端测试样例、性能基准与对比报告

🛠️ 开发

📦 上下文导出/恢复(持久化)

核心库已提供上下文持久化能力,可将会话与执行上下文导出为 JSON,并在稍后恢复继续对话:

use coro_core::agent::{AgentBuilder, PersistedAgentContext};

// 导出
let json = agent.export_context_json()?;                   // 导出为 JSON 字符串
agent.export_context_to_file(".coro/context.json")?;     // 或写入文件

// 恢复
agent.restore_context_from_json(&json)?;                  // 从 JSON 恢复
agent.restore_context_from_file(".coro/context.json")?;  // 或从文件恢复

// 如果需要自行读写:
let snap = agent.export_context_snapshot()?;              // 获取结构化快照
let json2 = snap.to_json()?;                              // 自行序列化
let snap2 = PersistedAgentContext::from_json(&json2)?;    // 自行反序列化
agent.restore_context_from_snapshot(snap2)?;              // 应用到 Agent

说明:

  • 快照包含 conversation_historyAgentExecutionContext,以及可选的 AgentConfig
  • 恢复后会沿用保存时的配置(若快照内存在),并在后续执行时自动处理未配对的工具调用结果。
  • 导入后无需手动插入系统提示;代理在需要时会自动注入或压缩上下文。

Pre-commit Hooks

我们强烈建议设置 pre-commit hooks 来维护代码质量。仓库包含了自动安装 hooks 的脚本,这些 hooks 会在每次提交前运行格式化、代码检查和测试。

根据你的平台选择合适的脚本:

# Linux/macOS
./scripts/setup-pre-commit-hooks.sh

# Windows PowerShell
.\scripts\setup-pre-commit-hooks.ps1

# Windows 命令提示符
scripts\setup-pre-commit-hooks.bat

Pre-commit hook 会自动运行:

  • 代码格式化 (cargo fmt --check)
  • 代码检查 (cargo clippy)
  • 测试 (cargo test)

更多详情请参见 scripts/README.md

贡献代码

  1. Fork 仓库
  2. 创建功能分支
  3. 设置 pre-commit hooks(推荐)
  4. 进行修改
  5. 确保所有测试通过
  6. 提交 Pull Request

📄 许可证

双许可证,任选其一:

🙏 致谢

  • Trae Agent 原始 Python 实现与规范
  • iocraft 优秀的终端 UI 框架
  • OpenAI、Anthropic、Google 模型与 API
  • Rust 社区 出色的生态与工具

用 ❤️ 和 Rust 制作