dsh-copy-session-id

by Hanihahaha

0 会话与消息github 检测到 manifest package.json#dsh收录于 08-17

DSH Web 插件:在会话头部显示当前会话 ID,点击即复制完整值到剪贴板

A DeepSeek Harness (DSH) Web plugin that displays the current session ID in the session header and copies the complete value to the clipboard on click.

安装

dsh plugin --profile web add github:Hanihahaha/dsh-copy-session-id

GitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试

安装与环境配置指引、插件开发教程见 DSH 中文社区文档 ↗

安装即在你的机器上以你的权限运行第三方代码——它可读写文件、使用凭据、访问网络,DSH 的工具审批不会为插件代码加沙箱。「检测到 manifest」仅代表发现 dsh.bundle / dsh.plugin 清单,不构成兼容性或安全审查;安装前请审阅源码,不熟悉的插件先在不含密钥的环境试用。

README

English

DeepSeek Harness(DSH)插件:在会话头部显示当前会话 ID,点击一键复制到剪贴板。

  • 会话头部(标题旁)出现一个等宽字体的小胶囊,显示当前会话 ID(过长省略号截断)。
  • 点击胶囊即复制完整 ID 到剪贴板,短暂显示绿色"✓ 已复制"反馈(约 1.5 秒)。
  • 中文界面显示"复制会话ID",英文界面显示 "Copy session ID"。

安装

# 在仓库根目录执行;相对路径会锚定到当前目录
dsh plugin --profile web add ".\dsh-copy-session-id"

包内 cordis.patch.yml 声明了 dsh.bundle,安装后自动作为 bundle 层插入 copy-session-id 条目;package.json 另声明 dsh.client(web 平台),web 启动时 dsh-client-modules 会把 lib/client.js 加入 boot 图并通过 /plugins/dsh-copy-session-id/client.js 提供。重启 dsh web 后生效。

工作原理

  • 挂载点:conversation.session.header.actions 会话级插槽(注册 id copy-session-id, order -5,位于交互按钮之前的静态上下文区)。框架会话套件直接提供 sessionId, 无需任何宿主 RPC。
  • 复制:优先 navigator.clipboard.writeText,失败回退 document.execCommand('copy')。
  • 反馈计时使用浏览器 setTimeout 并在 effect 清理中注销;样式使用 DSH 主题 token (--dsw-alias-border-l1 / --dsw-alias-label-secondary 等),亮暗色自动适配。
  • 宿主半边是空 apply,仅让 Loader 条目保持挂载(客户端模块表按活跃条目发现)。

许可

MIT

原始 README: https://github.com/Hanihahaha/dsh-copy-session-id/blob/main/README.zh.md ↗