Skip to content

Latest commit

 

History

History
937 lines (687 loc) · 45.5 KB

File metadata and controls

937 lines (687 loc) · 45.5 KB
DeepCode Logo
    ██████╗ ███████╗███████╗██████╗  ██████╗ ██████╗ ██████╗ ███████╗
    ██╔══██╗██╔════╝██╔════╝██╔══██╗██╔════╝██╔═══██╗██╔══██╗██╔════╝
    ██║  ██║█████╗  █████╗  ██████╔╝██║     ██║   ██║██║  ██║█████╗
    ██║  ██║██╔══╝  ██╔══╝  ██╔═══╝ ██║     ██║   ██║██║  ██║██╔══╝
    ██████╔╝███████╗███████╗██║     ╚██████╗╚██████╔╝██████╔╝███████╗
    ╚═════╝ ╚══════╝╚══════╝╚═╝      ╚═════╝ ╚═════╝ ╚═════╝ ╚══════╝
HKUDS%2FDeepCode | Trendshift HKUDS%2FDeepCode | Trendshift

DeepCode Logo DeepCode: 开源智能体编程

基于多智能体系统推进代码生成技术

官网 — hkuds.github.io/DeepCode

🖥️ 界面展示

🖥️ DeepCode Desktop

DeepCode Desktop 编程智能体演示

在可视化工作台中使用 DeepCode,管理 Session 和目标,并查看工具活动、代码修改与验证过程。

DeepCode 只有一套 Agent 运行时,同时提供两种使用界面:面向终端 工作流的交互式 CLI,以及用于 Session、审查和设置的 Tauri Desktop。 两端打开同一份本地 Project、Session 历史、模型、Skills、权限、Goals 与 Automations。从源码启动请参考 Desktop 运行指南


🎬 介绍视频

🎯 观看我们的完整介绍 - 了解DeepCode如何将研究论文和自然语言转换为生产就绪的代码

Watch Video


"AI智能体将创意转化为生产就绪代码的地方"


📑 目录

DeepCode 完成并验证一个真实任务

新闻

2026-08-12 · MCP 模板目录、OAuth 与真实连接测试

  • 预装模板,但不偷偷执行。 DeepCode 内置基于 Nanobot 当前 16 个 MCP 模板整理的校验目录。添加模板只会复制一份默认禁用的普通配置,不会自动运行 npx、Docker 或连接远程服务。
  • 所有入口共用一套管理逻辑。 Desktop、TUI、管理 CLI 与 App Server 现在共享模板安装、配置、连接测试、OAuth 和运行状态服务。
  • 分开显示配置、授权与连接状态。 真实测试会初始化 MCP 并统计 tools、 resources 和 prompts;浏览器 OAuth 使用本机回调,凭据保存在项目配置之外, Agent 启动时不会擅自打开浏览器。

2026-08-07 · 思考强度控制、更多模型服务商、可调的 Desktop

  • 思考强度控制全面恢复。 思考档位改为从模型目录解析,Claude、GPT-5、 Kimi、Qwen、Grok 都能选到各自真实的档位,DeepSeek、GLM、MiniMax 也拿到了 可用的思考开关。新发布的模型会继承同族的能力,而不会悄悄失去控制项。
  • 新增三家模型服务商。 Requesty 与 Forge 作为网关加入,MiniMax 拥有独立的 目录条目——包含 100 万上下文的 M3 层级。
  • 把 Desktop 调成你习惯的样子。 设置 → 外观新增会话区宽度、不再盲从系统的 浅色/深色手动切换、字号,以及只列出本机实际已安装字体的字体选择。
  • Windows 上的命令执行更安全。 新的 Job Object 后端为沙箱带来了真正的 进程树隔离——此前这里是空白。

2026-08-04 · 让 Skills 在每一种工作方式中保持一致

  • 让可复用经验跟随项目。 DeepCode 既能发现当前项目中的 Skills, 也能使用个人 Skill 集合,并继续兼容现有 DeepCode 与 Claude 风格目录。
  • 在 CLI 与 Desktop 中使用同一个 Skill。 为任务选择 Skill 后, DeepCode 会把它的身份和版本保留在 Turn 中,方便在 Session 中追溯 哪些指导影响了结果。
  • 不离开 DeepCode 也能创建 Skill。 内置 Skill Creator 可在两端 帮助创建和验证聚焦、可复用的工作流。
  • Skill 库增长后依然保持专注。 上下文感知的发现机制会控制 Agent 上下文中的信息量,同时保留完整的 Skill 浏览与管理能力。

