前言¶
在 DeepSeek Harness(DSH)里排查日志、写脚本、提 Issue 或执行 dsh 命令时,经常需要当前会话的 session id。界面默认只显示对话标题,没有提供复制 id 的入口,开发者往往要开 DevTools、翻日志或从 URL 里手敲。下面介绍的客户端插件在标题右侧增加一个六位短标识,点一下即可把完整 session id 写入剪贴板。
这是什么¶
dsh-session-id-copy 由维护者 prgrmrwy 发布,分类为客户端插件。它在当前会话标题旁注入一个小徽章,展示 session id 去掉 session- 前缀后的前六个字符;单击徽章复制完整 session id,并在下方短暂显示已复制提示。数据只来自 DSH 官方的 sessions 列表与标题区域 DOM,不读对话内容、不发网络请求、不写本地存储。
核心功能¶
- 标题旁六位徽章:例如
session-9af69be9-…在徽章上显示为9af69b;真实 id 以官方 sessions 列表里的current为准,切换会话或改标题会即时更新。 - 单击复制完整 id:悬停时指针样式、背景高亮,tooltip 显示完整 id;复制成功后约 1.2 秒内显示提示(中英文随界面语言),再 200 ms 淡出。
- 不改动官方标题行为:标题仍为官方控件(不可点复制);面包屑继续负责导航。自 0.1.1 起交互集中在独立徽章上,避免与面包屑导航冲突。
- 无配置项:插件行无
config字段,也不读环境变量。 - 边界与安全:Host 侧入口为空加载器,仅用于让浏览器 bundle 可达;剪贴板失败或找不到官方 DOM 时静默降级,不抛错、不上传数据。
安装与启用¶
需要 DeepSeek Harness 0.2.0-rc.2 与 Node.js >=22.19。
npm 预构建包(无需本地构建审批):
dsh plugin --profile web add dsh-session-id-copy
或从源码安装(本地构建,按提示批准构建):
dsh plugin --profile web add prgrmrwy/dsh-session-id-copy
安装后重启 DSH 并刷新 Web 页面。无额外配置步骤。
卸载:
dsh plugin --profile web remove dsh-session-id-copy
同样重启 DSH 并刷新页面,徽章消失,不会留下插件自有设置或数据。
典型用法¶
- 在 Web 客户端打开任意已有标题的会话,在标题文字右侧查看六位徽章(空白会话或 hero 视图无标题区,不会出现徽章)。
- 将鼠标移到徽章上,确认 tooltip 中的完整 session id。
- 单击徽章,等待标题下方短暂出现的「已复制」类提示,即可在日志、脚本或 Issue 中粘贴完整 id。
插件通过 sessions 订阅与 MutationObserver(含 subtree 与 class 变化)配合 rAF 防抖,在标题区域重建时更新或移除徽章;DSH 升级后若官方 DOM 结构变化,维护者预期主要调整 title-locator.ts 一类定位逻辑。
适用场景与注意¶
适合:经常在 DSH Web 端做运维、自动化或问题上报、需要快速拿到当前 session id 的开发者。
注意:
- 插件随当前 DSH 进程与 Web 客户端注入运行;安装前建议在 GitHub 仓库 查看源码与 MIT 许可证,确认符合你的安全策略。
- 依赖与运行中 DSH 版本对齐的
@deepseek-ai/cordis、@deepseek-ai/dsh-api-session-controller、@deepseek-ai/dsh-client-locale等 peer 包;clipboard API 不可用时会静默失败。 - DSH 社区插件目录为独立站点 skillhub.cn,与 DeepSeek / 幻方无官方从属关系;本文事实以仓库 README 与发布包为准。
结尾¶
若你希望少一步 DevTools 或日志检索,dsh-session-id-copy 把 session id 放到标题旁:看六位、点一下、拿完整 id。目录页:https://www.skillhub.cn/plugins/prgrmrwy/dsh-session-id-copy;源码与 Issue:https://github.com/prgrmrwy/dsh-session-id-copy。