DeepCode 开放式编程助手
把论文和自然语言需求转成可运行的前后端与算法代码。
按维度查看评分与理由
证据显示项目实现了显式项目信任、三种权限模式(Ask/Read only/Full access)、工具级allow/ask/deny、敏感路径保护、平台沙箱和作业对象隔离(Windows)。用户确认机制存在,但未提供具体实现细节。数据流透明度:工具调用、执行进度和文件更改可见,但未详细说明数据流。敏感数据处理:凭据存储在用户私有存储中,不写入会话历史,但未提供具体实现。依赖安全:依赖列表未固定版本,未提供安全审计或漏洞扫描证据。外部影响:命令执行有沙箱,但未提供具体细节。回滚:会话生命周期有归档和删除,但未提供代码回滚机制。来源归属:未提供明确的来源归属机制。
自一致性:README描述与代码结构一致,测试覆盖了自动化传输和编解码器。依赖可用性:依赖列表明确,但未固定版本。失败消息:测试中验证了错误处理,如InvalidParams和ParseError。
受众和场景:面向开发者和研究人员,支持多种场景(Paper2Code、Text2Web等)。能力边界:明确说明不是设计来让Agent看起来更忙,而是帮助完成真实工作。触发精度:支持自然语言指令和自动化调度。环境适配:支持CLI和桌面,跨平台(macOS、Windows、Linux)。
信息架构:README结构清晰,有目录和详细说明。安装说明:提供了CLI和桌面的安装步骤。命名稳定性:版本历史显示命名稳定。示例和FAQ:提供了快速开始和演示,但缺少FAQ。已知限制:未明确列出。许可证:MIT许可证。版本和变更日志:有新闻和里程碑记录。维护责任:有GitHub Actions CI,但未明确维护者。
输出可用性:提供可视化界面和会话历史,输出可审查。边际价值:提供多Agent系统和自动化,有独特价值。成本效益:未提供性能或成本数据。
声明可追溯:README中的声明与代码和测试对应。跨来源佐证:有论文和视频,但未提供独立验证。事实与推断分离:README区分了事实和推断。
- 依赖未固定版本,存在供应链风险。
- 未提供安全审计或漏洞扫描证据。
- 已知限制未明确列出。
- 发布者身份未验证,但未发现恶意迹象。
这个 Agent 能做什么,适合哪些场景?
DeepCode 是一个面向软件开发的多智能体编程平台,覆盖 Paper2Code、Text2Web 和 Text2Backend 三类工作流。它提供交互式终端对话、基于 React 与 FastAPI 的本地 Web UI,以及可用于脚本和 CI 的 JSON 事件流命令行入口。其统一运行时通过 MCP 工具执行文件读写、网页获取、仓库下载、文档处理、命令执行、代码索引和实现验证等操作。项目支持用户级与项目级配置合并,可配置 OpenAI、Anthropic、Gemini 或 OpenRouter 等提供方,并将会话保存为 JSONL 和 SQLite 索引。对于复杂任务,README 还描述了计划、持久记忆、生命周期 Hook、可复用技能与隔离子代理协作能力。
DeepCode 可接收研究论文、自然语言需求、URL 与文件作为输入,并通过 Central Orchestrating Agent、Intent Understanding Agent、Document Parsing Agent、Code Planning Agent、Code Reference Mining Agent、Code Indexing Agent 和 Code Generation Agent 组织处理。它经由 MCP 的 filesystem、fetch、github-downloader、file-downloader、command-executor、code-implementation、code-reference-indexer 与 document-segmentation 执行具体操作,生成代码、测试与文档。终端交互入口是 deepcode 或 python -m cli.tui;本地 Web 模式使用 deepcode --local;无界面任务可用 python -m cli.exec_cli "任务" --json 输出 NDJSON 事件流。会话存放在 ~/.deepcode/sessions/<id>/,配置可由 ~/.deepcode/deepcode_config.json 与项目目录中的 deepcode_config.json 分层合并。
- 机器学习研究者需要根据论文复现实验算法时,可用 Paper2Code 将论文内容转为实现、测试和文档。
- 前端开发者拿到页面文字需求、需要快速形成可运行界面原型时,可使用 Text2Web 工作流。
- 后端工程师需要从简要功能说明生成服务端实现时,可使用 Text2Backend 工作流。
- CI 或内部自动化负责人需要以机器可读事件流执行一次性修复任务时,可调用
python -m cli.exec_cli "任务" --json。 - 需要在本地项目目录持续处理编码任务的开发者,可通过
deepcode启动多轮会话,并用/resume恢复已保存会话。
这个 Agent 有哪些优点和局限?
- 同时提供终端对话、本地 Web UI 与 NDJSON 无界面执行入口,适合交互开发和 CI 自动化。
- 通过 MCP 明确集成文件系统、网页获取、仓库下载、文档分段、命令执行、代码索引与实现工具,而非只输出文本建议。
- 配置支持 OpenAI、Anthropic、Gemini 和 OpenRouter,并支持项目级配置覆盖用户级配置。
- 会话以 JSONL 保存并由 SQLite 索引,支持列出、恢复和分支会话。
- 必须自行配置至少一个模型提供方 API Key;README 未提供默认免费模型或成本控制方案。
- 本地 Web UI 依赖 Node.js 18+ 和 npm 8+,除 Python 运行时外还需安装前端依赖。
- 工具执行涉及本地文件系统、Shell、网络和 MCP 服务,采用前需评估工作区权限与密钥配置。
- README 所列 PaperBench 分数及与 Cursor、Claude Code、Codex、PaperCoder 的比较为项目自行报告,提供材料未包含独立复现实验。
如何安装或部署这个 Agent?
前置条件为 Python 3.9+、Node.js 18+ 和 npm 8+。直接安装:pip install deepcode-hku,随后执行 deepcode init 创建 ~/.deepcode/deepcode_config.json,并在其中至少填写一个提供方的 API Key,例如 {"providers":{"openai":{"apiKey":"your_openai_api_key"}}}。从源码开发可执行 git clone https://github.com/HKUDS/DeepCode.git、cd DeepCode、pip install -r requirements.txt、npm install --prefix new_ui/frontend;如需让全局命令使用当前检出版本,再执行 pip install -e .。
如何使用这个 Agent?
完成 API Key 配置后,在项目目录运行 deepcode 开始交互式多轮编码会话;可用 python -m cli.tui -w ./my-project 指定工作区,或用 python -m cli.tui --resume <session_id> 恢复会话。在对话中可使用 /help、/new [title]、/resume、/model [id]、/clear,并以 @src/main.py 附加文件内容。运行 deepcode --local 可启动本地 Web UI,前端地址为 http://localhost:5173,后端地址为 http://localhost:8000。用于 CI 或脚本时,运行 python -m cli.exec_cli "fix the failing test in mathlib.py" --json。
这个 Agent 与同类方案有什么区别?
README 在 PaperBench 的不同子集上报告:DeepCode 为 84.8%,而 Cursor 为 58.4%、Claude Code 为 58.7%、Codex 为 40.0%;同时报告其相对 PaperCoder 的结果为 73.5% 对 51.1%。这些数字适合作为项目声明的基准参考,而非独立验证结论。
常见问题
运行前必须配置什么?
deepcode init 后,必须在配置中填写至少一个模型提供方 API Key。它能使用哪些模型服务?
apiBase。会修改我的项目文件吗?
write、edit 与 apply_patch 等工具读写和修改工作区文件,并执行命令;应在合适的工作区和权限策略下运行。如何用于自动化或 CI?
python -m cli.exec_cli "任务" --json 执行单次任务;README 说明该命令输出机器可读的 NDJSON 事件流。