2026-08-03 · 🎉 DeepCode v2.0 正式发布

DeepCode v2.0 带来一套全新的通用型 Coding Agent 框架,面向真实软件项目的 开发、修复、理解与持续改进。

  • 直接完成真实仓库任务。 DeepCode 可以理解代码库、修改文件、运行命令 与测试、检查变化,并把需求推进到真正可以工作的结果。
  • 通过 Loop Engineering 持续完成复杂目标。 给出一个 Goal,DeepCode 可以持续理解、实现、验证和修复,而不是生成一段看似合理的回答就停止。
  • Agent 工作时,你始终掌握方向。 随时补充要求、纠正方向、切换模型、 停止、恢复或修改 Goal,不必丢掉已经完成的工作。
  • 清楚看到交付了什么。 规划、工具活动、代码变化、测试结果和验证证据 都可以查看,让审查结果和放心合并变得更容易。
  • 让 Automation 适应你的工作方式。 用自然语言把任意要求变成某个项目 专属的任务:既可随时手动运行,也可按固定间隔自动执行,还能修改、暂停、 恢复并查看每次结果。无论是回归检查、测试修复、文档同步还是仓库维护, 都可以交给 DeepCode 持续处理。
  • 按照自己的方式工作。 自由选择 Desktop 或 CLI,使用自己的模型与 Skills,并委派聚焦任务,而不必改变底层 Agent 工作流。

DeepCode v2.0 希望让你少花时间逐步盯着 Agent,多花时间完成真正值得发布的 软件。期待看到你用它创造出的作品!🚀

2026-07-31 · CLI 与 Desktop 共用统一执行模型

  • 交互式对话、无头任务、Goal、Automation 与 Desktop 全部进入同一套持久化 Project、Session、Thread 和 Turn 生命周期。
  • Workspace trust 与 Session 工具权限相互独立;权限可选 AskRead onlyFull access
  • 模型 Thinking 强度与推理展示详细度分开控制,改变界面展示不会改变模型请求。

2026-07-21 · 持久化 Goals 与安全的 Session 生命周期

  • 长任务可以作为 CLI 与 Desktop 共享的可恢复、证据驱动 Goal 运行。
  • Archive 保留历史;永久删除通过统一的 Session 生命周期清理记录, 不会删除仓库文件。
  • 中断的删除会从持久化 tombstone 恢复,不会让旧 Session 记录重新出现。

2026-07-20 · Session 级模型控制与共享 Skills

  • 命名 LLM 连接只需配置一次,即可在整个 DeepCode 中使用。
  • 为后续 Turn 切换连接或模型时,不会丢失之前的完整对话。
  • 无论任务从哪里启动,都能发现、导入、启用和选择同一套项目级或用户级 Skills。

2026-07-17 · 持久化 Session 导航与回放

  • 每个 Project 管理自己的可折叠 Session 列表,同时仍可跨目录发现更早的记录。
  • 长对话采用增量回放,不再因为把全部历史作为一条超大消息传输而失败。
  • 批准、变更审查、测试与 Artifacts 始终保留在产生它们的任务中。

2026-07-10 · Loop Engineering 与并行 Agent

  • 给出一个可修改的 Goal,DeepCode 可以在普通 Turn 之间持续理解、 实现、按需验证与修复,并且始终可被纠正。
  • 将聚焦任务委派给隔离 worktree 中的 Agent,并在集成前明确暴露冲突。
更早的里程碑
  • 2026-07-08 · 持久化 Sessions 与记忆。 Session 历史可以跨重启恢复; 项目长期指令可以写入 AGENTS.mdDEEPCODE.md,持久笔记跟随工作区保存。
  • 2026-07-08 · 通用 Coding Agent。 自由对话式 TUI、原生文件与 Shell 工具、 无头执行、上下文压缩和跨目录恢复,建立了当前产品基础。
  • 2026-07-04 · Agent Harness 基础。 统一执行约束、三值权限、 敏感路径保护、平台 Sandbox 与标准化事件,使本地执行真正可监督。
  • 重构前的完整更新记录保存在 旧版中文 README

