ZCode对deepseek v4 flash 三种格式的适配问题

诚恳是良药 2026-08-12 10:05 1

前情提要:因为看到opencode的人发帖说在ZCode里面调用deepseek v4 flash缓存率比较高,所以我也是重新捡回了ZCode品尝了一下。


实际体验确实不赖(另外由于opencode desktop新版在我电脑上莫名卡死,我就把opencode卸载直接换ZCode了X),但是有一点小小的问题:ZCode尚未完全适配deepseek官方刚适配的response格式


具体表现为:

1、ZCode不会往请求体tools数组里注入 **{"type": "web_search"}**工具声明,导致用不了服务端的搜索功能

2、 ZCode 3.7.6 的解析层(~\ZCode\resources\glm\zcode.cjs)对 Responses 流式事件的 schema 白名单中,思维链相关只支持response.reasoning_summary_part.addedresponse.reasoning_summary_text.deltaresponse.reasoning_summary_part.done这三个,而DeepSeek 实际发送的是 response.reasoning_text.deltaresponse.reasoning_text.done,导致response格式下看不到思维链。


为了解决这两个问题,就简单给ZCode做了个本地代理的hook,一方面加web_search工具声明,另一方面把回传的思维链格式映射成zcode能解析的格式,就没毛病了

顺便,ZCode还内置了一个搜索子智能体“ general-purpose”,我把这个子智能体的模型选择换成自己本地代理的deepseek v4 flash,就可以充分利用上deepseek官方服务端提供的搜索工具。


当然,既然response格式这么麻烦,那我为啥不用anthropic格式呢?

所以我也测试了,结果发现anthropic格式适配居然也有问题

很早之前deepseek为了适配claude code,就在anthropic格式上提供了服务端搜索工具,而ZCode也对此做了适配了,会给anthropic格式下的deepseek启用web_search工具,但问题是,只适配了一半——deepseek在anthropic格式的搜索工具会返回一个专属区域用来放搜索出来的链接,而当前zcode的处理会把这个区域丢掉,导致deepseek的联网搜索功能失去了链接!

相比之下,response格式的搜索功能是直接把搜索结果和链接作为上下文提供给模型,就没有这些问题。


chat completion格式就更不用说了,连服务端搜索工具都没有。


总结一下三种格式:

1、上策:response,思维链显示和服务端搜索有问题,但可以通过简单的本地代理解决

2、中策:anthropic,思维链显示没问题,但服务端搜索功能被阉割了一部分

3、下策:chat completion,思维链显示没问题,但没有服务端搜索功能

最新回复 (7)
  • dorokuma 08-12 10:12
    2

    折腾最开心,话说zcode是基于什么底座,pi吗

  • 诚恳是良药 楼主 08-12 10:17
    3

    我记得几个月之前尝试zcode的时候,还只是单纯整合claude code、codex做的gui,后来不知道啥时候彻底成了一个完全独立的agent客户端,现在官方文档里自称是自研 ZCode Agent 内核

  • 08-12 10:21
    4

    我是将zcode看作是国产codex,界面语言本土化这点做得很好,兼容性比codex强,也易于使用。国内可以直接下载,GUI界面简单易懂,便于推荐给别人使用,毕竟cli界面学习成本也是比较高的。

  • dorokuma 08-12 11:44
    5

    那还挺厉害的,比其他国内友商的强

  • 岚心一 08-16 10:46
    6

    用的opencode go的d4f就不用想这么多了,只有chat completion ^-^

  • xihalele 09-17 18:19
    7

    我当前用的 chat + tavily

  • 诚恳是良药 楼主 09-17 23:49
    8

    用第三方搜索工具也是个好主意。

    到今天,20260917,zcode依然没适配deepseek在anthropic格式的搜索结果的链接,没适配response格式的思维链

* 帖子来源Linux.do
返回