zcode 反代怎么配?DeepSeek Harness DSH plugin 反代接入配置
zcode 反代不是把系统网络改成走代理,而是用一个 DSH plugin(dsh-zcode-cli-proxy)把 DeepSeek Harness 发出的模型请求转交给本机 ZCode 客户端自带的 agent 执行——它换的是「模型从哪来」,不是「网络怎么走」。
DSH plugin 反代概览
本文回答 zcode 反代的三件事:它到底解决什么问题、怎么在 DeepSeek Harness 里装好并配通、以及它和系统网络代理、内置模型代理的边界在哪。 先把结论摆前面:它是「模型请求层」的转发插件,不是代理服务器,也不需要你在 DeepSeek Harness 里填 API Key。想看通用的出站网络代理(HTTPS_PROXY 那一族环境变量)请转到《DeepSeek Harness 怎么配网络代理》;本文只讲 zcode 专用反代。三条方向速览:
| 方向 | 一句话结论 | 换掉的是 |
|---|---|---|
| zcode 反代解决什么 | 本机有 ZCode 客户端额度、DeepSeek Harness 里没有 API Key 也能用模型 | 模型的来源 |
| 怎么配 | 装 GitHub 直装的插件,再在设置里选提供方与模型 | 配置入口 |
| 边界 | 与网络代理、内置模型代理是三件不同的事 | 各自作用的层 |
zcode 反代解决什么:无 API Key 时把本机 ZCode 客户端接进 DeepSeek Harness
zcode 反代要解决的处境是:本机已经装了 ZCode 客户端、账号里也有 Start Plan 额度,但 DeepSeek Harness 里既没有可用的 API Key,又不想自己搭一个网关。 dsh-zcode-cli-proxy 的做法是把 DeepSeek Harness 发出的模型请求交给本机 ZCode 客户端自带的 agent 去执行,直接消耗你 ZCode 账号的 Start Plan / Coding Plan 额度(来源)。
具体它替你做了这些事:
- 拉起常驻 app-server 通道:以 ZCode GUI 同款方式启动 ZCode 的 app-server 进程,多轮会话按 DeepSeek Harness 的
sessionId复用,不必每次重新握手。 - 注入账户并回传鉴权:注入 Start Plan 账户,并在每次请求前把共享凭证里的鉴权信息回传给 agent,让 agent 自己完成请求签名。
- 保留真流式与多模态:text / reasoning 的增量直接转发,工具调用照常,图片以本地文件随消息附上由 agent 读取。
- 自愈不稳定的回合:撞上「已有回合在跑」会自动补发停止、等待后重试;会话被回收就新建会话并重放历史;app-server 子进程退出即作废会话映射。
一句话:它把「模型从哪里来」从 API Key / 自建网关,换成了「你本机那个已经登录好的 ZCode 客户端」。 适合的场景是——你手上有 ZCode 额度、机器上也有客户端、只是想让这个模型出现在 DeepSeek Harness 的模型列表里;不适合的场景是——本机没装客户端、或账号里没有可用额度,这时反代也无从发力。另外要留意:因为请求最终由本机客户端发出,「模型端点能不能连上」取决于客户端的网络环境,而不是 DeepSeek Harness 的出站设置。
zcode 反代怎么配:安装 dsh-zcode-cli-proxy 并选提供方与模型
配置分两段:先用命令行把这个 DSH plugin 装进 profile,再在 DeepSeek Harness 的设置页里把提供方切到「ZCode Start Plan(客户端反代)」并选好模型(来源)。 按顺序操作:
- 确认前置 — 本机已安装 ZCode 客户端,并且客户端已登录拥有 Start Plan 额度的账号。预期:客户端能正常打开、账号额度可用;插件会自动探测客户端自带的脚本路径,探测不到时可稍后手动指定。
- 装插件 — 它没有 npm 包名、属 GitHub 直装,执行
dsh plugin --profile web add github:kyle123740/dsh-zcode-cli-proxy。预期:终端出现 pnpm 的added输出,依赖写入webprofile。不想敲命令,也可以在 DSH Plugin Hub 的插件市场用「自定义安装」把 GitHub 地址贴进去。 - 重启宿主 — 重启
dsh web让插件树重新加载。预期:模型页面里多出该提供方,说明插件已挂载。 - 选提供方与模型 — 进 DeepSeek Harness 的设置页、打开模型(Models)页面,提供方选「ZCode Start Plan(客户端反代)」,模型选对应项(例如
GLM-5.3-Flash (ZCode CLI))。预期:之后 DeepSeek Harness 的模型请求改由常驻的 ZCode app-server 执行。 - 发一条任务验证 — 在会话里提一个简单问题。预期:回答以流式逐字返回,且消耗的是你 ZCode 账号的额度,而不是任何 API Key。
- 必要时微调字段 — 进设置 → 插件,按需改下面这些项。预期:行为贴合你的机器环境与回合长度。
# 装插件(GitHub 直装,无 npm 包名)
dsh plugin --profile web add github:kyle123740/dsh-zcode-cli-proxy
# 确认依赖真的进来了
dsh plugin --profile web why dsh-zcode-cli-proxy
# 重启宿主后生效
dsh web
可调字段(设置 → 插件):
| 字段 | 作用 | 默认 / 说明 |
|---|---|---|
| CLI 路径 + node 可执行文件 | 指定 ZCode 客户端脚本与运行它的 node | 留空则自动探测 |
| 工作目录 | agent 执行请求时的工作目录 | 按需填 |
| 凭证目录 | 读取共享凭证的位置 | 留空默认读用户主目录 |
| 模型清单 | 暴露给 DeepSeek Harness 的模型 | 与提供方一起选 |
appServerTimeoutMs | 单次 app-server 请求超时 | 默认 120000 毫秒 |
zcodeCliTimeoutMs | 单回合超时 | 默认 900000 毫秒 |
这个 DeepSeek插件 的总开关也在同一页:临时想切回普通模型提供方时,把总开关关掉即可,不必卸载。
zcode 反代与内置模型代理、网络代理的边界
三件事最容易混:zcode 反代是「模型请求层」的来源切换,网络代理是「网络出口」,内置模型代理是 DeepSeek Harness 里的模型接入配置——它们可以同时存在,但互不替代。 对照如下:
| 概念 | 它管什么 | 典型配置对象 | 换掉的是 |
|---|---|---|---|
| zcode 反代(本文) | 把模型请求交给本机 ZCode agent 执行 | dsh plugin 装的 DSH插件 + 设置里的提供方 | 模型来源 |
| 网络代理 | DeepSeek Harness 的出站请求经哪个 http(s) 代理转发 | HTTPS_PROXY / HTTP_PROXY / NO_PROXY 环境变量 | 网络出口 |
| 内置模型代理 | DeepSeek Harness 里配置的模型提供方与凭据 | 模型设置里的 API Key / 网关 | 模型接入方式 |
几条边界要记牢:
- 反代不通 ≠ 网络不通:请求由本机 ZCode agent 发出,网络代理是另一层;如果把
HTTPS_PROXY配错,可能表现为反代也毫无反应,先去《DeepSeek Harness 怎么配网络代理》确认网络出口。 - 反代不能当 API Key 用:它绕开的是凭据,不是把 ZCode 变成一个通用网关;想填 API Key 或自建网关请走《DeepSeek Harness 模型提供方怎么配》。
- 额度口径要清楚:会话标题这类辅助调用在本地生成、不烧额度,真正消耗额度的是模型请求本身;两者别搞混,否则会误判「装了没生效」。
使用 zcode 反代 DSH plugin 的注意事项与局限
- 强依赖本机环境 — 没有 ZCode 客户端、或客户端没登录有额度的账号,反代就没有可用的执行方。
- GitHub 直装的通用坑 — 若该仓库是带构建脚本的 git 依赖,pnpm ≥10 首次
add可能被allowBuilds拦下,按提示把 key 复制到 profile 的pnpm-workspace.yaml再重跑。 - 回合锁与超时会留下报错 — 单回合被中止或超时后可能残留回合锁,表现为
本轮运行失败 · PROVIDER;通道层会自动补发停止并重试,长回合可把zcodeCliTimeoutMs调大。 - 会话回收不丢历史 — 提示会话不存在时,插件会丢弃缓存、新建会话并按首轮语义重放整段对话,历史完整保留。
- 额度没动先查两处 — 注入用的修订标识要与配置来源逐字符一致(不一致会被静默跳过),鉴权令牌要取自共享凭证且未过期。
- 社区插件、非官方 — 由作者 kyle123740 维护、采用 AGPL-3.0,与 DeepSeek AI 官方无隶属关系;装前读一遍来源仓库。
- 预览阶段会变 — DeepSeek Harness 处于开发者预览阶段,字段与命令以当前版本为准。
与其在配置里反复试错、把 zcode 反代和通用网络代理混着调,不如先在 DSH Plugin Hub 的插件市场把这个反代装好,再在设置页把提供方与模型一次选清楚:装、更新、卸载收口在一个界面,设置项也集中可查。