What Deep means in DeepCode

大多数 Coding Agent 都能生成代码。真正困难的是:理解一个真实项目、在正确的边界内完成修改、根据运行结果持续修正,并让用户清楚地知道结果为什么可信。

DeepCode 是一个面向真实软件工程的开源 Coding Agent。你可以把一个简单修改交给它,也可以给它一个需要持续数十个步骤的目标。它能够理解项目、操作代码、运行工具、验证结果,并在中断、重启或模型切换之后继续工作。

“Deep”代表四种贯穿任务始终的深度:

深度 对用户意味着什么
Deep Context 不只读取当前文件,还结合项目结构、工程规则、Skills、Session 历史和长期记忆理解任务。
Deep Execution 不只提出建议,而是实际搜索、编辑、运行命令、执行测试,并展示正在发生的工作。
Deep Verification 不把一段听起来合理的回答当作完成,而是使用测试、构建、诊断、Diff 和任务产物检查结果。
Deep Continuity 保存对话、决策、工具记录和验证证据,让任务可以跨时间、目录、客户端和模型继续。

DeepCode 最特别的地方可以归纳为三点:

  • 从复杂知识走向可运行系统。 DeepCode 不只处理 Issue 和代码片段。Paper2Code 可以从论文、文档、参考仓库和实验目标出发,完成理解、实现与验证。
  • 让长任务持续运行,同时始终可控。 Goal 不是一次性的提示词。你可以在运行中补充要求、修订目标、暂停、停止或继续,而不必丢掉已经完成的工作。
  • 从代码修改走到验证与审查。 DeepCode 不会停在生成 Patch。它会根据任务运行命令与测试、检查构建结果和文件变化,并把 Goal 的完成或受阻原因关联到相关执行记录,方便你审查最终修改。

DeepCode 的目标不是让 Agent 显得更忙,而是帮助你更可靠地完成真正的软件工程工作。

Core capabilities

DeepCode 提供完整的本地 Coding Agent 工作流。CLI 和 Desktop 只是两种使用方式,它们共享同一套 Agent、Session、模型、Skills、权限和任务状态。

DeepCode Agent Harness 与验证循环

Work directly in your repository

DeepCode 可以读取和搜索代码、编辑文件、应用 Patch、运行命令与测试,并根据结果继续修改。工具调用、执行进度和文件变化会被持续展示,你可以随时查看 Agent 做了什么以及项目发生了哪些变化。

它既适合解释代码、修复 Bug 和补充测试,也能完成跨文件重构、功能开发和较长的仓库级任务。

当你提供一个公开的 HTTP 或 HTTPS URL 时,共享的 web_fetch 工具可以直接读取页面,不需要搜索服务或额外的 API Key。

Goal-driven Loop Engineering

对于无法在一次回答中完成的任务,你可以直接给 DeepCode 一个自然语言 Goal。Agent 会围绕目标持续进行分析、实现、验证和修复,而不需要用户手动推动每一个步骤。

运行过程中,你仍然可以:

  • 向当前任务补充新的信息;
  • 修订 Goal 或验收要求;
  • 排队下一条指令;
  • 暂停、停止或继续任务;
  • 在退出程序后恢复同一个 Goal。

任务不会因为进入自动执行就失去控制权。你始终可以改变接下来的方向。

Evidence-driven completion

DeepCode 不使用一套硬编码规则判断所有 Coding 任务。它会根据任务本身选择合适的证据,例如测试结果、构建输出、静态检查、诊断信息、文件变化、Diff 或生成的 Artifacts。

验证失败不会被包装成成功,而会成为下一轮修复的输入。任务完成或真正受阻时,结果、原因以及相关证据会继续保留在 Session 中,方便你检查和复现。

Durable Sessions and project context

每个 Session 都会保存在本地,并关联到它最初所属的项目。你可以从任意目录启动 DeepCode,找到之前的项目和 Session,在 CLI 或 Desktop 中继续同一段工作。

Session 不只保存聊天文本,还保存工具调用、权限决策、Goal、模型配置和验证记录。项目规则、持久记忆、Skills 与长对话压缩共同帮助 Agent 在复杂任务中保持上下文连续。

