Skip to content

Releases: Acoder416/dsh-plugin-workbuddy-gateway

v0.3.0 — 适配新版 DSH 设置接口与签到更新

Choose a tag to compare

@Acoder416 Acoder416 released this 19 Oct 08:33
5c86712

WorkBuddy v0.3.0 修复 DSH 0.2.1-rc.2 的设置接口兼容问题。

变更

  • 新版宿主使用 volatile Config、settings.configure() 和插件 entry id 保存设置,不再调用已移除的 installSection();仍支持旧宿主的设置分区。
  • 配置修改立即生效并在重启后保留;设置服务替换不会重复注册监听器;模型路由写入保留其他提供方配置。
  • 修复随 DSH 启动的国内账号每日签到,并加入默认关闭的国内个人账号成长打卡开关。签到确认、重试和关闭处理有离线回归覆盖。
  • 退出插件时等待网关停止;统一包版本和健康检查为 0.3.0。

验证

  • npm test:124 项通过。
  • npm run test:python:77 项通过。
  • npm run verify:boot:Windows 上真实网关启动、区域持久化、成长策略及关闭通过。
  • node scripts/check-package.mjs:通过。
  • GitHub Actions:Linux 单元测试、打包检查、网关启动测试,以及基于已构建 DSH 的配置集成测试全部通过。
  • 官方 Windows DSH 0.2.1-rc.2:临时 profile 内验证 bundle 加载、HTTP 和外部配置读写、无需重新挂载、重启持久化、健康检查版本及模型路由隔离。

验证使用临时配置及空凭据,没有调用付费模型或真实账号接口。

安装与升级

完全退出 DSH 后安装固定标签,然后重新启动 DSH:

dsh plugin --profile web add "github:Acoder416/dsh-plugin-workbuddy-gateway#v0.3.0"

官方 Windows 桌面版使用安装目录内的 resources/runtime/cli/bin/dsh.cmd,将命令中的 profile 改为 desktop。保留已有 bundle 启用状态和用户配置;新安装请按 README 启用插件。

账号数据无需迁移。升级前保留 profile 和 WorkBuddy 状态的私有备份。

回退

仅在仍提供旧设置接口的 DSH 上可回退到原有标签:

dsh plugin --profile web add "github:Acoder416/dsh-plugin-workbuddy-gateway#v0.2.6"

DSH 0.2.1-rc.2 不支持旧标签使用的 installSection(),请保留 v0.3.0。回退插件代码不会恢复配置或撤销账号操作。

v0.2.6 — 合并 Desktop 与账号扫描修复

Choose a tag to compare

@Acoder416 Acoder416 released this 01 Oct 17:21

最终合并版本 v0.2.6,包含原 0.2.6、0.2.7、0.2.8、0.2.9 的全部修复。

修复内容

  • 使用当前 DSH settings.describe() / settings.mutate() API 写入 WorkBuddy 模型路由。
  • 兼容官方 Desktop 的三种请求转发形式:显式 Origin: dsh-app://app、保留 Referer、以及 Origin 和 Referer 都被桥接移除但保留插件请求标记的形式。
  • 跨域 Origin、错误标记、缺失标记和缺少 Host 的请求继续拒绝。
  • 修复加密桌面凭证导致的扫描白屏;加密 token 不会被导入,页面显示浏览器授权提示。
  • 统一包版本、插件健康接口和文档为 0.2.6。

验证

  • JavaScript:115 项通过
  • Python:47 项通过
  • 包检查、Windows 网关启动验证、spawn preflight、git diff --check:通过

安装固定版本:

dsh plugin --profile web add "github:Acoder416/dsh-plugin-workbuddy-gateway#v0.2.6"

安装后重启 DSH。账户凭证和配置无需迁移。

v0.2.9

Choose a tag to compare

@Acoder416 Acoder416 released this 02 Oct 16:34
ad2aed2

Desktop bridge request fix

Official DeepSeek Harness Desktop removes Origin while forwarding settings POST requests to the local plugin server. v0.2.9 sends a plugin request marker that survives that bridge, while explicit cross-origin origins remain rejected.

Validation: 115 JavaScript tests, 47 Python tests, package check, platform boot check, and spawn preflight pass.

v0.2.8 — Fix explicit Desktop origin

Choose a tag to compare

