Repository navigation
dsh-remote v0.8.16 — 新增(实验性):官方 Desktop 传输 + 原生右栏远程文件(PR #31),并就评审发现加固 4 处
新增(实验性):官方 Desktop 传输 + 原生右栏远程文件(PR #31),并就评审发现加固 4 处
PR #31(@dahaipeng)—— 官方 DeepSeek Harness Desktop 兼容路径
官方 Desktop 组合会禁用旧的 webServer / webRuntime row,而 0.8.15 的硬
webServer 注入 + 内置旧侧栏会让该组合起不来。本版加一条兼容路径(实验性,
不含新监听端口、不代理、不伪造 WebServer 服务、不改核心):
- Web 传输改为响应式/可选:
inject从['tools','systemPrompt','webServer']
收敛为['tools','systemPrompt'],两种 UI 传输在registerHttpTransports()里
各自ctx.inject挂载。服务晚到也能注册上(已用真 cordis 实测:插件先 apply、
webServer后提供,25 条路由全部注册)。 - 新增 Connection Fetch 路由(
lib/http-transport.js),把同一批有界 JSON
handler 同时挂到/api/dsh-remote/*,供无端口的dsh-app:carrier 使用;
旧/dsh-remote/*路由原样保留。鉴权仍归 carrier 负责。 - 派发之前强制 1 MiB 请求体上限(超限回 413,绝不退化成空对象触发默认动作);
跨 IPC chunk 传一个整体 buffer,避免 UTF-8 被切断。路由前缀在发送前选定,
不重试 POST。 - 核心 Web-server row 被显式禁用时(官方 Desktop 组合),内置
dsh-better-sidebarrow 保持禁用;独立侧栏 / 顺序无关的去重守卫照旧保留。 - 新增原生
sidebarRightTabs/sidebar.right.pane.tab注册,复用现有远程
资源管理器与文件编辑器,并给远程文件独立的、按会话隔离的
dsh-resource://dsh-remote/<sessionId>/<path>地址(不再把远程路径当本地
Files 路径)。 - 回归测试 + 中英文文档。
评审后加固(对 Web 行为零改变,113/113 通过)
connectionRoute()删掉route.kind === 'exact'要求。kind
(WebRouteKind)是dsh-host-webserver的概念;Connection 的
ConnectionFetchRoute没有这个字段,真实的assertFetchRoute()只校验
路径形状与 methods。要求一个 API 从未定义的字段,会让将来漏写kind的路由
直接抛错。已对真实dsh-client-connection0.1.5-rc.2 registry 实测。- Connection Fetch 路由改为逐个注册。原单个
.map()在遇到第一条坏路由时
会中断,静默丢掉其后所有路由,同时泄漏前面已注册路由的 disposer;而这段
代码跑在ctx.inject子 fiber 里,loader 只 log 不 rethrow,父插件仍是 ACTIVE,
所以这种「部分注册」完全不可见。现在部分失败会经console.warn报出来。 - CI 语法检查改为 glob
lib/*.js,不再用手工清单——原清单已漏 4 个文件
(binding.js、registry.js、update.js以及本次的http-transport.js),
新文件里的语法错误可以一路进 main。 - 补
@deepseek-ai/dsh-client-connection为 optional peer,并把
@deepseek-ai/dsh-host-webserver的 peer 标为 optional:Desktop 组合会禁用
该 row,插件已不再硬依赖它。
仍是发布闸门(未在本版解决,见 README 兼容性说明)
- 原生右栏的文件打开/编辑/同步端到端验收(当前原生 slot/resource/生命周期测试
用的是组件替身)。 - 侧栏文件操作绑定到「本会话的那台机器」,并测两台不同主机的并发会话。
现有/ls、/read、/write等仍走 active-machine 池,仅靠按会话隔离的
资源地址并不能修好这个后端行为 —— 这是多机场景的发布阻断项。 - 在受支持的 Web 版本上跑完整旧 Web UI 回归。
- 非 macOS 远端/宿主,以及失败/取消的交互。
版本号与 npm 发布仅代表代码状态:Desktop 支持仍属实验性,不构成本版本
对多机 Desktop 生产可用的承诺。
Full Changelog: v0.8.15...v0.8.16