Your models, your reasoning settings

DeepCode 不绑定单一模型厂商。你可以连接 OpenRouter、OpenAI、Anthropic、DeepSeek、Gemini、OpenAI-compatible Gateway、Ollama、vLLM 或其他兼容端点,并使用自己的 API Key。

连接可以在使用前检查凭据、模型列表和真实推理请求。每个 Session 都可以选择模型与 Thinking Level;中途切换模型只影响后续 Turn,不会删除已有对话或混淆之前的工作来源。模型支持时,DeepCode 也会展示 Provider 返回的推理摘要。

Reusable Skills

Skills 可以把团队规范、领域知识、评审方法或重复工作流变成 Agent 可复用的能力。项目 Skill 放在 .agents/skills,个人 Skill 放在 ~/.agents/skills,也可以通过内置 Skill Creator 以对话方式创建。

DeepCode 继续读取已有的 .deepcode/skills 和 Claude 风格目录,不会自动迁移。Skill 可以指导 Agent 如何工作,但不能绕过项目信任、工具权限或安全边界。

Permissions you can understand

每个项目在执行前都需要明确信任。每个 Session 可以选择:

  • Ask:敏感操作执行前询问;
  • Read only:只允许分析和读取;
  • Full access:对可信项目执行完整工作。

工具级别还支持 allowaskdeny。CLI 与 Desktop 使用相同的权限状态,任务被停止或异常中断时,DeepCode 不会静默重放可能产生副作用的操作。

Parallel agents without file collisions

复杂任务可以被拆分给多个专门的 Agent,例如让不同 Agent 分别负责代码调查、测试分析和实现审查。

并行修改可以运行在隔离的 Git Worktree 中,避免多个 Agent 同时修改同一个工作目录。结果返回主任务后再进行检查和整合,冲突会被明确展示,而不是被静默覆盖。主 Agent 始终负责最终 Goal,不会因为委派任务而失去方向。

Automate repeatable engineering work

当一项工作已经足够稳定,可以把它保存为 Automation,手动运行或按时间间隔重复执行。例如:

  • 定期检查测试和构建状态;
  • 扫描回归问题;
  • 整理待处理任务;
  • 执行仓库维护或周期性审查。

Automation 不会启动另一套简化版 Agent。它仍然使用正常的 Session、模型、Skills、权限、审批和恢复机制,并保留每一次运行的历史。

Paper2Code

Paper2Code 是 DeepCode 最初的研究方向,也是当前产品中专门面向科研复现的工作流。

它可以从论文、技术文档、URL 或参考仓库开始,理解研究目标,寻找相关实现,组织开发计划,生成代码,并通过实验与产物验证结果。它体现了 DeepCode 的核心理念:重要的不是生成一段看起来正确的代码,而是把复杂知识转化为可以运行、检查和继续改进的系统。

快速开始

DeepCode 提供两种界面,并且对应两条独立安装路径。任选一种即可开始;两端 使用相同的 Agent 运行时和规范 Session 历史。

uv tool install --python 3.12 deepcode-hku 安装的是 CLI 和共享 Python 运行时,不会安装 Tauri Desktop 应用。

方案 A:安装 CLI

如果尚未安装 uv,请先安装。Windows PowerShell 使用:

winget install --id astral-sh.uv --exact

首次安装 uv 后重新打开终端,再执行:

uv tool install --python 3.12 deepcode-hku
deepcode init

这里显式选择 Python 是有意的:DeepCode 要求 Python 3.12+,不能在旧解释器上 回退安装已经不受支持的历史版本。 如果现有 uv tool 环境仍安装着 DeepCode 1.x,可执行 uv tool upgrade --python 3.12 deepcode-hku 完成迁移。

首次创建模型连接。--api-key 会打开不回显的安全输入:

deepcode provider set personal-openrouter --template openrouter --label "OpenRouter · Personal" --api-key
deepcode provider models personal-openrouter --refresh
deepcode provider test personal-openrouter --model <model-id>

进入希望 DeepCode 操作的仓库,然后启动交互式 Agent:

cd <你的项目>
deepcode