@Acoder416 Acoder416 released this 02 Oct 10:35
8a6fcb7

修复 Desktop 端仍返回 this route only accepts same-origin requests 的问题。

根因

部分 Desktop 请求到达插件时保留 Origin: dsh-app://app。0.2.7 只处理了 Origin 被移除、保留 Referer 的转发形式,因此仍会拒绝这种合法请求。

修复

  • 在存在 Host 时接受精确的 Origin: dsh-app://app。
  • 保留 0.2.7 的 dsh-app://app Referer fallback。
  • 任意其他 Origin、错误 Referer、缺失 Host 继续拒绝。

验证

  • 修复前现场复现:Desktop POST 返回 HTTP 403。
  • JavaScript 112 项通过
  • Python 47 项通过
  • 包检查和 Windows 网关启动验证通过
  • git diff --check 通过

安装固定版本:

dsh plugin --profile web add "github:Acoder416/dsh-plugin-workbuddy-gateway#v0.2.8"

Desktop 请完全退出后重新打开,使插件代码重新加载。账户和网关配置无需迁移。

回退到上一版:

dsh plugin --profile web add "github:Acoder416/dsh-plugin-workbuddy-gateway#v0.2.7"

GitHub Actions 的 DSH 集成任务因无法 checkout 私有 deepseek-ai/deepseek-harness 而无法运行;单元检查和包检查通过。

v0.2.7 — Support Desktop forwarded requests

Choose a tag to compare

@Acoder416 Acoder416 released this 02 Oct 05:28
6b26491

修复 DSH Desktop 中所有 POST 操作被拒绝的问题。

根因

Desktop 页面使用 dsh-app://app,转发到插件本地 HTTP 服务时会移除 Origin,但保留 Referer。旧版插件在缺少 Origin 时直接判定为跨域,因此网关重启、账号操作和模型路由写入都会返回 403。

修复

  • 当 Origin 缺失时,仅接受 Referer 的协议为 dsh-app: 且主机为 app 的 Desktop 请求。
  • 显式的恶意 Origin、错误 Referer、缺失 Host 仍然拒绝。
  • 增加 Desktop 同源校验回归测试。

验证

  • JavaScript 111 项通过
  • Python 47 项通过
  • 包检查和 Windows 网关启动验证通过
  • Desktop 健康接口加载插件版本 0.2.7
  • Desktop Referer 转发的 POST 返回 HTTP 200

安装固定版本:

dsh plugin --profile web add "github:Acoder416/dsh-plugin-workbuddy-gateway#v0.2.7"

Desktop 当前 profile 已切换到本地源码链接。若恢复 GitHub 安装,请完全退出 Desktop 后执行上面的安装命令,再重新打开应用。

回退到上一版:

dsh plugin --profile web add "github:Acoder416/dsh-plugin-workbuddy-gateway#v0.2.6"

GitHub Actions 的 DSH 集成任务因无法 checkout 私有 deepseek-ai/deepseek-harness 而无法运行;单元检查和包检查通过。

v0.2.5

Choose a tag to compare

@Acoder416 Acoder416 released this 23 Sep 08:57
8a570fa

修复重装新版 WorkBuddy 后,点击「扫描桌面端账号」导致设置页空白的问题。

  • 兼容加密昵称:使用凭证文件名显示,不再把加密对象作为 React 文本渲染。
  • 识别加密的登录令牌,明确提示使用「浏览器授权登录」,禁用直接导入;不再将加密对象误存为有效令牌。
  • 扫描不到凭证时显示操作提示。明文凭证仍可导入,扫描不修改桌面端文件。
  • 插件、宿主和健康接口版本统一为 0.2.5。

注意:本版本修复扫描白屏和错误导入,不提供桌面加密凭证解密。新版桌面端显示「已加密」时,请在插件中选对应区域,再使用「浏览器授权登录」。

验证:106 项 JavaScript 测试(串行运行)、47 项 Python 测试、打包检查、离线网关启动/重启、本机受影响凭证的只读扫描均通过;GitHub unit job 通过。默认并发测试曾遇到本机内存耗尽,串行重跑通过。浏览器自动化不可用,页面操作由现有客户端测试工具验证。可选 GitHub 集成任务未能拉取其配置的上游 main 分支,未运行到集成测试,不计为通过。