来源:kyle123740/dsh-zcode-cli-proxy、dsh-zcode-cli-proxy(DSH Plugin Hub 插件条目)、DeepSeek Harness 官方文档 - 网络与代理
常见问题
zcode 反代指用 DSH plugin 把 DeepSeek Harness 的模型请求转交给本机 ZCode 客户端自带的 agent 执行,让你在没有 API Key、也不想自建网关时用上 ZCode 账号额度。它走常驻 app-server 通道并回传 OAuth 鉴权,属于模型请求层的来源切换,而不是改系统网络出口。
dsh-zcode-cli-proxy 属 GitHub 直装,一条命令装进 web profile:dsh plugin --profile web add github:kyle123740/dsh-zcode-cli-proxy,重启后在 DeepSeek Harness 设置的模型页面选提供方「ZCode Start Plan(客户端反代)」与对应模型即可。前置是本机已装 ZCode 客户端并登录拥有 Start Plan 额度的账号。
不是。zcode 反代是 DSH plugin 在模型请求层把请求交给本机 ZCode agent 执行,换的是模型来源;网络代理是 DeepSeek Harness 读取 HTTPS_PROXY、HTTP_PROXY 等环境变量控制出站网络,换的是网络出口。两者可以同时存在,但互不替代,反代通了不代表网络出口就通。
「本轮运行失败 · PROVIDER」通常是上一轮被中止或超时后回合锁未释放,dsh-zcode-cli-proxy 的通道层会自动补发停止并重试一次,一般无需手动干预。提示会话不存在则说明会话被回收或进程重启,插件会丢弃缓存条目并新建会话、按首轮语义自动重放整段对话,历史不会丢。
zcode 反代命中额度依赖账户注入与鉴权回传两项都正确:注入用的修订标识要与配置来源逐字符一致,不一致会被静默跳过;回传的鉴权令牌必须取自共享凭证且未过期。任一环节出错都会被上游拒绝,表现就是额度没有被消耗。
相关术语
- dsh-zcode-cli-proxy
- dsh-zcode-cli-proxy 是把 DeepSeek Harness 的模型请求转交给本机 ZCode 客户端 agent 执行的 DSH plugin,通过常驻 app-server 通道消耗 ZCode 账号额度、无需 API Key。— kyle123740/dsh-zcode-cli-proxy
- zcode 反代
- zcode 反代是在 DSH 与 ZCode 客户端之间充当转发层的做法:DeepSeek Harness 发出的模型请求先到插件,再由插件交给本机 ZCode 客户端 agent 执行并回传结果。— kyle123740/dsh-zcode-cli-proxy
- Start Plan 额度
- Start Plan 额度是 ZCode 账号自带、由客户端 agent 消耗的用量额度;dsh-zcode-cli-proxy 把它接入 DeepSeek Harness,使模型请求不必走 API Key 计费。— dsh-zcode-cli-proxy(DSH Plugin Hub 插件条目)
- app-server 通道
- app-server 通道指 dsh-zcode-cli-proxy 以 ZCode GUI 同款方式拉起的常驻进程通道,按 DeepSeek Harness 的 sessionId 复用多轮会话并回传鉴权。— kyle123740/dsh-zcode-cli-proxy
来源
- kyle123740/dsh-zcode-cli-proxy· GitHub
- dsh-zcode-cli-proxy(DSH Plugin Hub 插件条目)· dsh-plugin.org
- DeepSeek Harness 官方文档 - 网络与代理· deepseek-ai