dsh-session-sync
Agent 与会话 活跃维护

dsh-session-sync

TheChengXi/dsh-session-sync

依托广播会话修改机制,可在多个终端窗口间自动同步会话状态,任意窗口的会话修改实时同步至所有关联窗口,无需手动切换操作即可保持会话一致性,适配多窗口开发运维高频操作。

0
Stars 标星
0
Forks 分支
0
Watchers 关注
0
Open Issues
TypeScript
主要语言
None
开源协议
33 KB
仓库大小
27 天前
最后推送
一键安装扩展 / 插件指令
dsh plugin --profile web add github:TheChengXi/dsh-session-sync
git clone https://github.com/TheChengXi/dsh-session-sync.git
git clone git@github.com:TheChengXi/dsh-session-sync.git
README.md main

dsh-session-sync

DSH web 会话跨窗口同步插件。

在每个打开的浏览器窗口之间通过 BroadcastChannel('dsh-session-sync') 广播「当前选中会话」,
任一窗口切换 / 新建 / 删除(归档)会话后,其余窗口的选中态自动跟随。

  • 只同步选中态(sessions.open / sessions.clear),会话列表的增删由 DSH 原生 host/ 帧广播自动完成。
  • 防回环:应用远端动作前预置 lastCurrent 为目标值 + 幂等提前返回,远端引发的切换不反向广播。
  • 竞态收敛:未知会话 id 进 pending,列表快照每次变化复查,phase === 'ready' 仍未出现则丢弃。

安装

作为部署级 client 插件安装(junction 链入 profile 的 node_modules,再在
profiles/web/cordis.patch.yml- insert: { id: session-sync, name: 'dsh-session-sync' })。