zhu1090093659/dsh-web--packages-dsh-session-id ↗★ 5.8k
@linxin666/dsh-client-ui-session-id
DSH web GUI plugin: sidebar-foot Session ID panel listing every session with its full id and one-click copy (browser-only; no source changes).
安装
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:zhu1090093659/dsh-web#8d02146df032e6de8d54b7a0aba2c9da039d47e4&path:packages/dsh-session-id说明文档
阅读完整 README ↗@linxin666/dsh-client-ui-session-id
English | 中文
纯浏览器端的 DSH Web GUI 插件:在侧边栏底部加入口,打开面板列出全部会话的
会话 ID,一键复制。挂载到官方侧边栏底部席位(sidebar.footer.action),不改
任何 DSH 源码,host 侧零行为。
是什么
- 在侧边栏底部的设置行旁边新增「会话 ID」入口:收起态与展开态都只显示 图标按钮(文字保留为无障碍名称与悬停提示)。
- 收起态下与遥控/更新入口同列纵向堆叠、对齐轨道中轴;展开态下与其他底部 入口同行横排。
- 点击打开居中面板,列出全部会话:显示标题、完整会话 ID(等宽字体),每行 一个「复制」按钮;当前会话有标记。
- 面板顶部有搜索框,按标题或 ID 子串本地过滤(只读、不发起 host 查询), 会话多时也能快速定位。
- 数据来自官方
ctx.sessions.list实时数据源,会话开始、结束或归档时面板 自动跟随刷新,无需手动刷新。 - 点击「复制」通过官方剪贴板助手(
writeClipboard)写入 ID,按钮短暂显示 「已复制」。
安装
从 npm 安装(推荐)
dsh plugin --profile web add @linxin666/dsh-client-ui-session-id@latest
重启 dsh web(或等待热更新生效)后,点击侧边栏底部的「会话 ID」入口即可。
从仓库安装(开发调试)
git clone https://github.com/zhu1090093659/dsh-web.git
cd dsh-web
pnpm install
pnpm -r build
dsh plugin --profile web add link:$(pwd)/packages/dsh-session-id
安全模型
- 会话 ID 是定位 / 自动化标识,不是认证凭据:它本身无法访问会话、 文件或宿主。面板只展示与复制 ID,绝不写入会话日志、agent prompt 或任何 持久化存储,也绝不自动复制。
- 复制始终由用户手势触发;剪贴板写入失败时按钮显示可操作的「复制失败,请 重试」状态,不额外申请剪贴板权限、不做后台重试。
- 分享会话 ID 仍可能暴露工作流关联信息(标题、运行时间、在 workspace 中的位置),请只在确实需要在别处引用会话时按需复制。
已知限制
- 需要声明了
sidebar.footer.action席位的 DSH Web 外壳(0.1.0-rc.8 及更新版本); 旧版外壳上入口不会渲染。 - 只读查看器:只展示与复制 ID,不打开或管理会话。
数据遥测
浏览器半区每个 UTC 日向 dsh-market.com 发送一次匿名安装心跳:仅含一个 localStorage 随机 ID 与本包名,无其他数据。服务端只存储该 ID 的加盐哈希,不存 IP,且只暴露聚合计数。完整契约见 docs/telemetry.md。
许可证
BSD-3-Clause。