从需求理解、代码检索、计划审批,到修改、测试、审查与交付;支持持久化会话和可复现的 Agent Eval。
简体中文 · English · 快速开始 · 系统架构 · Agent Eval
▶ 89 秒 1080p 自动播放预览 · 打开带播放控件的高清完整视频
CODING 是一个面向真实 Git 仓库的 AI 编码工作台。它把用户需求变成一条可追踪的研发流程:理解任务、检索代码、提出计划、按需等待审批、在仓库工作区修改和测试,最后展示补丁与交付状态。
| 能力 | 说明 |
|---|---|
| 多 Agent 协作 | 主 Agent 负责任务编排和结果汇总,可按需委派分析或只读代码审查 SubAgent。编码、审查和修复职责分开,支持形成可检查的研发闭环。 |
| 多层意图路由 | 使用结构化 LLM 分类并以关键词规则兜底,识别 planning、coding、review、QA 等入口任务;执行中再委派 SubAgent、拆分任务并决定下一步工具动作。 |
| 仓库级理解 | CodeGraph 与文本混合检索、GitHub/Gitee 上下文工具及仓库长期记忆,帮助 Agent 复用项目结构和历史决策。 |
| 受控执行 | 受控文件后端、路径校验、工具参数检查、可理解的工具错误和运行上限约束 Agent 操作。OpenSandbox 可用于隔离的 Eval 执行。 |
| 流式与恢复 | FastAPI 通过稳定事件协议向 Vue 工作台流式推送过程;LangGraph checkpoint 与持久化任务状态支持会话恢复。 |
| SQLite 与 PostgreSQL | SQLite 是本地默认选项;PostgreSQL 可用于共享部署中的业务状态和 checkpoint 持久化。 |
| Agent Eval | 固定 Agent 和目标版本,在隔离副本中执行真实编码题、目标/回归/隐藏验收,记录检索、工具轨迹、Token、耗时、补丁并生成 HTML 报告。 |
工作台首页:最近聊天、项目分组和当前会话。
新建项目:指定项目名称、GitHub/Gitee 平台和仓库地址。
高清矢量架构图 · 打开原尺寸 SVG
部署设计描述了 3 个 Agent Worker 和 2 个 ASGI 节点,并给出约 170 峰值并发请求、20–30 个 coding/review 并发任务的容量估算。仓库目前没有包含验证这些数字的压测报告,因此应视为设计容量估算。图中的 Redis 队列、仓库锁和事件流是目标组件,不是当前应用服务。
最近一次固定题库评测使用独立的 test-coding-eval 仓库。各案例记录了对应的 Agent 版本;本次使用 DeepSeek deepseek-flash 和 runner v4。
| 固定题库指标 | 结果 |
|---|---|
| 编码题 | 10 / 10 通过 |
| 目标、回归、隐藏验收 | 各 10 / 10 通过 |
| 补丁应用 / 检索 hit@k / 工具恢复 | 100% / 1.0 / 100% |
| Provider Token / Agent 累计耗时 | 6,963,895 / 10.2 分钟 |
| 应用与沙箱端到端门禁 | 2 / 2 通过 |
查看完整编码题报告、逐题 Agent/目标仓库 SHA、真实 Agent + OpenSandbox 报告,或 PostgreSQL 应用端到端报告。该成绩只代表这组固定案例、记录的 Agent 版本、模型和运行配置,不代表 Agent 在任意项目上的通用成功率。
- Python 3.14+
- Node.js 与 Corepack(Yarn Classic 1.22)
- DeepSeek API Key
git clone https://github.com/Guo-Yixin/coding-agent.git
cd coding-agent
py -3.14 -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install --upgrade pip
python -m pip install -e . "deepagents==0.6.11"
corepack prepare yarn@1.22.22 --activate
Set-Location ui
yarn install --frozen-lockfile
Set-Location ..
Copy-Item .env.example .env编辑 .env,至少填写:
DEEPSEEK_API_KEY=your-deepseek-api-key
MAIN_MODEL=deepseek-flash
AI_WORKSPACE_ROOT=C:\coding-agent-workspace
DASHBOARD_JWT_SECRET=替换为足够长的随机密钥.env 只保存在本机。只有需要访问私有仓库或执行平台写操作时,才配置 GITHUB_TOKEN 或 GITEE_TOKEN;不要把真实密钥提交到 Git。
在仓库根目录运行:
python scripts/start_all.py打开 http://127.0.0.1:3000;后端 API 文档位于 http://127.0.0.1:2024/docs。按 Ctrl+C 同时停止前后端。
-
SQLite(默认): 本地开发无需单独启动数据库服务,项目数据保存在
data/。 -
PostgreSQL(可选): 准备独立数据库,并在
.env中配置:PERSISTENCE_BACKEND=postgres POSTGRES_DSN=postgresql://user:password@127.0.0.1:5432/coding_agent_db
共享部署请参考部署设计。
-
OpenSandbox(可选): 安装
python -m pip install -e ".[sandbox]",启动 OpenSandbox 服务后配置:OPEN_SANDBOX_DOMAIN=https://your-opensandbox-service OPEN_SANDBOX_API_KEY=your-opensandbox-key
当前 OpenSandbox 适配器用于隔离的 Eval 执行;常规本地应用使用受控本地工作区后端。
完整变量见 .env.example;更多内容见 Linux 部署手册、云端部署设计和 Agent Eval 指南。
欢迎提交 Issue 和 Pull Request。请说明问题、改动目的和验证方式。涉及 Agent 行为、工具权限、持久化或评测的改动,请附上针对性测试或 Eval 案例。可先阅读项目文档,需要讨论方案时先开 Issue。
CODING 使用 MIT License 发布。