安装:

dsh plugin --profile web add "github:Acoder416/dsh-plugin-workbuddy-gateway#v0.2.5"

安装前停止 DSH 并备份配置和账号数据;安装后重新启动 DSH 并刷新浏览器。仅重启 Python 网关不能加载宿主更新。无需迁移账号数据。

回退:

dsh plugin --profile web add "github:Acoder416/dsh-plugin-workbuddy-gateway#v0.2.4"

v0.2.4 标签保持不变。回退不会撤销账号或配置变更。

经仓库所有者明确授权,本次替换了此前未创建 Release、版本检查未通过的 v0.2.5 标签。此前已拉取该临时标签的用户需更新本地标签或重新安装;本 Release 对应修复合并后的 main 提交。

v0.2.4:修复网关启动时国内区未生效

Choose a tag to compare

@Acoder416 Acoder416 released this 21 Sep 03:18
d3a13e4

修复选择国内版后,网关启动或重启仍可能使用国际区账号的问题。

  • 在监听端口前应用所选区域;端口绑定完成后才报告就绪。
  • 使用启动时的 API Key 确认区域,确认失败时停止网关并明确报错。
  • 将区域状态保存在配置的账号目录,重启后正确恢复。
  • 修正测试夹具意外启动真实网关的问题,并将真实启动、重启和区域恢复测试加入 CI。

验证:104 项 JavaScript 测试、44 项 Python 测试、打包检查和离线网关启动验证通过;GitHub unit job 通过。本地 DSH 设置与模型路由集成脚本通过;国内模型实测正常回复,重启后所选区域、实际区域和模型目录均为 cn。

检查限制:GitHub 可选集成任务配置的 DSH main 分支无法拉取(上游默认分支为 master),因此该任务未运行到集成测试,不计为通过。

安装:

dsh plugin --profile web add "github:Acoder416/dsh-plugin-workbuddy-gateway#v0.2.4"

安装前停止 DSH 并备份配置和账号数据;安装后重新启动 DSH 并刷新浏览器。仅重启 Python 网关不能加载宿主插件更新。无需迁移账号数据。

回退:

dsh plugin --profile web add "github:Acoder416/dsh-plugin-workbuddy-gateway#v0.2.3"

v0.2.3 标签保持不变。回退代码不会撤销账号或配置变更。

WorkBuddy gateway v0.2.3

Choose a tag to compare

@Acoder416 Acoder416 released this 21 Sep 00:54
e206f26

WorkBuddy gateway 0.2.3

This release consolidates the recent WorkBuddy gateway fixes into one stable 0.2.3 version.

Changes

  • Treat upstream code 11140 as an account-level WorkBuddy restriction when the official client also fails; preserve the upstream explanation and rotate to another account in the same realm.
  • Keep transport failures from incorrectly cooling an entire account pool, while retaining authentication and per-model rate-limit handling.
  • Domestic check-in status now expires at the local day boundary, so yesterday's status is not shown as today's result.
  • After a successful or already-claimed domestic check-in, refresh the account credits immediately and update the settings page without waiting for polling.
  • Keep daily check-in separate from the slower growth-task credit claiming workflow.
  • Align package, health endpoint, README, changelog, and third-party notice versions at 0.2.3.

Install

dsh plugin --profile web add "github:Acoder416/dsh-plugin-workbuddy-gateway#v0.2.3"

Restart DSH after installation and refresh the browser.

Roll back

dsh plugin --profile web add "github:Acoder416/dsh-plugin-workbuddy-gateway#v0.2.2"

Validation

  • npm test — 99 passed
  • npm run test:python — 40 passed
  • npm run preflight — passed
  • node scripts/check-package.mjs — passed

The GitHub Actions integration job could not check out the DSH harness, and the duplicate unit job became stuck without new logs. Both are environment-level CI issues; the same release commit passed all local checks above. The integration job is configured as non-blocking.

v0.2.2:按账号和模型记录限流与恢复时间

Choose a tag to compare

@Acoder416 Acoder416 released this 17 Sep 07:59

