Skip to content

v2.3.1

Latest

Choose a tag to compare

@Zongwei9888 Zongwei9888 released this 12 Oct 10:09
· 129 commits to main since this release

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: 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 不再轻易中断。 请求失败、遇到无法显示的事件、后台服务重启,都不会再让 TUI 退出;需要时 /reconnect 会重新启动后台服务。服务忙时,打字、补全、Enter 和 Ctrl+C 照常响应;回答慢时会直接说明,不再连续重试三次。只有输入框为空时 Esc 才中断回合,Ctrl+C 先清空正在输入的内容,正在写的消息不会丢失,也不会被误发。
  • 设置及时生效。 修改默认模型或权限后,TUI 会显示最新值;/new 跟随默认设置;在其他客户端处理过的审批会有提示;/goal clear out … 会设为新目标,而不是清掉当前 Goal。
  • /compact 能压缩写代码的会话。 压缩在会话自己的回合里进行,期间发来的消息会等摘要完成,压缩后的第一次回答不再先失败一次。工具调用的参数(比如 write_file 写入的整个文件)也会计入,写过大文件的会话不再被判成"压缩后不会变小"而拒绝。被拒绝时会说明原因。(#258)
  • Windows 后台服务不再自行退出。 在 Windows 上把 DeepCode 装在虚拟环境里时,后台服务报告就绪后随即退出,无论是由 TUI、deepcode service start 还是 deepcode web 启动。现在能正常运行。
  • 社区修复。 含 Unicode 行分隔符或换页符的行在 diff 里不再被拆开(#253);网页抓取会拒绝经 NAT64 或 IPv4 兼容 IPv6 地址访问内网(#254);危险命令筛查也能识别 /bin/rm -rf / 这类绝对路径写法(#255);项目放在名为 build 或 venv 的目录下时,glob 也能找到文件(#256)。
  • 安全更新。 pypdf、PyJWT、urllib3、multidict 升级到修补版本。

升级

pip install -U deepcode-hku,然后运行 deepcode service restart,让后台服务也换成新版本。客户端与后台服务版本不一致时,TUI 会提示。

致谢

本版本包含来自 @KennyMcSimpson、@raymondginger2018-sudo、@D41910 与 @liuzhengyang699 的贡献;@raymondginger2018-sudo 和 @rifkir23 还查明了 Windows CI 失败的原因。谢谢你们。