DeepCode

HKUDSMIT活跃维护

把 LLM 变成能自主写代码的智能体,提供 Agent Harness、循环工程和多智能体编排,让编码任务自动拆解执行。

"DeepCode: Open Agentic Coding (Agent Harness & Loop Engineering & Multi-Agent Orchestration)"

v2.3.1发布于 2026-10-12 10:09 UTC16,834star +16 / 7 天2,195fork同步于 2026-11-10 05:24 UTC

怎么上手

由 README 提炼,执行前请确认
uv tool install --python 3.12 deepcode-hku
deepcode init
deepcode provider set my-openrouter --template openrouter --api-key
硬件要求按 README 说明

README 未说明显存要求;可连接本地 Ollama 或 vLLM 服务,因此有 GPU 更佳,但未给出具体型号或显存数字。支持 macOS、Linux、Windows,需 Python 3.12+。

下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

港大开源的多智能体编码代理,用目标循环和工具编排把想法变成可运行代码

把 LLM 变成能自主写代码的智能体,提供 Agent Harness、循环工程和多智能体编排,让编码任务自动拆解执行。

核心能力

  • 用 Goal 循环驱动长任务,自动完成工作轮次、完成声明与规则校验
  • TUI、Web、Desktop 三种客户端共享同一本地服务与会话历史
  • 支持 headless 模式,用 deepcode exec 在脚本或 CI 中跑单轮任务
  • 内置命令沙箱与权限确认机制,Linux 下用 bubblewrap 隔离命令
  • 可接入 OpenRouter 等云端提供商或本地 Ollama、vLLM 服务

容易踩的坑

模型必须支持 tool calling,可用 deepcode provider test --agent 验证;每个项目首次运行需加 --trust 参数;Desktop 暂无安装包,需从源码构建并依赖 Node.js 22+、Rust 和 Tauri 2 前置条件。

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

