Repository navigation
Releases: Ianzhyh/qoder-to-dsh
Release list
qoder-to-dsh 1.3.0
1.3.0
这一版把上游错误与完成度做成可信语义。 10605 模型排队会按 retryAfter 自动等待;110 日限、430 版本门、12153 会话失效不再盲目重试;只剩思考、没有正文或工具调用的回复会以 EMPTY_RESPONSE 结束,不再显示空白“成功”。
- 错误码分流:10605 排队(含转义 JSON)、110 日限、112 额度、105/12153 会话、430 版本门、内容审核、114 试用受限分别归类;排队会带
providerRetryAfterMs,普通 401/403 仍保留一次刷新重试。 - 完成度校验:reasoning-only 的
stop/length报EMPTY_RESPONSE;工具名为空/不合法、参数不是完整 JSON 时不写入会话,直接报INVALID_REQUEST;兜底 tool id 每轮唯一。 - 额度真实性:
remaining: 0会如实显示 0;额度缺失的诊断从 pass 改为 warn;首包默认超时提升到 90 秒。 - 体验修正:版本漂移 banner;设置提示改为“下一次请求生效”;用量明细显示试跑/账号尾号/每日汇总标记;账号页说明插件当前账号与本机账号列表;签到结论按后端原文呈现。
- 验证:184 个用例通过,
npm run release:check全绿。
升级
tgz(推荐,可核对 SHA-256):
dsh plugin --profile desktop add ./qoder-to-dsh-1.3.0.tgzGitHub 直装:
dsh plugin --profile desktop add github:Ianzhyh/qoder-to-dsh装完完全退出 dsh 再打开(插件在宿主启动时加载;只重开面板不会换掉已加载的代码)。如果面板顶部提示“已加载 vX,磁盘 vY”,说明还在跑旧代码。
- 资产 SHA-256:
d0c37be2fa236f484c8ff112819a48e28e0d44d1f4e79a6dbf0190e900d8a71e(33 个文件,605.1 KB) - 完整变更见 CHANGELOG。
验证
npm run release:check:模块语法 + 184 个用例 + 安装自检 11/11(--offline)npm run verify:release:产物与工作区逐字节一致、exports 目标齐全、locale 键一致、README / CHANGELOG / 双份版本号一致、新增 upstream-error 模块在包内- 新增回归:10605/110/430/12153/审核/试用的分类与等待、reasoning-only、工具名称/参数/id、
Retry-After、额度 0、版本/设置/用量/账号/签到文案
非官方互操作实现,只使用你自己合法授权的 Qoder 账号;上游协议可能随时变化。失效时先看设置里的「诊断」页。
qoder-to-dsh 1.1.4
1.1.4
这一版修的是「设置看起来生效、实际没生效」和账号切换时的目录/令牌竞态。 温度设置此前从未写进上游请求;换号后模型目录可能继续来自旧账号;官方客户端里的旧令牌还可能覆盖插件刚刷新的令牌。
- 温度真正写进请求:
buildChatBody现在把数值温度放进parameters.temperature(0 也是合法值);「自动」仍然不传。面板里保存的每模型温度、插件默认温度和试跑温度不再只是写本地文件。 - 换号即清目录:
setAuth在身份变化时同步清空目录缓存、rawById与在途请求;同时去掉登录路径上重复的invalidateCatalog(),不再让onAuthChange刚发起的预热请求白打一次上游。 - 令牌只向更新的方向跟随:重读桌面端 / CLI 存储时,只有当前令牌不可用、或官方令牌明确更晚过期才采用,并过滤已过期候选;不会出现「采用旧令牌 → 401 → 再刷新」的循环。
- 目录响应中断不再崩或悬住:
httpsJson补上响应流的error监听与单次 settle 保护;连接中途断开时目录请求明确失败并按网关重试。 - 流内错误保留 HTTP 状态:401 / 429 / 5xx 参与错误分类,认证失败不再变成未知错误,限流与上游 5xx 仍能进入重试策略。
- 诊断不再被 20 秒截断:诊断会同步刷新目录与额度,最坏情况超过 20 秒;
getJson支持按次超时,诊断与深度状态使用 90 秒。 - 额度到期不再显示 1970 年:上游额度 / 套餐到期时间是秒级 epoch,客户端按官方客户端的
<1e10规则换算。 - 面板细节:对话页额度胶囊按
at取最新 extras;换号时清掉账号 / 用量 / Credits 的 busy 状态;切 7 / 14 / 30 天与 Credits 区间互不牵连;试跑不会停在已下架模型;模型编辑器的「自动输出」显示与实际请求同一条公式;空/qoder默认按status处理。 - 消息与错误分类:纯字符串消息内容不再被丢弃;
getaddrinfo ENOTFOUND/EAI_AGAIN归入可重试的TRANSPORT;无效 PAT 回滚时一并还原目录快照;桌面端jt-令牌也能识别。
升级
tgz(推荐,可核对 SHA-256):
dsh plugin --profile desktop add ./qoder-to-dsh-1.1.4.tgzGitHub 直装:
dsh plugin --profile desktop add github:Ianzhyh/qoder-to-dsh装完完全退出 dsh 再打开(插件在宿主启动时加载;只重开面板不会换掉已加载的代码)。
- 资产 SHA-256:
f3fd572b02795bfc6e798061a6e9a9fc3d079a5f46b3f59177875f5c14405e8f(32 个文件,586.2 KB) - 完整变更见 CHANGELOG。
验证
npm run release:check全绿:模块语法检查 + 123 个用例 + 安装自检 11/11(--offline)npm run test:live实机探针:pong、finish=stop,11 个模型,usage 正常返回npm run verify:release15/15:32 个文件与工作区逐字节一致、两份VERSION一致、patch 名与包名一致、tests/未混入- 新增回归:温度写入
parameters(含 0 与未设置)、换号清目录且不误清同账号刷新、无效 PAT 回滚目录、桌面端只跟随更新的令牌、目录响应中途断开、流内 401/429/5xx 分类、expires_in毫秒语义、字符串消息内容、DNS 错误归类、秒级额度到期、自动输出上限收敛、按次请求超时、空/qoder
非官方互操作实现,只使用你自己合法授权的 Qoder 账号;上游协议可能随时变化。失效时先看设置里的「诊断」页。
qoder-to-dsh 1.1.3
1.1.3
这一版集中修流结束、令牌刷新、换号与本地账本之间的竞态。 这些问题要么会把半截回复当成成功,要么会在换号/取消时把旧账号或旧数据写进新状态。
- 半路关流不再被补成成功:外层信封翻译只在见到
finish_reason或显式[DONE]时才补[DONE];试跑也要求终结标记,截断回复不再显示为连通成功。 - 并发刷新只打一次上游:
refreshAuth()单飞合并,并用 auth generation 隔离账号切换;旧账号的刷新结果不能覆盖新账号,也不会把无 UID 的刷新误判成换号。 - 无效 PAT 不再把原账号踢下线:直接令牌会校验 userinfo,401/403 时回滚到原账号,不再重复触发两次 auth-change。
- 试跑取消会中止上游:面板中断通过
AbortSignal传到宿主与 Qoder,不只是在本地停止等待。 - 换号相关缓存隔离:目录磁盘缓存按 account 记录;设备授权轮询合并;签到运行绑定启动时的 auth generation,不会拿新账号令牌领取旧账号活动。
- 清除用量不会被在途写盘复活;换号瞬间也会清空主面板与对话页的旧账号展示。
升级
tgz(推荐,可核对 SHA-256):
dsh plugin --profile desktop add ./qoder-to-dsh-1.1.3.tgzGitHub 直装:
dsh plugin --profile desktop add github:Ianzhyh/qoder-to-dsh装完完全退出 dsh 再打开(插件在宿主启动时加载;只重开面板不会换掉已加载的代码)。
- 资产 SHA-256:
31be3139bdfecdd56e9d0882f896be771fc4bfcb5ec904f0639a6dca170b22de(32 个文件,580.5 KB) - 完整变更见 CHANGELOG。
验证
npm run release:check全绿:模块语法检查 + 111 个用例 + 安装自检 11/11(--offline)npm run test:live实机探针:pong、finish=stop、usage 正常,确认正常流没有被新的截断判断误伤npm run verify:release15/15:产物与工作区逐字节一致、两份VERSION一致、patch 名与包名一致、tests/未混入- 浏览器离线 harness:auth-change 后无控制台错误;试跑取消后显示「已取消本次试跑」,不再继续等待
非官方互操作实现,只使用你自己合法授权的 Qoder 账号;上游协议可能随时变化。失效时先看设置里的「诊断」页。
qoder-to-dsh 1.1.2
1.1.2
这一版补的是面板在三种真实状态下的行为:宿主刚启动、标签页在后台、账号刚切换。三项都不改变正常路径的请求格式,只让等待、轮询与换号不再互相踩。
- 启动窗口的 404 会自愈:dsh 的 Web 兜底处理器在插件路由挂上之前对任何未命中路径回 404。刷新页面撞上这个窗口时,
getJson现在对/qoder/的 GET 快速重试(350 / 800 / 1300ms);仍然 404 会明确提示「完全退出并重启 dsh」。POST 不重试(避免签到这类动作被重复执行),但仍会给出同样的重启提示。 - 换账号后旧响应不再覆盖新账号:面板的 models / status / checkin / diagnostics 与对话页额度胶囊都按请求序号只接受最新结果,换号时清空旧模型与试跑模型。宿主端
refreshExtras()按extrasGeneration隔离在途额度请求,旧账号的结果不会写进新账号缓存,新账号也不会复用旧 Promise。 - 后台标签页不再空转轮询:设置页的状态 / 用量 / 账号 / 签到与对话页额度胶囊统一走可见性调度器。隐藏时停表,切回可见立即补一次再恢复定时;初始就在后台的页面会在第一次可见时启动,重复的
visibilitychange事件不会触发多轮请求。 - 超大面板请求体也能读到 413:超过 256KB 上限时先把剩余字节读掉再回 413,避免 Node 销毁请求流导致客户端先收到
ECONNRESET;存入内存的部分仍以 256KB 为上限。 - 发版校验更省心:
npm run verify:release无参数时会选择与当前版本一致的 tgz,并列出被忽略的旧版本;同一版本出现多份时仍然拒绝猜。选中本地产物后还会逐字节对比工作区,版本号相同但忘了重新pack会直接失败。
升级
tgz(推荐,可核对 SHA-256):
dsh plugin --profile desktop add ./qoder-to-dsh-1.1.2.tgzGitHub 直装:
dsh plugin --profile desktop add github:Ianzhyh/qoder-to-dsh装完完全退出 dsh 再打开(插件在宿主启动时加载;只重开面板不会换掉已加载的代码)。
- 资产 SHA-256:
8de5cebb3c411244127ad0f0f2b030127ae41a966cead6c3cfdf0544cf9eccea(32 个文件,578.2 KB) - 完整变更见 CHANGELOG。
验证
npm run release:check全绿:模块语法检查 + 100 个用例 + 安装自检 11/11(--offline)npm run verify:release15/15:自动选中 v1.1.2 产物,32 个文件与工作区逐字节一致、两份VERSION一致、patch 名与包名一致、tests/未混入- 新增回归:启动窗口 404 重试 / POST 不重试 / 重试耗尽提示、后台暂停与恢复 / 事件风暴 / 初始隐藏、换号时旧额度请求不得覆盖新缓存、超限请求体完整读掉后再回 413
页面刷新后如果仍看到「插件接口还没就绪」,说明宿主里的插件代码还是旧的:完全退出 dsh 再重开即可。
非官方互操作实现,只使用你自己合法授权的 Qoder 账号;上游协议可能随时变化。失效时先看设置里的「诊断」页。
qoder-to-dsh 1.0.2
试跑速度优化。
- 新增「本次思考档位」,只影响本次试跑,不修改全局模型偏好
- 试跑默认使用模型支持的最低档,避免一次连通性检查先等十几秒思考
- 实测 GLM-5.3-Flash 短请求:max 档约 18s,high 档约 1.3s
- 结果新增 tok/s、首字 / 生成耗时拆分、思考 tokens 与慢速提示
- 服务端校验档位,不支持的值不会发往上游
- 78 个测试通过,安装自检 11/11
qoder-to-dsh 1.0.1
修复 MiniMax-M3.1-Flash 等上游返回字面量 data: null 时,试跑/流式解析抛出的 TypeError(Cannot read properties of null (reading 'error'))。
- 上游转发层丢弃 null / 非对象 SSE 帧
- 试跑解析层与多模态流翻译层增加 null 保护
- 字符串形式的 error 帧现在也会显示为可见错误
- 新增回归测试,77 个测试通过;MiniMax 实机返回 pong
qoder-to-dsh 1.0.0
首个正式版。
- 原生 provider=qoder,单进程、无额外端口
- 模型目录 200K / 400K / 1M 上下文档位,自动输出 32K,思考档位与价格倍率
- 多账号、额度、每日签到,Credits 只计实际扣费并显示已省
- 设置面板七页签:概览 / 签到 / 模型 / 试跑 / 用量 / 账号 / 诊断
- 明暗主题、窄屏、键盘与触控路径,失败态可就地重试
- 74 个测试通过,安装自检 11/11
安装与使用见 README。