dsh-multi-chat 0.6.8 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +88 -30
- package/README.zh.md +54 -30
- package/bin/dsh-multi-chat.mjs +5 -9
- package/lib/client.js +778 -0
- package/lib/client.js.map +1 -0
- package/{plugin/dsh-client-ui-multi-wall/lib → lib}/index.js +58 -70
- package/lib/tsconfig.tsbuildinfo +1 -0
- package/lib/types/client/WallToggle.d.ts.map +1 -0
- package/lib/types/client/WallToggle.js +36 -0
- package/lib/types/client/WallToggle.js.map +1 -0
- package/lib/types/client/WallView.d.ts.map +1 -0
- package/lib/types/client/WallView.js +218 -0
- package/lib/types/client/WallView.js.map +1 -0
- package/lib/types/client/index.d.ts.map +1 -0
- package/lib/types/client/index.js +59 -0
- package/lib/types/client/index.js.map +1 -0
- package/lib/types/client/locales.d.ts.map +1 -0
- package/lib/types/client/locales.js +96 -0
- package/lib/types/client/locales.js.map +1 -0
- package/lib/types/client/store.d.ts.map +1 -0
- package/lib/types/client/store.js +27 -0
- package/lib/types/client/store.js.map +1 -0
- package/lib/types/client/wall-injected.d.ts.map +1 -0
- package/lib/types/client/wall-injected.js +76 -0
- package/lib/types/client/wall-injected.js.map +1 -0
- package/lib/types/gateway.d.ts +57 -0
- package/lib/types/gateway.d.ts.map +1 -0
- package/lib/types/gateway.js +566 -0
- package/lib/types/gateway.js.map +1 -0
- package/{plugin/dsh-client-ui-multi-wall/lib → lib}/types/index.d.ts +80 -80
- package/lib/types/index.d.ts.map +1 -0
- package/lib/types/index.js +550 -0
- package/lib/types/index.js.map +1 -0
- package/{plugin/dsh-client-ui-multi-wall/lib → lib}/types/invariant.d.ts +3 -4
- package/lib/types/invariant.d.ts.map +1 -0
- package/lib/types/invariant.js +25 -0
- package/lib/types/invariant.js.map +1 -0
- package/package.json +49 -17
- package/patches/multi-wall.yml +1 -1
- package/scripts/install-plugin.ps1 +6 -9
- package/scripts/start-multi.ps1 +1 -1
- package/scripts/sync-vitest-paths.mjs +63 -0
- package/src/client/WallToggle.module.css +26 -0
- package/src/client/WallToggle.tsx +52 -0
- package/src/client/WallView.module.css +190 -0
- package/src/client/WallView.tsx +406 -0
- package/src/client/index.ts +103 -0
- package/src/client/locales.ts +100 -0
- package/src/client/store.ts +40 -0
- package/src/client/wall-injected.ts +123 -0
- package/src/css-modules.d.ts +5 -0
- package/src/gateway.ts +627 -0
- package/src/index.ts +618 -0
- package/src/invariant.ts +33 -0
- package/plugin/dsh-client-ui-multi-wall/README.md +0 -26
- package/plugin/dsh-client-ui-multi-wall/README.zh.md +0 -26
- package/plugin/dsh-client-ui-multi-wall/cordis.patch.yml +0 -7
- package/plugin/dsh-client-ui-multi-wall/lib/client.js +0 -781
- package/plugin/dsh-client-ui-multi-wall/lib/invariant.js +0 -27
- package/plugin/dsh-client-ui-multi-wall/package.json +0 -88
- /package/{plugin/dsh-client-ui-multi-wall/lib → lib}/types/client/WallToggle.d.ts +0 -0
- /package/{plugin/dsh-client-ui-multi-wall/lib → lib}/types/client/WallView.d.ts +0 -0
- /package/{plugin/dsh-client-ui-multi-wall/lib → lib}/types/client/index.d.ts +0 -0
- /package/{plugin/dsh-client-ui-multi-wall/lib → lib}/types/client/locales.d.ts +0 -0
- /package/{plugin/dsh-client-ui-multi-wall/lib → lib}/types/client/store.d.ts +0 -0
- /package/{plugin/dsh-client-ui-multi-wall/lib → lib}/types/client/wall-injected.d.ts +0 -0
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
# @deepseek-ai/dsh-client-ui-multi-wall
|
|
2
|
-
|
|
3
|
-
[English](README.md) | 中文
|
|
4
|
-
|
|
5
|
-
多窗口墙插件(浏览器端 + 服务端):把每一个正在运行的 DSH 实例铺成一张网格,一个窗口对应一个 `127.0.0.1:<port>`,作为增量 `conversation.view` 视图环条目(order 20)渲染在官方 Web 界面内。该视图将对话区原位替换为一张 iframe 墙,每个 iframe 加载带 `?multi-wall=embed` 标记的原版 DSH Web UI,该标记会在被嵌入页面内抑制墙界面——从根上杜绝「墙中墙」无限递归。侧边栏底部新增 `sidebar.footer.action` 快捷入口(order 10),点击后触发头部本插件的视图环标签页,从而经官方视图环状态机完成切换,而非直接读写对话 store。
|
|
6
|
-
|
|
7
|
-
墙的业务状态只有一个 store(`dsh.multi-wall`):已发现的端口列表与网格列数,跨视图切换与重载均可持久化。发现、探活、新建与关闭全部经服务端只读 JSON 路由完成——`/multi/api/ports`(自动发现,不排除任何端口,因此服务实例自身也可被监视)、`/multi/api/status`(指定端口列表的存活探活)、`/multi/api/stop`(终止所选实例)、`/multi/api/create`(启动全新实例,失败时回传子进程 stderr 等真实原因)、以及 `/multi/api/link`(手机访问)。
|
|
8
|
-
|
|
9
|
-
手机/远程访问:官方 CLI 出于安全禁止 `--host 0.0.0.0`(会暴露远程代码执行),因此 `/multi/api/link` 会懒启动一个**内联带令牌认证的网关**(基于 `node:net` 的反向代理,HMAC 签名的会话 Cookie 登录,目标为 `127.0.0.1:<self-port>`,重写 Host/Origin 使官方 `/api` 浏览器信任栅栏判定为本地请求,并原样透传 WebSocket 升级)。该路由返回局域网 URL 与登录口令;返回的地址会过滤掉虚拟网卡(VMware/VirtualBox/WSL/Docker/Hyper-V/VPN 等,手机无法直达),并把物理网卡(Wi-Fi/以太网)排在最前。当目标端口落入 Windows 排除段或已被占用时,网关自动回退到 OS 分配的端口。
|
|
10
|
-
|
|
11
|
-
`/client` 导出接口包括插件本体(`apply`/`inject`)、`WallView`/`WallToggle` 组件、墙 store 工厂,以及注入的探活面类型。
|
|
12
|
-
|
|
13
|
-
## 模型体验
|
|
14
|
-
|
|
15
|
-
无影响。本插件不添加任何提示词内容、不产生会话事件、不注入任何模型可见输入;墙、其 store 以及所有 `/multi/api/*` 路由都只是 UI/发现面。无 token 或 KV-cache 影响。
|
|
16
|
-
|
|
17
|
-
#### KV Cache 影响
|
|
18
|
-
|
|
19
|
-
无影响。本插件拥有的任何内容都不会进入历史尾部或模型上下文。
|
|
20
|
-
|
|
21
|
-
## 已知限制与暂缓事项
|
|
22
|
-
|
|
23
|
-
- **仅回环窗口**——墙内嵌 `127.0.0.1:<port>` 并探测回环地址;绑定到非回环主机的实例需在外部自行配置。
|
|
24
|
-
- **探活仅做标记检查**——存活判定只检查所服务页面的 index 是否含 `__DSH_BOOT__`;同端口被非 DSH 服务占用会误报为「未发现」。
|
|
25
|
-
- **会话作用域视图**——墙是 `conversation.view` 视图环条目,故仅在存在活跃会话时渲染。
|
|
26
|
-
- **内联网关为明文 HTTP**——受信任的局域网内明文输送口令可接受;跨公网时优先使用 `publicUrl`(外部 TLS 网关)或 VPN。
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
# dsh-client-ui-multi-wall bundle patch — append the multi-window wall loader
|
|
2
|
-
# entry to the profile's root entry list. As a `dsh.bundle` layer this patch is
|
|
3
|
-
# applied automatically by DSH when the package is installed into a profile
|
|
4
|
-
# (`dsh plugin --profile web add <pkg>`); no manual profile patch is required.
|
|
5
|
-
- insert:
|
|
6
|
-
- id: ui-multi-wall
|
|
7
|
-
name: '@deepseek-ai/dsh-client-ui-multi-wall'
|