deepcode init 会在 ~/.deepcode/ 下创建最小用户配置。凭证单独保存在 用户私有存储中,不会进入 Session 历史。也可以在合适的 Python 3.12+ 环境中使用 pipx install deepcode-hkupip install deepcode-hku

方案 B:安装 Desktop

Desktop 安装包与 Python 包分开发布。先检查 GitHub Releases 是否提供当前 平台的签名安装包;如果没有,请使用下面的源码安装流程。

macOS 与 Linux 源码安装

请先根据 Tauri 2 前置依赖指南 安装平台依赖,并准备 Git、Python 3.12+、uv、Node.js 22+ 和稳定版 Rust。 然后执行:

git clone https://github.com/HKUDS/DeepCode.git
cd DeepCode
uv venv --python 3.12
uv pip install --python .venv/bin/python -e .
.venv/bin/deepcode init
cd desktop
npm ci
npm run setup:sidecar
npm run build:sidecar
cd ..
mkdir -p ~/.local/bin
ln -sf "$(pwd)/scripts/deepcode-desktop" ~/.local/bin/deepcode-desktop
export PATH="$HOME/.local/bin:$PATH"
deepcode-desktop

以上步骤会完成一次性的源码启动器安装。以后只要 ~/.local/bin 已加入 PATH,就可以从任意目录运行 deepcode-desktop 启动这个源码版本。如果 Shell 尚未配置该路径,请把上述 export 写入 Shell profile。命令只负责启动 Desktop;需要操作的仓库仍应在 Project 侧边栏中添加或选择。

Windows 源码安装

Windows 必须安装 Microsoft Edge WebView2,以及 Visual Studio 2022 Build Tools 的 Desktop development with C++ 工作负载。Build Tools 弹出 UAC 提示时请选择“是”:

