Skip to content

Latest commit

 

History

History
614 lines (463 loc) · 31.1 KB

README_ZH.md

File metadata and controls

614 lines (463 loc) · 31.1 KB
DeepCode Logo
    ██████╗ ███████╗███████╗██████╗  ██████╗ ██████╗ ██████╗ ███████╗
    ██╔══██╗██╔════╝██╔════╝██╔══██╗██╔════╝██╔═══██╗██╔══██╗██╔════╝
    ██║  ██║█████╗  █████╗  ██████╔╝██║     ██║   ██║██║  ██║█████╗
    ██║  ██║██╔══╝  ██╔══╝  ██╔═══╝ ██║     ██║   ██║██║  ██║██╔══╝
    ██████╔╝███████╗███████╗██║     ╚██████╗╚██████╔╝██████╔╝███████╗
    ╚═════╝ ╚══════╝╚══════╝╚═╝      ╚═════╝ ╚═════╝ ╚═════╝ ╚══════╝
HKUDS%2FDeepCode | Trendshift HKUDS%2FDeepCode | Trendshift

DeepCode Logo DeepCode: 开源智能体编程

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

官网 — hkuds.github.io/DeepCode

🖥️ 界面展示

🖥️ DeepCode Desktop

DeepCode Desktop 编程智能体演示

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

DeepCode 提供 TUI、Desktop 和 Web 三种客户端,连接同一个本地共享后台, 共用 Project、Session 历史、模型、Skills、权限、Goals 与 Automations。 分别使用 deepcode、deepcode desktop 和 deepcode web 启动;安装及首次任务 见快速开始。


🎬 介绍视频

🎯 观看 DeepCode V2 介绍 - 100 秒看完长程任务、循环工程、Agent Harness 与自我进化

Watch Video


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


📑 目录

DeepCode 的整体结构:TUI、桌面、网页和脚本连到同一个本地服务,服务里的智能体运行环境用你选择的模型在你的项目里工作


最近更新

  • 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。


DeepCode 中的 Deep

大多数 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 显得更忙,而是帮助你更可靠地完成真正的软件工程工作。


为什么选 DeepCode

  • 不止回答一次。 给 Agent 一个 Goal,它会跨多个回合持续工作并检查结果, 直到报告完成或受阻;它说完成了,要先通过验收才算数。运行过程中可以补充要求、 修改 Goal、暂停或停止。
  • 关掉客户端也不停。 回合在本地后台服务里运行,而不是在启动它的窗口里。 关掉 TUI,在浏览器里打开同一个会话,在那里处理待批准的操作。
  • 一个会话,四种客户端。 TUI、Desktop、Web 和 deepcode exec 读写同一批 项目、会话、模型、Skills 和权限设置。
  • 能做什么由你决定。 文件夹要先信任,Agent 才会在里面工作。每个会话使用 Ask、Read only 或 Full access 之一;Ask 下 shell 命令在系统沙箱里运行;仓库 里的 hook 要经过你批准。可以用 14 个内置服务商、你自己的 OpenAI 或 Anthropic 兼容端点,或本地模型。

一个真实 Goal 完成后的 DeepCode 网页客户端:智能体修好了代码并补了测试,Goal 卡片上是通过的验收结果,逐条列出需求和证据

一个真实 Goal 完成后的网页客户端:智能体修好两个 bug 并补了测试, DeepCode 自己运行了确认过的检查,独立审查逐条证明需求后,Goal 才记为完成。

快速开始

1. 安装。 使用 uv:

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

deepcode 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 中,也可以在 设置 → 模型 里完成同样的操作。

DeepCode 设置里的模型连接

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 秒 后失效。

Desktop

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 前置依赖(源码构建)

核心功能

一个 Goal 如何走到完成:多个回合的工作、完成声明,然后是规则检查、你确认的检查和独立审查;只要还缺东西,声明就被打回

  • 在仓库里干活。 读取、搜索、编辑文件,应用补丁,运行命令和测试,每处改动 都以 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 PaperBench 结果

🎬 实时演示

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

📄 Paper2Code

从研究到实现

Paper2Code 演示

▶ 观看演示

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

🖼️ 生成式视觉项目

图像工作流案例

生成的图像处理项目

▶ 观看演示

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

🌐 生成式 Web 项目

前端实现案例

生成的前端项目

▶ 观看演示

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

DeepCode V2 介绍视频提供更完整的产品说明。


参与贡献

开发环境、检查项和 PR 规范见 CONTRIBUTING.md。所有提交过 PR 的贡献者都列在 CONTRIBUTORS.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 香港大学数据智能实验室。