DeepCode 提供 TUI、Desktop 和 Web 三种客户端,连接同一个本地共享后台,
共用 Project、Session 历史、模型、Skills、权限、Goals 与 Automations。
分别使用 deepcode、deepcode desktop 和 deepcode web 启动;安装及首次任务
见快速开始。
"AI智能体将创意转化为生产就绪代码的地方"
- 📰 最近更新
- 🧠 DeepCode 中的 Deep
- 💡 为什么选 DeepCode
- ⚡ 快速开始
- 🖥️ 选择客户端
- 📋 运行要求与支持平台
- 🚀 核心功能
- 🔒 安全与数据
- 📚 文档
- 🔬 研究起源
- 🎬 实时演示
- 🤝 参与贡献
- 💬 支持
- ⭐ 星标历史
- 🙏 致谢
- 📖 引用
- 📄 许可证
- 2026-11-02 — Goal 的"完成"更可信:智能体会提出检查清单,你确认后, DeepCode 在接受"完成"之前会自己运行这些命令;可在设置里打开独立审查,逐条核对 每项需求,每次验收结果都显示在 Goal 卡片上。Goal 可以设时间上限;卡住或原地 打转会自动停下;预算用完先收尾;DeepCode 重启后 Goal 会暂停。
- 2026-10-31 — Web 端长任务更好读(步骤折叠、Goal 结果卡片、长会话打开更快); 被拒绝的工具会说明是拒绝;终端界面中文按字换行、恢复运行中的会话不再重复; 中文界面不再出现英文;窄窗口下侧栏变成抽屉;Web 与 Desktop 界面更精致:统一字体, 控件和步骤各占一行,框和标签更少。
- 2026-10-29 — 可选的 microcompact:总结之前先清掉旧的工具输出
(
agents.defaults.microcompact);Goal 完成前的可选检查 (goal.completionVerifier);Web 客户端可以浏览文件夹;可选的风险检查 (DEEPCODE_RISK_EVALUATOR=1);项目 hook 需要批准 (deepcode hooks status/approve)。审批更清楚:TUI 会说明正在等你批准、 将改动什么;"始终允许"只覆盖同一类命令,不再是整个工具;信任文件夹前会先确认。
更早的更新
- 2026-10-28 — Agent 预设可以去掉工具、文件工具写 hook 前先询问、标出没有固定版本的 MCP 包
- 2026-10-21 — Windows 后台服务不再弹窗、代码可单独设字体,以及社区修复
- 2026-10-14 — 会话保住历史、沙箱更严,Desktop 与 Web 有了中文界面
- 2026-10-13 — 流式输出更顺、后台服务自我管理、Web 登录更安全
- 2026-10-12 — DeepCode v2.3.1:TUI 边输出边渲染 Markdown、Windows 后台服务不再自行退出、
/compact能压缩写代码的会话,以及社区修复 - 2026-10-10 — 更稳的终端界面:回答只显示一次、按键不丢草稿、
/compact不再抢跑 - 2026-09-28 — DeepCode v2.3.0:语音输入、Opper 与 Bedrock、Desktop 细节打磨,以及可选的安全加固
- 2026-09-09 — TUI、Desktop 与 Web 共用一个本地后台
- 2026-09-06 — DeepCode v2.2.0:Session 上下文窗口上限、会留下记忆的压缩,以及完整本地化的 Desktop
- 2026-09-03 — Desktop 目录竞态、更诚实的命令筛查、GLM-5.2 与两项依赖升级
- 2026-08-28 — 社区修复:插件凭据警告与更完整的简体中文 Desktop
- 2026-08-25 — 命令执行器堵上两个绕过
- 2026-08-23 — 五个经修复的贡献一起落地
- 2026-08-19 — 经得住恢复、压缩与第二个窗口的 Session
- 2026-08-18 — 运行时的上下文处理更稳,TUI 有了面孔
- 2026-08-17 — 对新设置与 TUI 工作的一轮审查修复
- 2026-08-16 — TUI 对每个裸命令都给出选择器
- 2026-08-15 — 设置长大了:新的设置对话框、声明式模型与更安全的配置
- 2026-08-14 — 子代理运行时、压缩与单向持久化
- 2026-08-13 — Desktop 的排版、主题与原生控件
- 2026-08-12 — 经审查的上游核心 Skills、MCP 模板目录、OAuth 与真实连接测试
- 2026-08-10 — 通用 MCP 运行时与可移植的本地 Plugins
- 2026-08-09 — Skills 有了真正的运行时契约
- 2026-08-07 — 思考强度控制、更多模型服务商、可调的 Desktop
- 2026-08-04 — 让 Skills 在每一种工作方式中保持一致
- 2026-08-03 — 🎉 DeepCode v2.0 正式发布
- 2026-07-31 — CLI 与 Desktop 共用统一执行模型
- 2026-07-21 — 持久化 Goals 与安全的 Session 生命周期
- 2026-07-20 — Session 级模型控制与共享 Skills
- 2026-07-17 — 持久化 Session 导航与回放
- 2026-07-10 — Loop Engineering 与并行 Agent
- 2026-07-08 — 通用 Coding Agent、持久化 Sessions 与记忆
- 2026-07-04 — Agent Harness 基础
- 更早的历史:旧版 README
全部更新见 CHANGELOG_ZH.md。
大多数 Coding Agent 都能生成代码。真正困难的是:理解一个真实项目、在正确的边界内完成修改、根据运行结果持续修正,并让用户清楚地知道结果为什么可信。
DeepCode 是一个面向真实软件工程的开源 Coding Agent。你可以把一个简单修改交给它,也可以给它一个需要持续数十个步骤的目标。它能够理解项目、操作代码、运行工具、验证结果,并在中断、重启或模型切换之后继续工作。
“Deep”代表四种贯穿任务始终的深度:
| 深度 | 对用户意味着什么 |
|---|---|
| Deep Context | 不只读取当前文件,还结合项目结构、工程规则、Skills、Session 历史和长期记忆理解任务。 |
| Deep Execution | 不只提出建议,而是实际搜索、编辑、运行命令、执行测试,并展示正在发生的工作。 |
| Deep Verification | 不把一段听起来合理的回答当作完成,而是使用测试、构建、诊断、Diff 和任务产物检查结果。 |
| Deep Continuity | 保存对话、决策、工具记录和验证证据,让任务可以跨时间、目录、客户端和模型继续。 |
DeepCode 最特别的地方可以归纳为三点:
- "完成"要经过验收。 智能体说 Goal 完成时,DeepCode 会自己运行你确认的检查清单;还可以开启独立审查,逐条用证据证明需求。没达标的完成声明会带着缺什么退回给智能体。
- 让长任务持续运行,同时始终可控。 Goal 不是一次性的提示词。你可以在运行中补充要求、修订目标、暂停、停止或继续,而不必丢掉已经完成的工作;卡住、预算或时间用完时,它也会自己停下。
- 每处改动都可以审查。 修改以 diff 呈现,敏感操作等你批准,每个 Goal 都保留工具调用和验收记录,让你看清结果为什么可信。
DeepCode 的目标不是让 Agent 显得更忙,而是帮助你更可靠地完成真正的软件工程工作。
- 不止回答一次。 给 Agent 一个 Goal,它会跨多个回合持续工作并检查结果, 直到报告完成或受阻;它说完成了,要先通过验收才算数。运行过程中可以补充要求、 修改 Goal、暂停或停止。
- 关掉客户端也不停。 回合在本地后台服务里运行,而不是在启动它的窗口里。 关掉 TUI,在浏览器里打开同一个会话,在那里处理待批准的操作。
- 一个会话,四种客户端。 TUI、Desktop、Web 和
deepcode exec读写同一批 项目、会话、模型、Skills 和权限设置。 - 能做什么由你决定。 文件夹要先信任,Agent 才会在里面工作。每个会话使用 Ask、Read only 或 Full access 之一;Ask 下 shell 命令在系统沙箱里运行;仓库 里的 hook 要经过你批准。可以用 14 个内置服务商、你自己的 OpenAI 或 Anthropic 兼容端点,或本地模型。
一个真实 Goal 完成后的网页客户端:智能体修好两个 bug 并补了测试, DeepCode 自己运行了确认过的检查,独立审查逐条证明需求后,Goal 才记为完成。
1. 安装。 使用 uv:
uv tool install --python 3.12 deepcode-hku
deepcode initdeepcode init 会创建 ~/.deepcode,并把默认访问权限设为 Ask。如果终端
找不到 deepcode,运行 uv tool update-shell 后重新打开终端。Windows 上可以用
winget install --id astral-sh.uv --exact 安装 uv。
2. 添加模型。 下面以 OpenRouter 为例,其他支持的服务商
用法相同。输入密钥时不会回显,密钥保存在 ~/.deepcode/credentials.json。
deepcode provider set my-openrouter --template openrouter --api-key
deepcode provider models my-openrouter --refresh
deepcode provider test my-openrouter --model MODEL_ID把 MODEL_ID 换成列表里的模型。在 Desktop 或 Web 中,也可以在
设置 → 模型 里完成同样的操作。
3. 在项目里运行。
cd /path/to/your-project
deepcode --trust --connection my-openrouter --model MODEL_ID每个项目只需要一次 --trust。之后在该目录运行 deepcode,用 /model 切换
模型。可以先试这样一个任务:
Explain how this project is organized and how to run its tests.
Do not change any files yet.
完整的分步教程见 Your first coding task。
所有客户端都连接同一个本地服务,在一个客户端里开始的会话可以在任何其他客户端 里继续。
| 客户端 | 启动命令 | 适合 |
|---|---|---|
| TUI | deepcode |
在终端里工作。见 The terminal UI。 |
| Web | deepcode web |
在浏览器里使用完整工作台(diff、文件、终端、Goal),同一次安装即可。见 Web client。 |
| Desktop | deepcode desktop |
同样的工作台,原生应用。目前需从源码运行,见下文。 |
| 无界面 | deepcode exec "<task>" |
在脚本或 CI 中运行一个回合;--json 以 NDJSON 输出事件。deepcode loop "<goal>" 运行 Goal。见 Headless and automation。 |
deepcode web --no-open 只打印登录链接,不打开浏览器。链接只能用一次,60 秒
后失效。
Releases 页面目前没有 Desktop 安装包。Desktop 需要从源码运行,并且需要 Node.js 22+、Rust(stable)以及对应平台的 Tauri 2 前置依赖:
git clone https://github.com/HKUDS/DeepCode.git
cd DeepCode
npm --prefix desktop ci
npm --prefix desktop run build:web
uv tool install --python 3.12 --force .
deepcode init
deepcode desktop首次启动会构建应用所需资源,需要几分钟;Desktop 运行期间请保持终端开启。 Windows 工具链和排错见 Desktop 指南。
启动任何客户端时,如果服务没在运行就会自动启动。关闭客户端后,已接受的工作 继续运行;待批准的操作会等你处理,电脑需要保持唤醒。
| 要做的事 | 命令 |
|---|---|
| 查看是否在运行 | deepcode service status |
| 查看最近日志 | deepcode service logs --lines 100 |
| 等当前工作完成后停止 | deepcode service stop --drain --timeout 60 |
| 登录系统时自动启动 | deepcode service install --at-login |
升级与备份:Upgrading DeepCode。 遇到问题:Troubleshooting。
| Python | 3.12 或更高(CI 测试 3.12、3.13、3.14) |
| 操作系统 | macOS、Linux、Windows |
| 工具 | Git,用于审阅改动和 worktree。Linux 上的命令沙箱需要 bubblewrap(bwrap)。 |
| 模型 | 一个支持的服务商的 API key,或本地 Ollama、vLLM 服务。模型需要支持工具调用,可用 deepcode provider test <id> --agent 检查。 |
| Web 客户端 | 同一台电脑上的新版浏览器 |
| Desktop | Node.js 22+、Rust 和 Tauri 前置依赖(源码构建) |
- 在仓库里干活。 读取、搜索、编辑文件,应用补丁,运行命令和测试,每处改动 都以 diff 呈现。Getting started
- Goal。 在 TUI 中用
/goal <objective>,在 Desktop 和 Web 中用 Goal 面板。 Goal 跨回合继续,重启后仍然保留。完成要经过验收:DeepCode 运行你确认的检查清单, 还可以开启独立审查逐条证明需求(设置 → 通用)。token 预算或时间上限可以给它 设边界。Goals and automation - 会话与上下文。 每个会话连同工具调用、批准记录和 Goal 状态一起保存。
/resume、/compact和会话级上下文上限让长任务能继续下去。 Sessions - 项目说明与记忆。 读取
AGENTS.md和CLAUDE.md,项目笔记保存在.deepcode/memory/。Skills and memory - 模型与服务商。 命名连接、按会话选择模型和推理强度,使用前可检查连接。 Models and providers
- Skills 与插件。 从
.agents/skills和~/.agents/skills加载可复用的 说明,内置 8 个 Skills 和一个 Skill 创建器。插件可以打包 Skills 和 MCP 服务器。 Skills · Local plugins - MCP。 支持 stdio、SSE 和 Streamable HTTP 服务器,内置模板目录和 OAuth
登录。
deepcode mcp serve把 DeepCode 本身作为 MCP 服务器提供。 MCP guide - Agent 预设与子代理。 预设设定角色并收窄可用工具。子代理可以在独立的 Git worktree 里工作。Configuration
- 自动化。 按计划运行保存好的指令,使用同样的 Agent、权限和历史记录。 Automations
- 语音输入。 Desktop 和 Web 的输入框可选开启听写。 Voice dictation
- Paper2Code。 把论文或技术文档变成代码库。Paper2Code
内置模板:OpenRouter、Requesty、Opper、Forge、Amazon Bedrock、Anthropic、
OpenAI、DeepSeek、Gemini、智谱 AI(Zhipu AI)、DashScope、MiniMax、Ollama 和
vLLM。Custom 连接可以指向任何支持 OpenAI Chat Completions、OpenAI Responses
或 Anthropic Messages API 的端点。deepcode provider list 会列出它们以及哪些
已经可用。
- 数据留在你的电脑上。 设置、会话、状态和日志都在
~/.deepcode(或$DEEPCODE_HOME)下,项目笔记在<project>/.deepcode/memory/。DeepCode 没有账号系统,也不发送任何统计数据。 - 本地服务。 后台服务只监听
127.0.0.1(默认端口 3081,被占用时换一个空闲 端口)。原生客户端用私有令牌认证,Web 客户端用一次性链接登录。 - 项目信任。 Agent 不会在未信任的文件夹里运行。项目自己的配置不能选择 Full access、关闭沙箱或改变模型请求的去向。
- 访问预设与批准。 Ask 在编辑和执行命令前询问,并在系统沙箱里运行 shell
命令;Read only 拒绝一切改动;Full access 去掉批准和沙箱。你设置的
deny规则在所有预设下都生效。 - Hooks。 仓库声明的 hook 要经你批准才会运行;改动过的 hook 要等
deepcode hooks approve。 - 凭据。 API key 保存在
~/.deepcode/credentials.json,只有当前用户可读, 不会返回给任何客户端。shell 命令也看不到这些密钥。 - 模型服务商会收到什么。 系统提示词、项目说明、工具定义、对话内容和工具结果
(文件内容、命令输出)会发送到你所选连接的端点。
providers.egress可以限制 允许的主机。使用本地模型时,所有内容都留在本机。
详情见 Security and data。报告安全漏洞请看 SECURITY.md。
| 主题 | 指南 |
|---|---|
| 第一个任务,分步说明 | Getting started |
| 终端界面的按键与命令 | The terminal UI |
| 恢复、压缩和管理会话 | Sessions |
| 服务商、本地模型、推理强度 | Models and providers |
| 项目说明、记忆、Skills | Skills and memory |
| Goal、自动化、无界面运行 | Goals and automation |
| 配置文件与环境变量 | Configuration |
| 数据、沙箱、批准 | Security and data |
| 启动和连接问题 | Troubleshooting |
| 脚本、CI 与管理命令 | Headless and automation |
| MCP 服务器 | MCP guide |
| 后台服务 | Local background service |
| 升级与备份 | Upgrading DeepCode |
| 从源码运行 Desktop | Desktop 指南 |
| Paper2Code | Paper2Code |
DeepCode 起源于 Paper2Code:一个把研究论文变成可运行代码的多智能体系统。在 PaperBench 的人类专家子集上,它取得 75.9%,高于论文报告的最佳人类基线(72.4%)。方法见论文 DeepCode: Open Agentic Coding。Paper2Code 仍可在 Desktop 和 Web 中使用,见 Paper2Code。
下面的录像展示了早期 DeepCode 工作流生成的项目结果。它们是输出案例, 不是当前 Desktop 界面的截图。
|
从研究到实现
将研究论文复现为可以执行的工程项目。 |
图像工作流案例
查看早期 DeepCode 生成的图像处理工作流。 |
前端实现案例
从想法开始,查看完整前端项目的实现结果。 |
DeepCode V2 介绍视频提供更完整的产品说明。
开发环境、检查项和 PR 规范见 CONTRIBUTING.md。所有提交过 PR 的贡献者都列在 CONTRIBUTORS.md 中。
- 问题反馈与功能建议:GitHub Issues
- 安全漏洞:SECURITY.md
- 社区:飞书群和微信群见 HKUDS 主页
感谢开源社区的每一位——你们的 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}
}DeepCode 采用 MIT License。
版权所有 © 2025 香港大学数据智能实验室。






