Deep Code v0.4.0 发布说明
本次更新把默认模型升级为 DeepSeek-V4.1-Flash,带来了全新内置技能 video-generator 视频生成、LLM 流式预览、LLM 自动重试,并扩展了权限范围(系统临时目录读写独立成档)。此外,Edit 工具的片段匹配更宽容、内置工具的中断与取消更加彻底,图片处理链路完成重构,Plan Mode 新增"清除上下文并实现",AI 提问框也补齐了标准文本编辑键。
下面是本次更新的详细说明。
全新功能
1. DeepSeek-V4.1-Flash:新的默认模型
DeepSeek 推出了 DeepSeek-V4.1-Flash(模型名 deepseek-flash)。从 v0.4.0 起,未显式配置模型时,Deep Code 默认使用 deepseek-flash,此前的默认模型是 deepseek-v4-flash。
官方规格要点:
- 原生多模态:支持直接在聊天中传入图片,模型"亲眼看图",而不是再借助外置识图工具。
- 思考模式:支持
low / high / max 三档推理强度,默认启用思考模式,默认强度为 max。
- 大上下文:默认上下文窗口为
1M(1,048,576 tokens)。
/model 下拉同步更新,deepseek-flash 置于首位:
deepseek-flash ← 新增,默认,原生多模态
deepseek-v4-pro
deepseek-v4-flash
deepseek-v4-flash-vision-exp
图片能力自动判定:deepseek-flash 模型会被识别为支持多模态,走 ReadImage(模型直接看图);其他模型(如 deepseek-v4-pro、deepseek-v4-flash)继续走 UnderstandImage 外置识图。自动判定与实际模型能力不符时,可用 multimodal: "on" | "off" 手动覆盖。
升级影响:
- 新用户安装后开箱即用
deepseek-flash,无需任何配置。
- 如果之前在
settings.json 中显式设置了 model 或 env.MODEL,配置不受影响,仍以显式配置为准。
2. 内置技能:video-generator 视频生成
新增内置技能 video-generator,让 Deep Code 能够直接生成带对白与环境音的视频。该技能由 MiniMax H3 驱动,一次生成画面、对白与环境音,适用于文生视频、图生视频、首尾帧过渡和多模态参考视频生成。
三种输入方式:
| 输入方式 |
说明 |
| 纯文本 |
用提示词描述主体、动作、镜头、风格、时间变化、对白和环境音 |
| 首尾帧 |
提供首帧(可附加尾帧)实现图生视频或平滑过渡;首尾帧仅支持 JPG / JPEG / PNG / WEBP,单张不超过 10MB,宽高均至少 300 像素 |
| 参考素材 |
最多 4 张图片 + 1 个视频 + 2 个音频,每个文件不超过 50 MiB |
首尾帧与参考素材互斥。如果两者同时出现,技能会询问用户确认用途,不会静默丢弃素材。
可选参数:
- 时长:5–20 整数秒,未指定时默认 5 秒。
- 模式:
turbo(快速,缩短渲染时间)或 base(质量优先);默认 turbo。
- 分辨率:
720p / 1080p。
- 比例:
21:9、16:9、4:3、1:1、3:4、9:16,以及 auto(由模型决定)。
例如:
帮我生成一段 5 秒的赛博朋克夜景延时视频,带环境音
把 first.png 到 last.png 做成一段平滑过渡的动画
以 a.jpg、b.jpg 为参考素材,生成一段专业的产品展示视频
3. LLM 流式预览:CLI 状态栏与 VSCode 思考气泡
过去模型在长时间思考或输出长回答时,界面只有"Thinking..."这样的提示。v0.4.0 新增「流式预览」,让用户在等待过程中看到模型的实时推理内容。
这样一来,模型"卡住"还是在"思考中"一目了然,等待过程不再焦虑。
4. LLM 自动重试:网络抖动不再中断任务
网络抖动、瞬时限流和服务端 5xx 以前会直接让会话中断。v0.4.0 新增LLM 自动重试机制:
- 最多重试 5 次(即最多 6 次尝试)。
- 指数退避 + 抖动:从约 800ms 起,每次翻倍,并叠加 ±10% 的随机抖动,避免同一时间大量重试造成拥堵。
- 尊重服务端指示:优先采用响应头中的
Retry-After / retry-after-ms。
- 可重试的错误:
- HTTP
408、409、429 与所有 5xx;
- 常见网络错误码,如
ECONNRESET、ECONNREFUSED、EHOSTUNREACH、ENETUNREACH、EPIPE、ETIMEDOUT 等;
- 连接中断、超时类错误。
- 流空闲超时:模型流超过 60 秒没有任何数据会被判定为挂起并触发重试;流提前断开也会触发重试。
5. 权限范围扩展:系统临时目录读写独立成档
权限范围新增两个专门针对系统临时目录的范围:
| 权限范围 |
说明 |
read-in-tmp |
读取 /tmp 或 /private/tmp 内的文件(新增) |
write-in-tmp |
在 /tmp 或 /private/tmp 内创建或覆写文件(新增) |
设计要点:
- 默认的
allowAll 模式会自动放行 read-in-tmp / write-in-tmp,并在权限提示中以低风险(绿色)展示;如确有需要,仍可显式加入 ask 或 deny。
- 新增
addWorkingDirs 配置项,可把工作区之外的额外目录当作工作区对待。
6. Edit 工具优化
重叠片段匹配:当模型使用 read 返回的 snippet_id 限定编辑范围时,过去只在该片段内部搜索 old_string。即使 old_string 与片段边界存在重叠,也会匹配失败。
现在 Edit 工具会在整个文件范围内搜索,只保留与片段范围有交集的匹配结果。因此跨越片段边界的编辑也能正确命中,显著减少因片段切分不当导致的编辑失败。
更彻底的取消:
AbortSignal 现在贯穿工具执行器与所有内置工具的上下文和钩子;
- 在读取文件、写入文件前后、以及 Edit 工具内部的 LLM 辅助调用(转义修正、失败原因诊断)等关键步骤都会检查是否已取消;
bash 等工具启动的子进程在取消时会终止整个进程树(含后台进程),并且监听器会保留到进程真正退出,而不是工具一返回就解除。
这意味着按 Esc 中断更快、更干净,不会出现"界面已停下但文件还在写、进程还在跑"的情况。
7. 图片处理升级:统一加载、按能力发送、GIF 与去重上传
本次对图片处理链路做了整体重构,更省流量也更稳定。
- 统一图片加载逻辑:
ReadImage 工具与会话中的粘贴/引用图片现在共用同一套 loadImageFile 流程(格式校验、空文件与大小限制、EXIF 方向、sRGB 转换、大图缩放等),避免两处行为不一致。
- 会话图片维护:粘贴或引用的图片不再以 inline data URL 塞进每条消息,而是写入会话图片目录并以
file: 引用。会话体积更小,/fork、/resume 迁移图片时也更可靠。
- 按模型能力发送:多模态模型收到规范化后的真实图片内容,直接"看图";非多模态模型收到一段
<message_meta> 图片路径元数据,配合 UnderstandImage 识图工具使用。
- 支持 GIF:粘贴图片现在支持 GIF 格式(PNG / JPEG / WebP / GIF)。
- Files API 去重上传:同一张图片(按内容 hash 判断)在一次请求中只上传一次,重复引用复用同一个
file_id,聚合体积上限也按去重后的图片计算。
- Files API 仅在官方地址生效:只有在
BASE_URL 为官方 https://api.deepseek.com 时才会启用上传;使用第三方兼容地址时不会误触发上传。
改进与优化
Plan Mode 新增"清除上下文并实现"
Plan Mode 输出方案后的选择菜单由 3 项扩展为 4 项:
| 选项 |
作用 |
| 1. implement this plan |
退出 Plan Mode,携带当前完整对话继续实现 |
| 2. clear context and implement |
保留当前会话,新建一个仅携带已确认方案的会话,并在 Default mode 下开始实现(新增) |
| 3. stay in Plan mode |
保持 Plan Mode,继续修改或完善方案 |
| 4. switch to Default mode |
退出 Plan Mode,回到默认模式(不自动开始实现) |
"清除上下文并实现"适合方案已经定型、但探索过程冗长的场景:新会话只带着最终方案开始写代码,避免把大量无关的历史消息一并发送给模型,从而降低 token 消耗、提升实现阶段的专注度。原 Plan 会话不会被删除,仍可通过 /resume 恢复。
AI 提问框支持标准文本编辑键
修复了 AskUserQuestion "Other" 自由文本回答的输入体验(#324)。
AskUserQuestion 答案结构化标记与渲染
用户回答的格式改为更清晰的结构化文本:
Questions 2/2 answered
- 使用哪个数据库?
answer: PostgreSQL
- 是否需要迁移脚本?
answer: 需要
升级方式
# 全局更新到最新版
npm install -g @vegamo/deepcode-cli@latest
# 查看当前版本
deepcode --version
相关配置说明见 docs/configuration.md、docs/permission.md 与 docs/plan-mode.md。
感谢使用 Deep Code!如有问题或建议,欢迎在 GitHub 仓库 提交 issue。
New Contributors
Full Changelog: v0.3.1...v0.4.0
Deep Code v0.4.0 发布说明
本次更新把默认模型升级为 DeepSeek-V4.1-Flash,带来了全新内置技能 video-generator 视频生成、LLM 流式预览、LLM 自动重试,并扩展了权限范围(系统临时目录读写独立成档)。此外,Edit 工具的片段匹配更宽容、内置工具的中断与取消更加彻底,图片处理链路完成重构,Plan Mode 新增"清除上下文并实现",AI 提问框也补齐了标准文本编辑键。
下面是本次更新的详细说明。
全新功能
1. DeepSeek-V4.1-Flash:新的默认模型
DeepSeek 推出了 DeepSeek-V4.1-Flash(模型名
deepseek-flash)。从 v0.4.0 起,未显式配置模型时,Deep Code 默认使用deepseek-flash,此前的默认模型是deepseek-v4-flash。官方规格要点:
low/high/max三档推理强度,默认启用思考模式,默认强度为max。1M(1,048,576 tokens)。/model下拉同步更新,deepseek-flash置于首位:图片能力自动判定:
deepseek-flash模型会被识别为支持多模态,走ReadImage(模型直接看图);其他模型(如deepseek-v4-pro、deepseek-v4-flash)继续走UnderstandImage外置识图。自动判定与实际模型能力不符时,可用multimodal: "on" | "off"手动覆盖。升级影响:
deepseek-flash,无需任何配置。settings.json中显式设置了model或env.MODEL,配置不受影响,仍以显式配置为准。2. 内置技能:video-generator 视频生成
新增内置技能
video-generator,让 Deep Code 能够直接生成带对白与环境音的视频。该技能由 MiniMax H3 驱动,一次生成画面、对白与环境音,适用于文生视频、图生视频、首尾帧过渡和多模态参考视频生成。三种输入方式:
可选参数:
turbo(快速,缩短渲染时间)或base(质量优先);默认turbo。720p/1080p。21:9、16:9、4:3、1:1、3:4、9:16,以及auto(由模型决定)。例如:
帮我生成一段 5 秒的赛博朋克夜景延时视频,带环境音把 first.png 到 last.png 做成一段平滑过渡的动画以 a.jpg、b.jpg 为参考素材,生成一段专业的产品展示视频3. LLM 流式预览:CLI 状态栏与 VSCode 思考气泡
过去模型在长时间思考或输出长回答时,界面只有"Thinking..."这样的提示。v0.4.0 新增「流式预览」,让用户在等待过程中看到模型的实时推理内容。
这样一来,模型"卡住"还是在"思考中"一目了然,等待过程不再焦虑。
4. LLM 自动重试:网络抖动不再中断任务
网络抖动、瞬时限流和服务端 5xx 以前会直接让会话中断。v0.4.0 新增LLM 自动重试机制:
Retry-After/retry-after-ms。408、409、429与所有5xx;ECONNRESET、ECONNREFUSED、EHOSTUNREACH、ENETUNREACH、EPIPE、ETIMEDOUT等;5. 权限范围扩展:系统临时目录读写独立成档
权限范围新增两个专门针对系统临时目录的范围:
read-in-tmp/tmp或/private/tmp内的文件(新增)write-in-tmp/tmp或/private/tmp内创建或覆写文件(新增)设计要点:
allowAll模式会自动放行read-in-tmp/write-in-tmp,并在权限提示中以低风险(绿色)展示;如确有需要,仍可显式加入ask或deny。addWorkingDirs配置项,可把工作区之外的额外目录当作工作区对待。6. Edit 工具优化
重叠片段匹配:当模型使用
read返回的snippet_id限定编辑范围时,过去只在该片段内部搜索old_string。即使old_string与片段边界存在重叠,也会匹配失败。现在 Edit 工具会在整个文件范围内搜索,只保留与片段范围有交集的匹配结果。因此跨越片段边界的编辑也能正确命中,显著减少因片段切分不当导致的编辑失败。
更彻底的取消:
AbortSignal现在贯穿工具执行器与所有内置工具的上下文和钩子;bash等工具启动的子进程在取消时会终止整个进程树(含后台进程),并且监听器会保留到进程真正退出,而不是工具一返回就解除。这意味着按
Esc中断更快、更干净,不会出现"界面已停下但文件还在写、进程还在跑"的情况。7. 图片处理升级:统一加载、按能力发送、GIF 与去重上传
本次对图片处理链路做了整体重构,更省流量也更稳定。
ReadImage工具与会话中的粘贴/引用图片现在共用同一套loadImageFile流程(格式校验、空文件与大小限制、EXIF 方向、sRGB 转换、大图缩放等),避免两处行为不一致。file:引用。会话体积更小,/fork、/resume迁移图片时也更可靠。<message_meta>图片路径元数据,配合UnderstandImage识图工具使用。file_id,聚合体积上限也按去重后的图片计算。BASE_URL为官方https://api.deepseek.com时才会启用上传;使用第三方兼容地址时不会误触发上传。改进与优化
Plan Mode 新增"清除上下文并实现"
Plan Mode 输出方案后的选择菜单由 3 项扩展为 4 项:
"清除上下文并实现"适合方案已经定型、但探索过程冗长的场景:新会话只带着最终方案开始写代码,避免把大量无关的历史消息一并发送给模型,从而降低 token 消耗、提升实现阶段的专注度。原 Plan 会话不会被删除,仍可通过
/resume恢复。AI 提问框支持标准文本编辑键
修复了 AskUserQuestion "Other" 自由文本回答的输入体验(#324)。
AskUserQuestion 答案结构化标记与渲染
用户回答的格式改为更清晰的结构化文本:
升级方式
相关配置说明见 docs/configuration.md、docs/permission.md 与 docs/plan-mode.md。
感谢使用 Deep Code!如有问题或建议,欢迎在 GitHub 仓库 提交 issue。
New Contributors
Full Changelog: v0.3.1...v0.4.0