基于 DeepAgents 与 LangGraph 构建的本地 Coding Agent。它能够从自然语言需求出发,完成任务分类、Todo 规划、技术方案生成与人工确认、代码修改、测试验证、Git 提交以及 Gitee Pull Request 创建。
以下截图来自本地真实运行记录,演示仓库信息已做脱敏处理。
Agent 读取目标仓库后,结合现有代码结构生成 Todo、接口设计、测试策略、影响范围与风险说明;方案输出后等待用户确认,不会直接执行代码写入。
用户确认方案后,主 Agent 执行文件修改并返回变更清单与测试结果;截图中的两项新增接口测试均已通过。
确认方案后,主 Agent 按计划完成文件修改、测试验证、Git 提交与分支交付。
端到端任务完成后,前端汇总 7/7 项 Todo、任务状态、分支与 PR 结果;公开截图已遮盖仓库和 PR 标识。
- 端到端代码交付:需求理解 → 方案规划 → 人工确认 → 代码修改 → 测试 → Commit/Push → PR。
- 多 Agent 协作:主 Agent 负责最终执行,只读分析子 Agent 负责代码分析、风险识别与建议。
- 受控本地执行:自研
LocalShellBackend提供 Windows 路径映射、文件工具、Shell 执行与工作区隔离。 - 安全与恢复:危险命令拦截、敏感目录保护、Token 脱敏、工具参数清洗,以及基于用户确认消息的 Commit/Push/PR 交付范围校验。
- 状态与可观测性:LangGraph Checkpoint 保存会话状态,业务 Store 保存线程、运行、事件和 PR 信息,SSE 实时推送执行过程。
- Gitee 交付:使用
GIT_ASKPASS注入凭据,避免 Token 出现在命令、日志与仓库配置中。
flowchart LR
UI[React Dashboard] -->|REST / SSE| API[FastAPI]
API --> Runtime[Task Runtime]
Runtime --> Main[Main Coding Agent]
Main --> Analyst[Read-only Analysis Subagent]
Main --> Tools[Web / Gitee / Review Tools]
Main --> Backend[LocalShellBackend]
Backend --> Workspace[Isolated Workspace]
Runtime --> Checkpoint[(LangGraph Checkpoint)]
Runtime --> Store[(Business Store)]
Store -->|Run Events| UI
sequenceDiagram
participant U as User
participant A as CodeFlow Agent
participant W as Workspace
participant G as Gitee
U->>A: 提交自然语言开发需求
A->>A: 分类任务并生成 Todo
A-->>U: 输出技术方案并等待确认
U->>A: 确认实施
A->>W: 分析并修改代码
A->>W: 执行测试与 Git 操作
A->>G: Push 分支并创建 PR
A-->>U: 返回修改摘要、测试结果与 PR 地址
agent/
├─ api/ FastAPI 与 Dashboard 接口
├─ backends/ LocalShellBackend、路径与命令权限
├─ core/ 任务运行、流式事件、Checkpoint 与中间件
├─ memory/ 工作区长期记忆
├─ skills/ 仓库分析与代码审查 Skills
├─ store/ SQLite 业务 Store
└─ tools/ Gitee、网页抓取、搜索与 Review 工具
scripts/ 启动、基础验证与真实 Gitee E2E 脚本
ui/ React + TypeScript Dashboard
- Windows 10/11
- Python 3.14+
- Node.js 22+
- Git
python -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install -e .
Copy-Item .env.example .env编辑 .env,至少配置 DeepSeek API 和专用 Gitee 测试仓库的 Token。不要将真实 .env 提交到版本库。
cd ui
yarn install
cd ...\.venv\Scripts\python.exe scripts\start_all.py启动后访问:
- Dashboard:
http://127.0.0.1:3000/agents - Backend Health:
http://127.0.0.1:2024/health
项目提供 18 个专项验证脚本,覆盖:
- 任务分类与方案确认
- 用户确认后的 Commit、Push 与 PR 交付权限边界
- 流式文本、Todo、工具及子 Agent 事件
- 中断任务恢复
- 文件工具与中间件错误恢复
- 工作区权限与 Gitee Token 脱敏
- SQLite 并发读写(120 条事件写入场景)
基础验证不会调用模型或执行远程 Push:
.\.venv\Scripts\python.exe scripts\verify_backend.py真实 Gitee E2E 会调用模型、修改测试仓库并创建 PR,请仅在专用测试仓库中运行:
.\.venv\Scripts\python.exe scripts\verify_gitee_e2e.py https://gitee.com/owner/repo.git- Agent 只能在配置的工作区及允许的虚拟目录中读写。
- 危险系统命令与敏感目录访问会被拒绝。
- Gitee Token 通过环境变量和
GIT_ASKPASS注入,并在日志与工具返回中脱敏。 - 仓库默认不跟踪
.env、SQLite、日志、虚拟环境、依赖目录和构建产物。
- 当前版本面向 Windows 本地单机运行;SQLite 方案适合本地与低并发场景。
- 代码交付链路当前以 Gitee 为目标平台。
- 模型效果、运行耗时和费用取决于模型服务及目标仓库复杂度。
Dashboard 中的部分界面组件修改自 langchain-ai/open-swe,依据 MIT License 使用。完整版权与许可证文本见 THIRD_PARTY_NOTICES.md。



