Repository navigation
Releases: chen1pengvincent/dsh-model-sync-plugin
Releases · chen1pengvincent/dsh-model-sync-plugin
Release list
v0.9.2 (pre-release)
[0.9.2] - 2026-10-22
Pre-release / 预览版:DSH NEXT 2.0.19-next 是社区项目(
anywhere-labs/dsh-desktop),不是 DeepSeek 官方发行版。本版本只在 DSH Desktop 2.0.18 的同一 kernel0.2.1-rc.2上完成宿主、API 与客户端验证;NEXT 自有 GUI、客户端壳和插件管理界面尚未完整验证。请先在独立测试环境(建议设置独立DSH_DESKTOP_NEXT_HOME)验证,不要直接用于生产。稳定版仍为 v0.9.1。
Added
package.json#engines.dsh:>=0.1.2-rc.1 <0.3.0-0;DSH 0.2.1+ 在安装和启动时执行兼容检查。dshWorkshop.compatibility.dshVersions增加0.2.1-rc.2。- README /
docs/ecosystem.md补充 DSH NEXT 风险、验证边界、稳定版与回退方式。
Fixed
- 0.2.1 credentials:已保存凭据优先于启动环境变量;env 兜底为可写。只有来源确实只读(
writable: false)才告警,不再把所有环境变量误报为“遮蔽”。 - 0.2.1 入口式 settings 没有
get()时,自定义 pi-aibaseURL的主机现在通过describe()读取,OpenCode 会话头不会因自定义 host 漏加。 - pi-ai 版本措辞与发现请求的
user-agent更新为dsh-model-sync/0.9.2。
Verified
- 单元测试:59/59 通过。
- DSH Desktop 2.0.18 / kernel
0.2.1-rc.2:插件安装、宿主启动、GET /model-sync/api/state200、无头 Chromium 设置面板渲染正常、console 无 error。 - 负向验证:临时把
engines.dsh改为不兼容范围后,dsh plugin add在进入 pnpm 前拒绝安装。 - DSH NEXT 2.0.19-next 的
package.json固定依赖@deepseek-ai/dsh-app-boot@0.2.1-rc.2;其 GUI 未在本次验证中启动。
Compatibility
- DSH Desktop 2.0.18 / kernel
0.2.1-rc.2已实测。 0.2.0-rc.2、0.1.2-rc.1保留历史兼容路径。- DSH NEXT 2.0.19-next:仅内核层面验证,GUI 兼容性为预览状态。
Full Changelog: v0.9.1...v0.9.2
v0.9.1
[0.9.1] - 2026-10-19
Fixed
- 删除某个协议分流(sibling)的最后一个模型时,改为 unset 整个 provider,而不是写入空的
models数组。DSH 的严格写入不接受“解析不到模型”的路由,原实现会导致保存失败。
Verified
- 单元测试:57/57 通过。
Stability
- 稳定版:推荐用于 DSH Desktop ≤2.0.17 / kernel 0.2.0。
v0.9.2是 DSH kernel0.2.1/ DSH NEXT 兼容更新,以 pre-release 发布;如遇兼容问题可继续使用本版本。
Full Changelog: v0.9.0...v0.9.1
v0.4.0
[0.4.0] - 2026-10-06
Added
- Attach
x-opencode-sessionper conversation for OpenCode / OpenCode Go
routes at request time, without writing settings.llm/streamreadsoptions.provider+ the durableoptions.sessionId.AsyncLocalStoragewraps the downstream chunk stream; aglobalThis.fetch
patch injects the header only while that window is active.- Scoped to OpenCode provider prefixes (
opencode-go/opencode, including
the-responses/-messagessiblings) and to OpenCode hosts. - Default value is an opaque random UUID per DSH session — stable within a
conversation, new on session switch, never the raw internal session id. - Never overrides a header the caller already set (safe on pi-ai 0.86+ and
with staticheaders).
lib/session-header.jsandtests/session-header.test.js.- Config block
sessionHeader({ enabled, mode, providers }), overridable by
id in the profilecordis.patch.yml.
Fixed
400 MissingSessionIDfrom OpenCode Go for routes this plugin declares with
an explicitapi:(which pi-ai's built-in wrapper does not cover).
Changed
package.json:0.3.0->0.4.0; discoveryuser-agent->dsh-model-sync/0.4.0.lib/index.js: stale v1 docstring aligned with the v2 read-only behavior.npm testscript:node --test tests/->node --test(works on Node 24).
Verified
- Unit tests: 32/32 pass.
- Real credential,
POST /zen/go/v1/chat/completions(deepseek-v4.1-flash):
no header ->400 MissingSessionID; withx-opencode-session->200. - Real OpenAI SDK 6.40 end-to-end: patch active ->
200; wrong host scope ->400. - Model reachability:
kimi-k3200;ox-alpha-freeunavailable upstream,
its settings entry repointed to the currentomen-alpha(200).
Compatibility
- DSH kernel
0.1.2-rc.1+; verified on DSH Desktop2.0.11,
dsh-llm-pi-ai@0.1.5-rc.2,@earendil-works/pi-ai@0.85.1. - No effect on non-OpenCode providers.
Full Changelog: v0.3.0...v0.4.0