winget install --id Git.Git --exact
winget install --id astral-sh.uv --exact
winget install --id OpenJS.NodeJS.LTS --exact
winget install --id Rustlang.Rustup --exact
winget install --id Microsoft.VisualStudio.2022.BuildTools --exact `
  --override "--wait --passive --norestart --add Microsoft.VisualStudio.Workload.VCTools --includeRecommended"

关闭 PowerShell,重新打开一个窗口并验证工具链:

git --version
uv --version
node --version
rustup default stable-msvc
rustc --version
cargo --version

克隆、准备并启动 Desktop:

git clone https://github.com/HKUDS/DeepCode.git
Set-Location DeepCode
uv venv --python 3.12
uv pip install --python .venv\Scripts\python.exe -e .
.venv\Scripts\deepcode.exe init
Set-Location desktop
npm ci
$env:DEEPCODE_PYTHON = (Resolve-Path ..\.venv\Scripts\python.exe)
npm run setup:sidecar
npm run build:sidecar
npm run tauri -- dev

Desktop 运行期间请保持这个 PowerShell 窗口开启。后续启动和故障排查请参考 Desktop 源码运行指南

配置 Desktop 模型

Desktop 启动后,打开 Settings → AI providers

在 DeepCode Desktop 中配置 AI Provider 与模型

在同一个 Desktop 流程中完成凭证保存、模型发现和真实推理验证。

  1. 点击 Add provider,选择模型服务,并输入 API Key 或保存它的环境变量名。
  2. 点击 Save and check,检查凭证并读取 Provider 的模型目录;这一阶段不会 发送项目内容。
  3. Agent model 中选择准确的模型 ID,然后点击 Save and verify model;最后一步只会发送一次极小的真实推理请求。
  4. 添加或打开 Project,创建 Session,选择模型、Thinking 档位和权限,然后 用自然语言描述任务。

使用界面只改变工作的呈现方式,不改变背后的 Agent、策略、配置和 Session 历史。

使用 DeepCode

Sessions

每项工作都保存在与原始 Project 关联的持久 Session 中。在 Desktop 打开 Project,或者从项目目录启动 deepcode,然后创建新 Session 或恢复历史。 同一份历史可以直接在 Desktop 与 CLI 之间继续,无需导出或转换。

需要完成的操作 Desktop 交互式 CLI
创建 Session New thread /new [标题]
恢复当前项目历史 在 Project 下选择 Session /resume
查找所有项目历史 浏览项目列表 /resume all
附加文件 使用输入框附件 @文件路径
修改下一个 Turn 的模型 输入框模型选择器 /model
调整 Thinking 档位 输入框 Thinking 选择器 /effort
选择工具权限 输入框权限选择器 /permissions
为下一个 Turn 加载 Skills 输入框 Skills 控件 /skill <名称>
创建可复用 Skill Skills → Create Skill $skill-creator
设置或修改持久 Goal Goal 面板 /goal
停止当前 Turn 使用停止按钮 /stop

对话、工具活动、审批、Goal 状态和验证证据始终保存在一起。Archive 只隐藏 Session,不删除历史;永久删除只移除 Session 记录,不会删除项目文件。

Connections 与模型

Desktop 在 Settings → AI providers 中提供连接配置与验证。CLI 使用 /model 修改后续 Turn 的连接和模型,使用 /effort 选择该模型支持的 Thinking 档位。

模型切换不会改写已有历史,也不会改变正在运行的 Turn。Thinking 档位决定 发送给 Provider 的请求;transcript 详细程度只影响界面展示。DeepCode 只在 Provider 明确提供时展示推理摘要,不会把原始 chain-of-thought 混入助手回答。

环境变量凭证、自定义网关、模型发现和机器可读检查等管理命令统一收录在 Headless 与 Automation 指南

Skills

Skills 可以把可复用的工程知识变成 Agent 在任务中加载的指导。Desktop 提供 Skills 工作区;交互式 CLI 使用 /skills 发现可用 Skill,使用 /skill <名称> 为下一个 Turn 选择能力。在 Desktop 选择 Skills → Create Skill,或在 CLI 调用 $skill-creator,即可通过普通 Agent Turn 创建并校验。

项目级 Skills 存放在 .agents/skills 并可随仓库共享,用户级 Skills 存放在 ~/.agents/skills 并可跨 Project 使用。旧 DeepCode 与 Claude 风格目录继续 兼容读取。Skill 只能指导 Agent,不能授予权限,也不能绕过 Project trust、 审批或工具策略。导入、启用、禁用和目录管理命令统一放在 高级指南中。

MCP 服务器

DeepCode 的 Agent Session、Desktop、TUI、管理 CLI 与 App Server 共用同一套 MCP 客户端。Desktop 在 MCP Servers 页面管理;TUI 统一使用 /mcp; Shell 中可先运行 deepcode mcp presets 查看内置的 16 个 Nanobot 模板,再用 deepcode mcp add <id> 添加配置。模板默认禁用,不会自动下载依赖或启动进程。

deepcode mcp test <名称>/mcp test <名称> 或 Desktop 的 Test connection 进行真实 MCP 初始化和能力枚举,确认后再用 deepcode mcp enable <名称>/mcp enable <名称> 或 Desktop 的 Enable 启用。启用后,用户只需正常 描述 coding 任务,模型会在需要时自动调用 MCP 工具。Notion、Linear、Xmind 等 OAuth 服务通过 login/logout 或 Desktop 的 Authenticate/Logout 显式授权;凭据 单独保存在私有文件中,Agent 启动不会自动打开浏览器。配置方式、环境变量、 OAuth 与三类状态的说明见 MCP 客户端指南

安全与执行

DeepCode 将执行安全视为产品边界,而不是客户端确认框:

  • 所有界面在执行 Agent 之前都需要明确的 Project trust。
  • 权限决策分为 allowaskdeny
  • Approval 会恢复被暂停的同一次工具调用。
  • Ask 保留工作区命令沙箱和受保护路径检查;Read only 拒绝修改型 工具;Full access 是经过明确二次确认的 Session 授权,会移除审批与 文件系统沙箱边界,但显式 deny 规则仍然优先。
  • CLI 与 Desktop 修改同一个 Session 权限覆盖。每个 Turn 在进入队列时都会 冻结完整安全快照,因此切换只影响新提交;正在运行和已经排队的 Turn 会在 恢复或 worker 交接后继续使用各自记录的权限。
  • Shell 与代码进程在超时、中断或关闭时会按 DeepCode 所有的进程树终止。
  • 崩溃恢复会收敛未完成的 Turn,但不会自动重放副作用。

长期任务

普通输入就可以运行包含多个工具调用的完整 Coding Turn。当任务需要跨多个 Turn 或进程重启继续时,再把持久 Goal 绑定到 Session。Desktop 使用 Goal 面板,CLI 使用 /goal <目标>

DeepCode 工作期间,新输入可以纠正当前 Turn。你也可以编辑 Goal、停止当前 Turn、安排后续指令、暂停 Goal,或者稍后恢复。所有操作都保留相同的 Session、 历史、权限、Skills 与验证证据,不会变成一次孤立执行。

工作 Agent 根据完整上下文显式请求 completeblocked。DeepCode 强制 检查归属、生命周期、权限和预算边界,但不会用一条宿主规则冒充对所有 coding 任务的验证。普通语义完成显示为 Completed;测试、Build、诊断、Diff 或 独立复核继续作为可见证据。Goal 引擎不会硬编码 provider、模型、任务类型或 测试命令。

Automation 与无界面工作流

Desktop 的 Automation 工作区可以把可信 Project 中的一条指令保存为手动或 定时任务,同时继续使用正常的 Agent、Session、Goal、权限、恢复和 Run 历史。 它适合仓库健康检查、回归审查和周期性维护等可重复工作。

Shell 脚本和 CI 也可以在不打开界面的情况下调用相同运行时。独立的 Headless 与 Automation 指南 集中说明 execloop、Automation、Provider、Skill 和 Session 管理命令。 这些是高级集成入口,普通 Desktop 或 CLI 用户无需用它们拼接日常任务。

Paper2Code

Paper2Code 是 DeepCode 的研究起点,也是当前面向科研代码复现的专业工作流。 通用 Coding Agent 扩展了产品边界,但没有替代或简化 Paper2Code 的原始设计。

它的核心思路始终不变:论文复现不是一次性代码生成任务。一个中央编排智能体 负责协调多个边界清晰的专业角色,依次完成来源理解、复现规划、参考发现与索引、 代码实现以及结果验证。

原始架构

Paper2Code 从来源文档到代码生成、验证与改进的完整框架

各专业角色继续保持原系统中清晰的职责分离:

角色 职责
中央编排智能体 判断整体进度、选择下一阶段、协调专业角色,并在新证据出现时调整计划。
意图理解智能体 将用户目标转化为明确的功能需求、技术约束与可执行的任务分解。
文档解析智能体 处理论文与技术文档,提取算法、公式、方法、假设和实现要求。
代码规划智能体 把已理解的方法转换为实现路线、模块边界、依赖、接口与验证目标。
代码参考挖掘智能体 发现相关仓库、库与实现模式,并判断它们的相关性、兼容性和集成价值。
代码索引智能体 将检索到的代码组织为可搜索的语义索引与知识图谱,使生成阶段可以恢复关键组件及其关系。
代码生成智能体 综合计划与证据形成可执行实现,并生成可复现结果所需的接口、测试和文档。

四个核心思想把这些角色连接为一个整体:

  • 智能编排。 中央 Agent 根据任务状态选择并回访不同阶段,而不是把论文复现 当作固定的一次性 Prompt 链。
  • 文档与意图对齐。 论文、规格、URL 与附件会先转化为明确实现要求,再进入 编码阶段。
  • 记忆与 CodeRAG。 长文档与参考仓库经过分段、索引和按需检索,以有边界的 上下文进入模型,而不是反复塞入整个窗口。
  • 迭代验证。 执行、测试与真实失败会回流到规划和实现阶段,直到交付结果 拥有可以检查的证据。

配套工具层同样延续这一职责划分:

层次 作用
文档导入 获取并规范化论文、URL、PDF、DOCX、演示文稿、文本与 HTML。
文档分段 将大型技术材料切分为语义连贯、可恢复的分析单元。
参考发现 搜索候选仓库与支持性实现。
代码参考索引 为外部与本地代码建立可搜索上下文,并保留跨文件关系。
实现执行 读写文件、运行 Shell 或 Python、检查项目结构并记录过程。
验证与交付 运行测试、保存结果,并交付代码库、文档与 Artifacts。

新版产品围绕这套流程增加了持久化计划、显式计划审查、检查点、有边界重试与 交互式检查能力。这些变化增强了恢复和监督,但没有改变 Paper2Code 的架构 职责与推理顺序。

研究结果

DeepCode 原始研究使用 PaperBench 评估科研代码复现能力。 该基准要求 Agent 复现 20 篇 ICML 2024 论文,共包含 8,316 个可评分组件。

75.9%
人类专家子集
领先 3.5 个百分点
84.8%
商业 Agent 子集
领先 26.1 个百分点
73.5%
科研编程
领先 22.4 个百分点
73.5%
LLM Agent 基线
领先 30.2 个百分点

DeepCode PaperBench 结果

评估子集 DeepCode 论文中报告的对比结果 差值
人类专家子集 75.9% 论文中最佳人类基线:72.4% +3.5 个百分点
商业 Agent 子集 84.8% 论文中最佳商业 Agent:58.7% +26.1 个百分点
科研编程 73.5% PaperCoder:51.1% +22.4 个百分点
LLM Agent 基线 73.5% 论文中最佳 LLM Agent:43.3% +30.2 个百分点

以上是原论文报告的 PaperBench 专项结果,不代表通用编程基准,也不代表对 持续更新中的商业产品进行实时比较。

评估方法、范围、模型和基线详情请阅读 论文

🎬 实时演示

下面的录像展示了早期 DeepCode 工作流生成的项目结果。它们是输出案例, 不是当前 Desktop 界面的截图。

📄 Paper2Code

从研究到实现

Paper2Code 演示

▶ 观看演示

将研究论文复现为可以执行的工程项目。

🖼️ 生成式视觉项目

图像工作流案例

生成的图像处理项目

▶ 观看演示

查看早期 DeepCode 生成的图像处理工作流。

🌐 生成式 Web 项目

前端实现案例

生成的前端项目

▶ 观看演示

从想法开始,查看完整前端项目的实现结果。

项目介绍视频继续提供更完整的产品说明。

开发

源码安装

git clone https://github.com/HKUDS/DeepCode.git
cd DeepCode

curl -LsSf https://astral.sh/uv/install.sh | sh
uv venv --python=3.13
source .venv/bin/activate
uv pip install -e .

Windows PowerShell 请使用 .\.venv\Scripts\Activate.ps1 激活环境。

验证

uvx pre-commit run --all-files
python -m compileall -q app_server cli core tools workflows
deepcode --version
deepcode-app-server --verify-runtime

cd desktop
npm run lint
npm test -- --run
npm run build

Desktop 打包、Rust 检查、签名和发布流程请参考 desktop/README.mdDesktop 发布手册

贡献者架构资料
主题 文档
Agent 执行与批准 P2 Agent execution
Desktop Sidecar 与生命周期 P3 Desktop runtime
Git 审查、文件、终端与测试 P4 Code workbench
MCP 配置与连接生命周期 MCP client guide
持久化 Paper2Code 工作流 P5 Paper2Code
中央 Session 与跨目录恢复 P6 Session alignment
Skills 身份、安全与持久化 Skills architecture
Automation 调度与执行 Automation architecture
Desktop 产品与交互模型 Desktop UI specification
隐私与诊断 Privacy contract

重构前的中文 README 保存在 docs/archive/README_ZH_LEGACY_2026-07-20.md。 新版产品图片占位使用同一份 截图要求


⭐ 星标历史

社区增长轨迹

DeepCode 星标历史图

🚀 准备好使用 DeepCode 了吗?

立即开始 在 GitHub 查看 DeepCode Star DeepCode


🙏 致谢

感谢开源社区的每一位——你们的 star、issue、pull request 和讨论, 共同塑造了 DeepCode 的走向。

所有提交过 pull request 的贡献者都记录在 CONTRIBUTORS.md 中,其中也包含早于 v2.0 重构、 因而未体现在上方贡献图中的那些贡献。


📖 引用

如果 DeepCode 对您的研究有所帮助,请引用:

@misc{li2025deepcodeopenagenticcoding,
  title         = {DeepCode: Open Agentic Coding},
  author        = {Zongwei Li and Zhonghang Li and Zirui Guo and Xubin Ren and Chao Huang},
  year          = {2025},
  eprint        = {2512.07921},
  archivePrefix = {arXiv},
  primaryClass  = {cs.SE},
  url           = {https://arxiv.org/abs/2512.07921}
}

📄 许可证

MIT License

DeepCode 采用 MIT License
版权所有 © 2025 香港大学数据智能实验室。