一键把当前会话 ID 原文复制到剪贴板
30/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/12 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add zws20070309/dsh-copy-session-id该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
依赖的 DSH / Cordis 模块
@deepseek-ai/dsh-client-locale@deepseek-ai/dsh-client-ui-plugin-manager给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 复制当前会话ID
- 标题栏添加按钮
DSH 插件:会话标题栏加一个「复制会话 ID」按钮,点一下把当前会话 ID 原文放进剪贴板
README
由 DeepSeek 最新模型翻译生成dsh-copy-session-id
给 DeepSeek Harness(DSH)的会话标题栏加一个「复制会话 ID」按钮。
点一下,当前会话 ID 的原文就进剪贴板——没有前缀、没有后缀、没有换行,粘到别处直接可用。
┌─ 会话标题栏 ──────────────────────────┐ │ 修复登录超时问题 [团队] [📋] │ ← 点这个 └───────────────────────────────────────┘ ↓ 图标变 ✓ +「已复制」,1.5 秒后还原
为什么需要它
跨会话协作时经常要把一个会话 ID 交给另一个会话:转交上下文、让子代理接着干、记进任务清单、贴给同事。DSH 本身不在界面上暴露当前会话 ID——要拿到它得翻目录或读存储文件。
这个插件把它变成一个按钮。
特性
| 复制的是纯 ID | 剪贴板里就是会话 ID 本体,没有任何包装文本 |
| 不占地方 | 平时只有一个图标按钮,不常驻显示 ID 文本。
展开完整文档(README 剩余 1 节)
dsh-copy-session-id
给 DeepSeek Harness(DSH)的会话标题栏加一个「复制会话 ID」按钮。
点一下,当前会话 ID 的原文就进剪贴板——没有前缀、没有后缀、没有换行,粘到别处直接可用。
┌─ 会话标题栏 ──────────────────────────┐ │ 修复登录超时问题 [团队] [📋] │ ← 点这个 └───────────────────────────────────────┘ ↓ 图标变 ✓ +「已复制」,1.5 秒后还原
为什么需要它
跨会话协作时经常要把一个会话 ID 交给另一个会话:转交上下文、让子代理接着干、记进任务清单、贴给同事。DSH 本身不在界面上暴露当前会话 ID——要拿到它得翻目录或读存储文件。
这个插件把它变成一个按钮。
特性
| 复制的是纯 ID | 剪贴板里就是会话 ID 本体,没有任何包装文本 |
| 不占地方 | 平时只有一个图标按钮,不常驻显示 ID 文本。悬停可看到完整 ID,方便核对复制对不对 |
| 失败看得见 | 复制失败会显式显示「复制失败」,不会静默吞掉 |
| 三级降级 | navigator.clipboard.writeText → 隐藏 textarea + execCommand('copy') → 显式失败提示 |
| 零依赖零构建 | 只 require('react'),不引任何 DSH 包,源码即运行物 |
| 不拖垮页面 | 槽位注册失败只会让按钮不出现,DSH 本身照常工作 |
安装
git clone https://github.com/zws20070309/dsh-copy-session-id.git
cd dsh-copy-session-id
powershell -ExecutionPolicy Bypass -File .\tools\install-link.ps1
然后完全退出并重启 DSH。
脚本做了什么(点击展开)
三件事,全部可回滚(改 profile 配置前会先备份):
| # | 动作 | 落点 |
| 1 | 建目录联接(junction)指向源码目录 | <DSH_HOME>\plugins\dsh-copy-session-id |
| 2 | dependencies 加一条 link: 依赖、dsh.profile.bundles 加一项 | <DSH_HOME>\profiles\desktop\package.json |
| 3 | 建 node_modules 联接 | <DSH_HOME>\profiles\desktop\node_modules\@zws\dsh-copy-session-id |
用的是联接而不是复制文件,所以在源码目录里改代码,重启即生效,不用重装。
可选参数与卸载(点击展开)
自定义路径 / 装到别的 profile .\tools\install-link.ps1 -DshHome D:\dsh -ProfileName web -Source C:\path\to\this\repo
卸载(保留源码目录) .\tools\install-link.ps1 -Uninstall
<DSH_HOME> 默认是 %USERPROFILE%\.dsh。插件放在 plugins\<name>,profile 在 profiles\<profileName>(桌面端是 desktop)。
也可以不走脚本:DSH 界面里「插件 → 已安装 → 添加插件」,填本仓库目录的绝对路径。
两个注意事项
一、必须重启才生效。 DSH 的 HMR 只对 profile 配置生效,源码模块要显式加进监听列表才会热重载,默认不监听插件目录(见官方 dsh-base/cordis.patch.yml:27-32,dsh-hmr 的 config.root 默认是空数组,注释写明 "module roots are opt-in")。
二、不要手改 profiles\<profileName>\cordis.yml 来注册插件。 那个文件只是个空列表占位,文件头写着 Edit cordis.patch.yml, not this file——插件的树是运行时由各 bundle 层的 patch 拼出来的。要手写注册请改 profile 自己的 cordis.patch.yml。
它是怎么挂上去的
挂在 DSH 官方的 UI 槽位 conversation.session.header.actions 上——会话标题栏右侧的操作区,官方的「智能体团队」等按钮也在这个容器里。
sessionId ──► 组件 props(session 作用域的标准 props) └─ dsh-client-ui-session → dsh-client-ui-renderer
apply(ctx) ──► slots.inject('conversation.session.header.actions', …)
└─ 注册本组件,order: 100
槽位的 order 是升序(数值越小越靠左)。本插件取 100,所以排在容器最右端——同槽位的官方条目实测 order 为 -30 / -20 / -10 / 20。
客户端 bundle 的形态是硬约束:DSH 会把所有插件的客户端代码拼成一个脚本执行,所以顶层不能有任何声明(和其他插件撞名会让整个应用起不来)。注册必须内联成单条 window.__ModuleLoader__.load({...}) 语句。
目录结构
lib/client.js 浏览器半。全部行为在这里:注册槽位 + 按钮组件 + 复制降级链 lib/index.js 宿主半。空壳,但必须存在(见下) cordis.patch.yml 三行,把本包作为一行插件配置新建进 profile locale/.json 插件页的标题与描述 icon.svg 插件页图标 tools/install-link.ps1 安装 / 卸载脚本 tools/selftest.cjs 离线自测 tools/review-.cjs 契约审查脚本
为什么 lib/index.js 是空的还要有?
浏览器半的发现机制跟着 cordis 的 fiber 走:一个包只有在 profile 的 cordis 配置里出现过、被真的 import 过,才会有 fiber,浏览器才会加载它的客户端代码。
至于 host 半做什么,官方只校验 exports["./client"] 存在,不看 host 半导出什么。所以它是个空壳,但删了插件就不会被加载。
开发
离线自测——不需要 DSH、不需要网络、不装任何包: powershell
node tools\selftest.cjs
它在假全局(假 window.__ModuleLoader__、假 react、假 clipboard、假 document)里真跑一遍 lib/client.js,断言注册形态、槽位参数、点击后剪贴板收到的是全文相等的纯会话 ID,以及降级链与失败提示。
契约审查——读本机 DSH 的官方包源码,校验依赖的槽位契约没变: powershell
node tools\review-01-toplevel.cjs # 顶层零声明(含与全部官方 bundle 拼合测试)
node tools\review-05-official-slots.cjs # 用官方真实 SlotCore 验证注册与排序
没装 DSH 也能跑:相关检查会自动跳过并说明原因,退出码仍是 0。
排错
| 症状 | 看哪里 |
| 标题栏没有按钮 | DevTools Console 搜 copy-session-id,插件会 console.warn('[copy-session-id] ...')。一条都没有 = 注册没跑(多数是没重启 DSH) |
| Console 有 [copy-session-id] slot register: | 官方槽位形状变了。页面不会崩,只是按钮不出现 |
| 按钮灰的、点不动 | 当前会话还没有 sessionId |
| 点了显示「复制失败」 | 浏览器不是安全上下文,且 execCommand('copy') 也被拒。DSH 本体在 127.0.0.1 上,正常不会走到这里 |
兼容性
- DSH 44.x(在 44.0.0 上开发与验证)
- 依赖宿主提供的 @deepseek-ai/dsh-client-locale、@deepseek-ai/dsh-client-ui-plugin-manager(>=0.2.0-rc.1 <0.3.0)
- Windows:安装脚本用目录联接(junction)。Linux/macOS 改用符号链接即可,把脚本里的 New-Item -ItemType Junction 换成 ln -s
许可
MIT预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
zws20070309/dsh-copy-session-id
一键把当前会话 ID 原文复制到剪贴板
相关插件 · UI / 主题
破甲增强版JeffKeeping/dsh-purge-plus
dsh-purge 的非官方分支fork:适配 DeepSeek Harness 0.2.1-rc.2、破甲内核…
★ 387已汉化DeepSeek 客户端
71.9
无代码业务系统平台nocobase/nocobase
NocoBase 是什么
★ 24,804已汉化DSH
71.8
1Panel 服务器面板1Panel-dev/1Panel
全球 250 万+ 自托管用户共同喜爱。
★ 37,362已汉化DSH
71.4
终端编码代理esengine/DeepSeek-Reasonix
· 指南 · ACP · 扩展开发 · 规格 · 官方网站 · Discord · QQ
★ 36,076已汉化DSH
71.2
工作状态行动态ccch1mneyyy/working-activity
作者:chimney@ccch1mneyyy。社区项目,非 DeepSeek 官方项目。
★ 664已汉化DSH
71.2
多模型配置管家farion1231/cc-switch
跨平台桌面一体化助手,支持 Claude Code、Codex、OpenCode、DeepSeek Harness 等工具,唯一官网 ccswitch.io
★ 151,814已汉化DSH
71.1
这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。