deepcode 安装

一个终端里的
agentic 编码助手

给它一句自然语言,它会读文件、改文件、跑命令。
每个会写盘或执行命令的动作,都会先停下来,等你按一次 y。

安装 DeepCode 技术文档

~/myproject

> 把 dist 目录清掉

Bash $ rm -rf dist

执行 Bash? (y=是 a=本次会话总是允许 N=否) y

好,dist 清掉了。

> 把这次的改动推到 main

Bash $ git push origin main

[安全] 一条更宽松的判定被拦下:策略里 Bash(git push:*) 要求 deny,实际得到 ask。以托管策略为准。

推不动 —— 托管策略把 Bash(git push:*) 判成 deny 了。这一条得你自己来。

写盘与执行命令会先打预览再停下来等你(y 这一次 / a 这一类);[安全] 那行是拦截,不是提示;全程没有 --yes。

运行时依赖
0
用例
1196 全绿 / 71 个文件
事件
23 / 42 已实现
质量门
typecheck / lint / test

说出来就行,剩下的它自己做

读文件、改文件、跑命令在一个循环里走完,不用切窗口、不用复制粘贴。

> 跑一下测试,把失败的那条修掉

一句话,一个闭环

读懂仓库、改完代码、跑起来验证 —— 改错了就再来一轮,直到测试真的过。

执行 Bash? (y=是 a=本次会话总是允许 N=否)

每次动手都先问你

要写盘、要执行命令的动作,先给你看它准备做什么,再停在那里等你一个答案:y 放行这一次, a 本次会话这一类都放行(Bash 按那一条命令记,其余工具按整个工具记), 别的输入都算拒绝。

Bash(git push:*) → deny

托管策略掀不翻

五层规则来源按 deny > ask > allow 判定:个人设置只能把「问一次」变成「直接做」,收紧不了也放宽不了托管的那一层。

prepend → user → append → builtin → core

插件与内建同一条接口

内建工具和第三方插件注册在同一条链上,按权威序串起来。加功能不用改内核。

deepcode --resume

会话接得上

转录落成 0600 的 JSONL,放在用户级目录、不进项目目录;--resume 接上一次,/context 随时看账本。

apiKey / baseUrl / model

换供应商不用换工具

Anthropic 与 OpenAI 两种协议,换成任何兼容端点只改这三样。

工具调用必经三道闸

按顺序过,任何一条 allow 规则都绕不过去。

  1. tool.check

    先预览,再停下

    把要跑的命令、要动的文件摆给你看,然后在终端上等你一个答案:y 这一次, a 本次会话这一类(Bash 按那一条命令记,其余工具按整个工具记),别的输入都算拒绝。

  2. sandbox

    路径闸

    只对 Bash 生效的一道可选闸,按命令行里的路径判要不要放行。

  3. 真进程 / 真文件

    到这一步才动手

    前面两道都过了,才真的去改文件、起进程。

三条兜底 非 TTY 默认拒绝 链尾无人应答 = deny 不认识的工具 = deny

现在就试

需要 Node ≥ 20 与 pnpm。不带参数就是交互式 REPL。

安装 git clone https://github.com/yyyCode/DeepCode && cd DeepCode && pnpm install && npm link
配 key mkdir -p ~/.deepcode && cat > ~/.deepcode/config.json <<'EOF' { "apiKey": "sk-ant-..." } EOF
开工 cd /你的项目 && deepcode

key 也可以放环境变量(ANTHROPIC_API_KEY),或者换成任何 Anthropic / OpenAI 兼容的端点 —— 细节见 技术文档。

在 GitHub 上读源码 技术文档