修复内容

  • 按账号和模型分别记录 HTTP 429 / 业务码 6004 的限流恢复时间,自动尝试同一区域内其他可用账号。
  • 优先解析上游给出的恢复时间和 UTC 偏移,其次采用 Retry-After;缺少有效时间时默认等待 300 秒,可通过 WB_RATE_LIMIT_FALLBACK_SECONDS 调整。
  • 限流记录保存在账号文件中,重启、重新导入或切换启用状态不会清除有效记录;同一账号的其他模型仍可使用。
  • 所有候选账号在当前模型上均受限时,后续请求返回带最早 resetAt 的 429,到期前不重复请求上游。
  • 账号卡片显示受限模型和预计恢复时间;保留 Chat Completions / Responses 的上游错误内容和有界的 502/503/504 账号切换。
  • 更新中英文 README。多个账号均返回 429 不代表已证明共享 IP 限流,各账号的恢复时间分别保存。

安装或升级

先停止 DSH,并私下备份 profile 配置、锁文件及 $DSH_HOME/workbuddy/。然后安装固定标签:

dsh plugin --profile web add "github:Acoder416/dsh-plugin-workbuddy-gateway#v0.2.2"

在 DSH 源码目录中使用 pnpm dsh plugin --profile web add "github:Acoder416/dsh-plugin-workbuddy-gateway#v0.2.2"。安装后重启整个 DSH 并刷新页面;仅重启 Python 网关不会更新已加载的宿主代码。

回退

dsh plugin --profile web add "github:Acoder416/dsh-plugin-workbuddy-gateway#v0.2.1"

停止 DSH 后执行,完成后重启。回退仅恢复旧版代码,不会撤销账号操作或自动恢复配置;需要恢复数据时使用自己的备份。v0.2.1 使用旧版限流处理逻辑。

验证

  • Windows 本地:97 项 JavaScript 测试、30 项 Python 测试通过;两项 DSH 集成脚本、包检查和打包内容检查通过。
  • 新增的协议回归测试在 v0.2.1 上失败,在 v0.2.2 上通过。
  • 已核对从 GitHub 标签安装的文件与发布源码一致,并通过插件接口重启网关,确认运行正常且返回模型限流字段。
  • 验证未发送真实模型请求,未消耗账号推理额度;未在真实 macOS/Linux 环境验证。
  • 发布整理时,GitHub Actions 单元测试仍在运行;集成任务在拉取 DSH 仓库时失败,未执行云端集成验证。不能将本地通过等同于云端检查全部通过。检查记录:https://github.com/Acoder416/dsh-plugin-workbuddy-gateway/actions/runs/35196060388

发布标签 v0.2.2 固定指向 1d7c0906c95bd79a3281ba9ad00627ef3dd3df7c,该提交已合入 main。已有标签保持不变,后续修复使用新的版本号。

v0.2.1:调整全部账号限流时的重试策略

Choose a tag to compare

@Acoder416 Acoder416 released this 17 Sep 08:04

此页面为已有标签补齐的历史 Release,供版本查阅与回退。当前推荐版本为 v0.2.2。

版本内容

  • 当单次请求的全部候选账号均返回 429 时,将本次涉及账号的冷却时间由 300 秒缩短为 30 秒。
  • 账号池没有就绪账号时,允许尝试最接近恢复的账号,同时保留单次请求的尝试次数限制。

已知限制与后续修复

这是一版已被替代的限流策略:当时将所有账号返回 429 视为共享限流,但这些响应本身不能证明共享 IP 限流;额外探测也可能早于上游恢复时间。v0.2.2 已改为按账号+模型+上游恢复时间持久化限制,并移除提前探测逻辑。新安装建议使用 v0.2.2。

安装或回退到本版

先停止 DSH,并私下备份 profile 配置、锁文件和 $DSH_HOME/workbuddy/,再执行:

dsh plugin --profile web add "github:Acoder416/dsh-plugin-workbuddy-gateway#v0.2.1"

在 DSH 源码目录运行时,将命令开头的 dsh 换为 pnpm dsh。完成后重启整个 DSH 并刷新页面。回退只切换插件代码,不会自动还原账号数据、领取操作或配置;需要恢复数据时使用自己的备份。

历史记录核对

本次依据该标签下的源码、README、提交记录及 CHANGELOG 补齐说明,已核对包版本与标签一致;没有重新运行该历史版本的完整测试,也不承诺其兼容当前所有 DSH 版本。

固定提交:963ec42。已有标签及其代码保持不变。

与 v0.2.0 比较