Overview
dsh-pwa-launcher
README / EN
Package documentation
Registry summary
dsh.pub verifies the pinned bundle contract, runtime facts, and distribution semantics. The complete README remains in the source repository.
Read the full README on GitHubLIMITATIONS
Known limitations
* **仅 Windows。** `package.json` 声明了 `"os": ["win32"]`,代码里还有一道运行时守卫 —— 其他系统上装不上,万一装上了也不会做任何事。 * **尚未发布到 npm。** 所以 `dsh plugin add dsh-pwa-launcher` 这种按包名的写法现在会失败, 请用上面「安装」一节里的 tarball 直链。 * 如果 Edge/Chrome 哪天把 PWA 快捷方式改回原样,下一次 dsh 启动时插件会**自动再接管一次**。 * 同时跑多个 dsh 实例(多 profile / 多端口)时,`launcher.json` 是**后写覆盖**, 图标会指向最后启动的那个。 * 接管只认「名字相同」或「`--app-url` 指向当前端口」的 PWA 快捷方式;两者都不匹配就 自己新建一个,**不会去动别人的快捷方式**。 * 自助升级覆盖「本地 npm 树」与「`npm i -g` 全局安装」两种;认不出的装法会明确报错并 提示你手动 `npm install @deepseek-ai/dsh@<版本>`。**只提醒、给版本号**这部分不受影响。 ### 关于开窗用的令牌 dsh 每次启动生成一个新的 launch token,未认证请求返回 **401**(不是错误页, 所以「看到 401」就代表服务已经就绪)。插件优先在**进程内**直接向 `connection` 服务要带令牌的地址(写进 `launcher.json`,首次双击图标前可能还没有这个文件): * **主路径**:`launcher.json` 里的带令牌地址 —— 永远和当前进程一致。 * **兜底**:`logs\dsh-stdout.log` 里的 token 行。这条只在「dsh 是被本启动器拉起的」 前提下才属于当前进程 —— 你自己手动起的 dsh,日志里留的是**上一轮的旧令牌**, 拿它开窗只会得到一个 401 空白页。 另一个容易踩的点:**接管过的快捷方式,第二次还要找得到。** 接管之后它的目标不再是 `msedge_proxy.exe`,所以判定顺序是「可接管的 PWA 快捷方式 → 已指向启动器的快捷方式 → 新建」。 否则第二轮会误判成「没找到」,退回备用图标把 Edge 给你的图标覆盖掉。 原始命令行(以及那个图标的位置)记在 `launcher.json` 同目录的 `shortcut-origin.json` 里 —— 卸载时就是靠它还原成原样。