5 个版本v2.3.1
  1. v2.3.1最新正式版2026-10-12 · 2026-10-12 10:09 UTC

    DeepCode v2.3.1 is a stability release for the terminal UI on the shared background service. Answers now appear once and render as Markdown while they stream, the TUI survives a slow or restarted service, /compact works on coding sessions, and the background service no longer stops right after starting on Windows installs in a virtual environment. It also includes five community fixes and dependency security updates.

    Highlights

    • Answers shown once, rendered as Markdown. The TUI no longer prints an answer a second time when it finishes, and a stopped answer keeps the text already shown. Headings, lists, bold text and tables are formatted as each line completes; code blocks are not indented or wrapped by DeepCode, so they copy back exactly; links show their address; and the line still being written is previewed above the status line. /raw prints answers exactly as written. The reasoning card comes before the answer, Ctrl+O mid-answer no longer repeats or drops lines, and text such as root:x:0 or :smile: is no longer turned into emoji. See The terminal UI.
    • A TUI that keeps working. A failed request, an unrenderable event, or a restarted service no longer closes the TUI; /reconnect starts the service again when needed. Typing, completion, Enter and Ctrl+C stay responsive while the service is busy, and a slow answer is reported instead of retried three times. Esc interrupts only from an empty prompt and Ctrl+C first clears your draft, so a message you are typing is never lost or sent by accident.
    • Settings that stay current. Default model and access changes show up in the TUI, /new follows your defaults, an approval answered in another client is announced, and /goal clear out … sets a new objective instead of clearing the Goal.
    • /compact that works on coding sessions. Compaction runs in its Session's turn, so a message sent meanwhile waits for the summary and the next reply does not start with a failed request. Tool-call arguments, such as the file a write_file call carries, now count, so a session that wrote large files compacts instead of being refused as "would not shrink". A refusal says why. (#258)
    • The Windows service stays up. On a Windows install in a virtual environment, the background service stopped right after it reported ready, whichever of the TUI, deepcode service start, or deepcode web launched it. It now stays up.
    • Community fixes. Diff lines that contain a Unicode line separator or a form feed stay whole (#253); web fetch refuses private addresses tunnelled through NAT64 or IPv4-compatible IPv6 (#254); the destructive-command screen also catches absolute paths such as /bin/rm -rf / (#255); and glob finds files when the project sits under a directory named build or venv (#256).
    • Security updates. pypdf, PyJWT, urllib3, and multidict move to patched releases.

    Upgrading

    pip install -U deepcode-hku, then deepcode service restart so the background service runs the new version. The TUI tells you when the client and the service versions differ.

    Thanks

    This release includes contributions from @KennyMcSimpson, @raymondginger2018-sudo, @D41910, and @liuzhengyang699, and @raymondginger2018-sudo and @rifkir23 tracked down the cause of the failing Windows CI job. Thank you.

    Full changelog: https://github.com/HKUDS/DeepCode/compare/v2.3.0...v2.3.1


    DeepCode v2.3.1 是一次针对共享后台服务下终端界面的稳定性更新:回答只显示一次,并且边输出边渲染成 Markdown;后台服务变慢或重启时 TUI 照常工作;/compact 能压缩写代码的会话;在 Windows 上把 DeepCode 装在虚拟环境里时,后台服务不再刚启动就退出。本版本还包含五项社区修复和依赖的安全更新。

    亮点

    • 回答只显示一次,并渲染成 Markdown。 回答结束时,TUI 不再把整段重新打印一遍;被中断的回答会保留已经输出的文字。标题、列表、粗体和表格在每行写完时排好;代码块不缩进,DeepCode 也不会给它折行,复制出来和原文一致;链接显示完整地址;还没写完的那一行先在状态行上方预览。/raw 按原文输出。推理卡片显示在回答之前;回答途中按 Ctrl+O 不会再重复或丢行;root:x:0、:smile: 这类文字不再被替换成表情。参见终端界面指南(英文)。
    • TUI 不再轻易中断。
  2. v2.3.02026-09-28 · 2026-09-28 08:11 UTC
    查看更新说明

    DeepCode v2.3.0 runs the TUI, Desktop, and a new browser client on one local background service, so work you start in one interface keeps running and can be followed and approved from another. It adds voice dictation, Opper and Amazon Bedrock, correct DeepSeek V4 numbers, and a set of opt-in protections for model traffic that passes through a relay. It also fixes a SQLite locking bug behind occasional "database disk image is malformed" errors and folds in three weeks of community work.

    Highlights

    • One local service, three interfaces. deepcode, deepcode desktop, and the new deepcode web all connect to the same local background service. Closing a client leaves running work in the background; reconnect from another interface to follow the conversation and answer approvals. Model connections you save work in all three, and you can test streaming and tool calls before relying on a custom server. Manage the service with deepcode service. (#212)
    • Dictate your prompt. Add a dictation block to your config and the Desktop and Web composer gains a microphone. Speech is transcribed by a Parakeet server or the local parakeet-mlx command and inserted at the cursor for you to review. (#240)
    • More providers, truer numbers. Opper (one EU-hosted, OpenAI-compatible key for many vendors) and Amazon Bedrock join the templates, and DeepSeek V4 models use their own 1M-token window and pricing instead of V3's. (#242, #208, #249)
    • Desktop polish. Drag the conversation's edge to resize it, import a VS Code color theme, and pick from fonts that are actually installed. (#238, #207, #239)
    • Opt-in hardening for relayed model traffic. providers.egress limits which hosts receive your prompts; DEEPCODE_COMMAND_SCREEN=strict refuses piped remote scripts, unknown package indexes, and look-alike package names; DEEPCODE_BASH_SCRUB_ENV=1 keeps provider keys out of shell commands; DEEPCODE_TRANSPARENCY_LOG=1 makes the LLM log tamper-evident; DEEPCODE_KEYRING=1 reads keys from the OS keychain. All are off by default. The legacy command executor now applies the destructive-command screen as well, and each session logs its resolved permission posture. (#228–#232, #246)
    • Leaner memory, clearer signals. MEMORY.md can be a short index of topic files that the agent reads on demand, kept deduplicated and within budget; mcp list flags servers worth a second look; the agent gets a one-time reminder when a call keeps returning the same result; a misspelled tool name gets a "did you mean"; python -m core.observability.llmops summarizes cost and latency; and schedules can skip the model call when nothing they watch has changed. (#233, #241, #247, #215, #221, #227)
    • Steadier everywhere. The state database no longer drops its SQLite locks when several DeepCode processes share it; the memory data boundary now catches every spelling of its closing tag; and Windows fixes landed for GBK consoles, .git/info/exclude, private-storage permissions, and the entry point. (#243, #210, #237, #235, #236)

    Upgrading

    pip install -U deepcode-hku. From this release on, deepcode service prepare-upgrade --output <path> stops the background service and snapshots its state before an upgrade; see Upgrading DeepCode.

    Thanks

    This release includes contributions from @Dev-next-gen, @EduCosta85, @Felixkw12, @lihuiyang1024, and @raymondginger2018-sudo — thank you.

    Full changelog: https://github.com/HKUDS/DeepCode/compare/v2.2.0...v2.3.0


    DeepCode v2.3.0 让 TUI、Desktop 和新增的浏览器客户端共用一个本地后台服务:在一个界面里开始的任务会在后台继续运行,并能在另一个界面里跟进和审批。本版本新增语音输入、Opper 与 Amazon Bedrock 模板、正确的 DeepSeek V4 参数,以及一组针对经过中转的模型流量、需要主动开启的防护。它还修复了一个 SQLite 锁的问题(此前偶发"database disk image is malformed"错误的原因),并合入了三周来的社区贡献。

    亮点

    • 一个本地服务,三种界面。 deepcode、deepcode desktop 与新增的 deepcode web 都连接同一个本地后台服务。关闭客户端后,正在运行的工作留在后台;从另一个界面重新连接,即可继续跟进对话、回应审批。保存的模型连接在三种界面通用,使用自定义服务前可以先测试流式输
  3. v2.2.02026-09-06 · 2026-09-06 10:17 UTC
    查看更新说明

    DeepCode v2.2.0 makes long sessions dependable and puts the model under your control: sessions survive resume, compaction, and a second window; settings, models, and reasoning are declared rather than guessed; sub-agents and MCP servers start when needed and stop cleanly; and the Desktop speaks Simplified Chinese. It also folds in a month of community fixes and security hardening.

    Highlights

    • Sessions that hold up. Resuming a session restores what the agent did, not only what it said; compaction keeps the recent tail and can be triggered on demand with /compact; context pressure is measured from the provider's own usage; and two windows on one session no longer crash each other — one live writer per session, enforced.
    • Your models, declared. A dsh-style settings dialog with per-model declarations (context window, capacities, reasoning ladder), live model discovery per connection, a Session-level context-window cap (/context 64k), and keys that reach exactly the requests they were resolved for.
    • A terminal that reads like an app. Every bare command opens a selector, the TUI has a status line and tool cards, and a new turn no longer discards the prompt cache.
    • Sub-agents and MCP, on demand. Delegate to Codex or Claude Code as sub-agents, hold follow-up conversations with native ones, activate MCP servers lazily, and let hooks see the whole lifecycle (SessionEnd, PreCompact).
    • Memory with boundaries. Compaction leaves a note in workspace memory, and injected memory content sits inside an escaped <untrusted-data> boundary, so a poisoned note cannot forge instructions.
    • Desktop in Simplified Chinese, eight themes including a high-contrast one, an appearance scale that actually resizes the app, and a project switch that no longer strands the MCP catalog.
    • Hardening. Command-executor bypasses closed, native file operations routed through the sandbox, Windows private files protected by a fail-safe ACL, Plugin manifests warned about plaintext credentials, and dependency advisories (pip, pypdf, browserslist) cleared.

    Thanks

    This release includes contributions from @atirna, @lihuiyang1024, @rifkir23, @MarkHe1222, @imshunsuke, and @raymondginger2018-sudo — thank you.

    Full changelog: https://github.com/HKUDS/DeepCode/compare/v2.1.0...v2.2.0


    DeepCode v2.2.0 让长会话变得可靠,并把模型真正交到你手里:Session 经得住恢复、压缩和第二个窗口;设置、模型与推理档位改为显式声明而非猜测;子代理与 MCP 服务器按需启动、干净退出;Desktop 说简体中文。同时合入了一个月的社区修复与安全加固。

    亮点

    • 站得住的 Session。 恢复会话时找回的是 Agent 做过什么而不只是说过什么;压缩保留最近的尾部,也可用 /compact 按需触发;上下文压力按服务商报告的真实用量测量;同一 Session 开两个窗口不再互相崩溃——每个 Session 只有一个活跃写入者,由系统锁保证。
    • 你的模型,显式声明。 dsh 风格的设置对话框,逐模型声明(上下文窗口、容量、推理档位),每个连接可实时发现模型,Session 级上下文上限(/context 64k),密钥只到达为它解析的请求。
    • 像应用而不是日志的终端。 每个裸命令都打开选择器,TUI 有状态行与工具卡片,新的 Turn 不再丢掉提示缓存。
    • 按需的子代理与 MCP。 可把任务委派给 Codex 或 Claude Code 子代理,与原生子代理进行后续对话,MCP 服务器懒启动,Hooks 看得到完整生命周期(SessionEnd、PreCompact)。
    • 有边界的记忆。 压缩会在工作区记忆里留下一条笔记;注入的记忆内容包在转义过的 <untrusted-data> 边界里,被投毒的笔记无法伪造指令。
    • 简体中文的 Desktop,八套主题(含高对比度),真正缩放整个应用的字号偏好,以及切换项目不再让 MCP 目录卡住。
    • 安全加固。 堵上命令执行器的绕过,原生文件操作走沙箱,Windows 私有文件获得 fail-safe 的 ACL,插件清单对明文凭据发出警告,并清除了 pip、pypdf、browserslist 的依赖公告。

    致谢

    本版本包含来自 @atirna、@lihuiyang1024、@rifkir23、@MarkHe1222、@imshunsuke 与 @raymondginger2018-sudo 的贡献——谢谢你们。

  4. v2.1.02026-08-12 · 2026-08-12 09:41 UTC
    查看更新说明

    DeepCode v2.1.0 unifies Skills, Agent Plugins, and MCP across CLI, TUI, and Desktop. It includes reviewed upstream Skills, a managed MCP catalog with OAuth and real connection tests, portable local Plugins, and verified packaged-runtime resources.

    What's Changed

    New Contributors

    Full Changelog: https://github.com/HKUDS/DeepCode/compare/v2.0.0...v2.1.0

  5. v2.0.02026-08-03 · 2026-08-03 13:36 UTC
    查看更新说明

    After continuous iteration, HKUDS DeepCode v2 is officially released 🚀 An open-source, general-purpose Coding Agent built for real-world software engineering.

    Coding Agents are becoming increasingly capable of generating high-quality code. However, developers still face several recurring problems in real projects:

    • ⏸️ Complex tasks stop halfway and require repeated prompts to continue
    • 🧪 Code appears complete, but tests, builds, and runtime behavior are not actually verified
    • 🔁 Regression checks, test repairs, documentation updates, and repository maintenance must be initiated manually each time

    DeepCode v2 is designed to reduce this repeated communication and manual work.

    Instead of only generating code, it helps developers continuously move tasks forward inside real repositories until the results are verified and ready for review.

    What is new in DeepCode v2:

    • 🔄 Loop Engineering DeepCode continuously understands, implements, verifies, and repairs work around a natural-language Goal. It does not stop after producing a single response, but keeps progressing based on real execution results.

    • 🎛️ Control throughout execution Developers can add requirements, revise the Goal, pause, resume, or change direction while the Agent is running, without losing work that has already been completed.

    • ✅ Verified delivery DeepCode actually runs commands, tests, and builds, and delivers results together with code changes and execution evidence, making them easier to review, validate, and merge.

    • 🤖 Personalized Automation Developers can create project-specific tasks using natural language and run them manually or on a schedule for regression checks, test repairs, documentation synchronization, and repository maintenance.

    • 💻 Unified CLI and Desktop experience The same project, Session, Goal, and execution history can be continued across both CLI and Desktop, reducing context loss when switching tools.

    We hope DeepCode v2 helps open-source developers and engineering teams spend more time on meaningful design, decision-making, and creation—and less time repeatedly prompting Agents, rechecking results, or explaining the same task again.

    Less prompting. More completed work.

    Try DeepCode v2, share your feedback, open an Issue, or join us in building it together. 🚀

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    DeepCode: Open Agentic Coding

    Advancing Code Generation with Multi-Agent Systems

    🖥️ Interface Showcase

    🖥️ DeepCode Desktop

    Work with DeepCode in a visual workspace for Sessions, goals, tool activity, code changes, and verification.

    DeepCode provides TUI, Desktop, and Web clients over one shared local service. They share Projects, Session history, models, Skills, permissions, Goals, and Automations. Use deepcode, deepcode desktop, or deepcode web; see Quick start for installation and your first task.


    🎬 Introduction Video

    🎯 Watch the DeepCode V2 introduction - Long-horizon tasks, loop engineering, the agent harness, and self-evolution in 100 seconds


    "Where AI Agents Transform Ideas into Production-Ready Code"


    📑 Table of Contents


    What's new

    • 2026-11-02 — Goals you can trust to finish: the agent proposes a checklist, and once you confirm it DeepCode runs those commands itself before it accepts "complete"; an optional independent reviewer checks every requirement, switched on in Settings, and each check is shown on the Goal card. A Goal can have a time limit, stops when it is stuck or keeps repeating itself, wraps up when its budget runs out, and pauses when DeepCode restarts.
    • 2026-10-31 — Long tasks read better on the Web (folded steps, a Goal outcome, faster long Sessions), declined tools say so, the terminal UI wraps Chinese text and resumes a running Turn cleanly, the Chinese interface has no stray English, the sidebar becomes a drawer on a narrow window, and the Web and Desktop interface is calmer: one typeface, one-line controls and steps, and fewer boxes and labels.
    • 2026-10-29 — Optional microcompact that clears old tool output before summarizing (agents.defaults.microcompact), an optional check before a Goal completes (goal.completionVerifier), folder browsing in the Web client, an opt-in risk check (DEEPCODE_RISK_EVALUATOR=1), and approval for project hooks (deepcode hooks status / approve). Clearer approvals: the TUI shows when it waits for you and what will change, "always allow" covers one kind of command instead of the whole tool, and trusting a folder asks first.
    • 2026-10-28 — Agent presets that remove tools, file tools that ask before writing hooks, and unpinned MCP packages flagged
    • 2026-10-21 — A quiet Windows service, a separate code font, and community fixes
    • 2026-10-14 — Sessions that keep their history, a tighter sandbox, and the Desktop and Web apps in Chinese
    • 2026-10-13 — Smoother streaming, a self-managing background service, and safer Web sign-in
    • 2026-10-12 — DeepCode v2.3.1: Markdown answers in the TUI, a Windows service that stays up, /compact for coding sessions, and community fixes
    • 2026-10-10 — A steadier terminal UI: answers shown once, keys that keep your draft, and an orderly /compact
    • 2026-09-28 — DeepCode v2.3.0: voice dictation, Opper and Bedrock, Desktop polish, and opt-in hardening
    • 2026-09-09 — TUI, Desktop, and Web share one local background service
    • 2026-09-06 — DeepCode v2.2.0: Session context-window caps, compaction that leaves a memory, and a fully localized Desktop
    • 2026-09-03 — Desktop catalog race, an honest command screen, GLM-5.2, and two dependency bumps
    • 2026-08-28 — Community fixes: plugin credential warnings and a wider zh-CN Desktop
    • 2026-08-25 — Command executors close two bypasses
    • 2026-08-23 — Five repaired contributions land together
    • 2026-08-19 — Sessions that survive resume, compaction, and a second window
    • 2026-08-18 — Steadier context handling in the runtime, and the TUI gets a face
    • 2026-08-17 — Fixes from a review pass over the new settings and TUI work
    • 2026-08-16 — The TUI answers every bare command with a selector
    • 2026-08-15 — Settings grow up: a new settings dialog, declared models, and a safer config
    • 2026-08-14 — Subagent runtime, compaction, and one-way persistence
    • 2026-08-13 — Desktop typography, themes, and native controls
    • 2026-08-12 — Reviewed upstream core Skills, a managed MCP catalog, OAuth, and real connection checks
    • 2026-08-10 — Generic MCP runtime and portable local Plugins
    • 2026-08-09 — Skills now have a real runtime contract
    • 2026-08-07 — Thinking controls, more providers, and a Desktop you can tune
    • 2026-08-04 — Skills that work wherever you do
    • 2026-08-03 — 🎉 DeepCode v2.0 is here
    • 2026-07-31 — One execution model across CLI and Desktop
    • 2026-07-21 — Durable Goals and safe Session lifecycle
    • 2026-07-20 — Session-level model control and shared Skills
    • 2026-07-17 — Durable Session navigation and replay
    • 2026-07-10 — Loop Engineering and parallel agents
    • 2026-07-08 — General coding agent, durable Sessions, and memory
    • 2026-07-04 — Agent Harness foundation
    • Earlier history: legacy README

    All changes: CHANGELOG.md.


    What Deep means in DeepCode

    Most Coding Agents can generate code. The hard part is understanding a real project, making changes within the right boundaries, continuously correcting course from runtime results, and making it clear why the outcome can be trusted.

    DeepCode is an open-source Coding Agent for real software engineering. Give it a simple change or a goal that takes dozens of steps. It can understand the project, work on the code, run tools, verify results, and continue after an interruption, restart, or model switch.

    “Deep” represents four kinds of depth that remain with the task from start to finish:

    DepthWhat it means for you
    Deep ContextUnderstand the task through project structure, engineering rules, Skills, Session history, and long-term memory.
    Deep ExecutionSearch, edit, run commands, and execute tests instead of stopping at suggestions—and show the work as it happens.
    Deep VerificationCheck results with tests, builds, diagnostics, Diffs, and task Artifacts rather than treating a plausible answer as done.
    Deep ContinuityPreserve conversations, decisions, tool records, and evidence across time, directories, clients, and model changes.

    DeepCode stands out in three ways:

    • Done means checked. When the agent says a Goal is complete, DeepCode runs the checklist you confirmed itself, and an optional independent reviewer proves each requirement with evidence. A claim that falls short goes back to the agent with what is missing.
    • Keep long tasks moving while staying in control. A Goal is not a one-shot prompt. Add requirements, revise the Goal, pause, stop, or continue while the task is running without losing completed work. It also stops on its own when it is stuck, out of budget or out of time.
    • Every change can be reviewed. Edits show as diffs, sensitive actions wait for your approval, and each Goal keeps its tool calls and checks, so you can see why the outcome can be trusted.

    DeepCode is not designed to make an Agent look busier. It is designed to help you finish real software engineering work more reliably.


    Why DeepCode

    • Work that outlasts one answer. Give the agent a Goal and it keeps working across turns, checking its results, until it reports the Goal complete or blocked, and a completion claim is checked before it counts. You can add requirements, edit the Goal, pause or stop it while it runs.
    • Keeps running when you close the client. Turns run in a local background service, not in the window you started them from. Close the TUI, reopen the session in the browser, and answer the pending approval there.
    • One session, four clients. The TUI, Desktop, Web and deepcode exec read and write the same projects, sessions, models, Skills and permissions.
    • You decide what it may do. A folder must be trusted before the agent works in it. Each session runs under Ask, Read only or Full access, shell commands run in an OS sandbox under Ask, and repository hooks need your approval. Use any of 14 built-in providers, your own OpenAI- or Anthropic-compatible endpoint, or a local model.

    Quick start

    1. Install. With uv:

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

    deepcode init creates ~/.deepcode and sets the default access to Ask. If your shell cannot find deepcode, run uv tool update-shell and open a new terminal. On Windows, install uv with winget install --id astral-sh.uv --exact.

    2. Add a model. This example uses OpenRouter; any supported provider works the same way. The key is read without echo and stored in ~/.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
    

    Replace MODEL_ID with a model from the list. In Desktop or Web you can do the same under Settings → Models.

    3. Run it in a project.

    cd /path/to/your-project
    deepcode --trust --connection my-openrouter --model MODEL_ID
    

    --trust is needed once per project. Later, run deepcode in that folder and use /model to switch models. Try a first task:

    Explain how this project is organized and how to run its tests.
    Do not change any files yet.
    

    The step-by-step tutorial is Your first coding task.

    Choosing a client

    All clients connect to the same local service, so a session started in one can be continued in any other.

    ClientStart withUse it for
    TUIdeepcodeWorking in the terminal. See The terminal UI.
    Webdeepcode webThe full workbench (diffs, files, terminal, Goals) in your browser, from the same install. See Web client.
    Desktopdeepcode desktopThe same workbench as a native app. Runs from a source checkout for now, see below.
    Headlessdeepcode exec "<task>"One turn from a script or CI job; --json prints events as NDJSON. deepcode loop "<goal>" runs a Goal. See Headless and automation.

    deepcode web --no-open prints the sign-in link instead of opening a browser. The link works once and expires after 60 seconds.

    Desktop

    There are no Desktop installers on the Releases page yet. Desktop runs from a source checkout and needs Node.js 22+, Rust (stable) and the Tauri 2 prerequisites for your platform:

    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
    

    The first launch builds the app's resources and takes a few minutes; keep the terminal open while Desktop runs. Windows toolchains and troubleshooting are in the Desktop guide.

    The background service

    Starting any client starts the service if it is not running. Closing a client leaves accepted work running; pending approvals wait for you, and the computer must stay awake.

    TaskCommand
    Check whether it is runningdeepcode service status
    Read recent logsdeepcode service logs --lines 100
    Stop after current work finishesdeepcode service stop --drain --timeout 60
    Start it when you log indeepcode service install --at-login

    Upgrades and backups: Upgrading DeepCode. Problems: Troubleshooting.

    Requirements and platforms

    Python3.12 or later (CI tests 3.12, 3.13 and 3.14)
    Operating systemsmacOS, Linux and Windows
    ToolsGit, for change review and worktrees. On Linux, bubblewrap (bwrap) for the command sandbox.
    ModelAn API key for a supported provider, or a local Ollama or vLLM server. The model must support tool calling; deepcode provider test <id> --agent checks it.
    Web clientA current browser on the same computer
    DesktopNode.js 22+, Rust and the Tauri prerequisites (source build)

    Core features

    • Repository work. Reads, searches and edits files, applies patches, runs commands and tests, and shows each change as a diff. Getting started
    • Goals. /goal <objective> in the TUI or the Goal panel in Desktop and Web. The Goal continues across turns and is kept across restarts. Its completion is checked: DeepCode runs the checklist you confirmed, and an independent reviewer can prove each requirement (Settings → General). A token budget or time limit bounds it. Goals and automation
    • Sessions and context. Every session is saved with its tool calls, approvals and Goal state. /resume, /compact and per-session context caps keep long work going. Sessions
    • Project instructions and memory. Reads AGENTS.md and CLAUDE.md, and keeps project notes in .deepcode/memory/. Skills and memory
    • Models and providers. Named connections, per-session model and reasoning effort, and connection checks before use. Models and providers
    • Skills and plugins. Reusable instructions from .agents/skills and ~/.agents/skills, eight bundled Skills, and a Skill creator. Plugins package Skills and MCP servers. Skills · Local plugins
    • MCP. Connects to stdio, SSE and Streamable HTTP servers, with a bundled catalog and OAuth sign-in. deepcode mcp serve exposes DeepCode itself as an MCP server. MCP guide
    • Agent presets and sub-agents. Presets set a persona and narrow the tool set. Sub-agents can work in separate Git worktrees. Configuration
    • Automations. Run a saved instruction on a schedule with the same agent, permissions and history. Automations
    • Voice input. Optional dictation in the Desktop and Web composer. Voice dictation
    • Paper2Code. Turn a paper or technical document into a code base. Paper2Code

    Models and providers

    Built-in templates: OpenRouter, Requesty, Opper, Forge, Amazon Bedrock, Anthropic, OpenAI, DeepSeek, Gemini, Zhipu AI, DashScope, MiniMax, Ollama and vLLM. A Custom connection points at any endpoint that speaks the OpenAI Chat Completions, OpenAI Responses or Anthropic Messages API. deepcode provider list shows them and which ones are ready.

    Security and data

    • Data stays on your computer. Settings, sessions, state and logs are under ~/.deepcode (or $DEEPCODE_HOME). Project notes are in <project>/.deepcode/memory/. DeepCode has no account system and sends no analytics.
    • Local service. The background service listens on 127.0.0.1 only (port 3081, or a free port if that is taken). Native clients authenticate with a private token; the Web client signs in with a one-time link.
    • Project trust. The agent does not run in a folder you have not trusted. A project's own config cannot select Full access, turn off the sandbox or redirect model requests.
    • Access presets and approvals. Ask asks before edits and commands and runs shell commands in an OS sandbox; Read only denies changes; Full access removes approvals and the sandbox. Your deny rules apply under every preset.
    • Hooks. Hooks a repository declares run only after you approve them; changed hooks wait for deepcode hooks approve.
    • Credentials. API keys are stored in ~/.deepcode/credentials.json with owner-only permissions and never returned to a client. Shell commands do not see them.
    • What model providers receive. The system prompt, project instructions, tool definitions, the conversation and tool results (file contents, command output) go to the endpoint of the connection you chose. providers.egress can restrict which hosts are allowed. A local model keeps everything on your machine.

    Details: Security and data. To report a vulnerability, see SECURITY.md.

    Documentation

    TopicGuide
    First task, step by stepGetting started
    Terminal UI keys and commandsThe terminal UI
    Resume, compact and manage sessionsSessions
    Providers, local models, reasoningModels and providers
    Project instructions, memory, SkillsSkills and memory
    Goals, automations, headless runsGoals and automation
    Config file and environment variablesConfiguration
    Data, sandbox, approvalsSecurity and data
    Startup and connection problemsTroubleshooting
    Scripts, CI and administrationHeadless and automation
    MCP serversMCP guide
    Background serviceLocal background service
    Upgrades and backupsUpgrading DeepCode
    Desktop from sourceDesktop guide
    Paper2CodePaper2Code

    Research origin

    DeepCode started as Paper2Code, a multi-agent system that turns research papers into working code. On PaperBench it scored 75.9% on the human-expert subset, above the best reported human baseline (72.4%). The method is described in DeepCode: Open Agentic Coding. Paper2Code is still available in Desktop and Web; see Paper2Code.

    🎬 Live Demonstrations

    These recordings show projects produced by earlier DeepCode workflows. They are output demonstrations rather than screenshots of the current Desktop UI.

    📄 Paper2Code

    Research to implementation

    ▶ Watch demonstration

    Reproduce a research paper as an executable project.

    🖼️ Generated vision project

    Image workflow example

    ▶ Watch demonstration

    See an earlier generated image-processing workflow in use.

    🌐 Generated web project

    Frontend implementation example

    ▶ Watch demonstration

    Follow a complete frontend implementation from idea to result.

    The DeepCode V2 introduction video gives a broader walkthrough.


    Contributing

    Development setup, checks and pull request guidelines are in CONTRIBUTING.md. Everyone who has opened a pull request is listed in CONTRIBUTORS.md.

    Support


    ⭐ Star History

    Community growth trajectory


    🚀 Ready to build with DeepCode?


    🙏 Appreciation

    Thanks to everyone in the open-source community — your stars, issues, pull requests and discussions shape where DeepCode goes next.

    Everyone who has opened a pull request is listed in CONTRIBUTORS.md, including contributions that predate the v2.0 rebuild and so are not reflected in the graph above.


    📖 Citation

    If DeepCode contributes to your research, cite:

    @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}
    }
    

    📄 License

    DeepCode is available under the MIT License. Copyright © 2025 Data Intelligence Lab at The University of Hong Kong.