dsh-copy-session-ref:规范会话引用与上下文召回插件

前言

在 DeepSeek Harness (DSH) 的使用中,通过引用之前的会话上下文来延续对话是常见需求。DSH 原生缺乏标准的引用机制,手动输入标题或链接容易出错。dsh-copy-session-ref 插件通过在会话行菜单和悬浮卡片中添加“复制引用”入口,生成标准的 @[名称](dsh-session:...) 格式,解决了这一问题。

插件简介

  • 名称:azazo1/dsh-copy-session-ref
  • 维护者:azazo1
  • 功能:在会话行菜单和悬浮卡片中添加复制引用入口,生成规范的 mention 格式,粘贴到输入框后可召回该会话上下文。
  • 许可证:MIT

核心功能

复制入口

插件在两个位置添加了“复制引用”功能:
1. 会话行菜单:在会话行的省略号菜单中添加,位于“归档”之后。
2. 会话行悬浮卡片:鼠标悬停时展开的卡片中,第一行为“复制引用”。
* 注意:只有已经有第一条消息的会话行才显示此行。
* 点击该行复制的不是会话标题,而是规范的 mention 格式,且不会触发卡片自身的复制行为。

命名规则

复制前会按可配置的正则规则处理会话标题,生成引用名称。默认规则按顺序应用:
1. \s+ (flags: gu) 替换为 -(将空格转换为连字符)。
2. " (flags: gu) 替换为 \"(转义双引号)。
3. ^([\s\S]*)$ (flags: u) 替换为 "$1"(包裹外层引号)。

示例:
* raw title -> @["raw-title"]
* my "cool" title -> "my-\"cool\"-title"
* 空标题 -> @""

配置管理

在 DSH 中进入 设置 -> Plugins -> dsh-copy-session-ref:
* 支持增删规则、调整顺序、勾选启用。
* 可修改正则表达式、flags 和替换文本。
* 表单修改为暂存语义,保存后才写入 profile 的 patch 层,离开页面丢弃未保存的编辑。
* 正则或 flags 非法时表单会标红并阻止保存。

安装与启用

Web 端

在 Web profile 中安装:

dsh plugin --profile web add github:azazo1/dsh-copy-session-ref

桌面端

桌面端不支持通过命令行参数 --profile desktop 安装,需在 DSH 应用内的插件管理器中操作:
1. 在插件安装入口填入包名 github:azazo1/dsh-copy-session-ref 或本地目录。
2. 安装后重启应用并刷新窗口(Client metadata 的扫描结果会在进程内缓存)。

引擎版本要求

插件依赖 DeepSeek Harness 引擎 >=0.2.0-rc.1 且在 0.2.x 版本线上(devDependencies 写作 >=0.2.0-rc.1 <0.3.0)。

典型用法

  1. 安装并重启 DSH 应用。
  2. 在会话列表中找到目标会话。
  3. 点击会话行的“复制引用”或悬停卡片上的“复制引用”。
  4. 将生成的 @[名称](dsh-session:...) 粘贴到新消息输入框并发送。
  5. 模型将接收该 mention 并检索对应会话的上下文。

技术细节与限制

  • 插件不解析或克隆宿主 DOM,会话身份与菜单开合由框架提供。
  • 规则按顺序应用,支持 $1 和 $&。
  • 名称中包含 ] 时,引用能解析,但气泡不会折叠成 chip。
  • 规则仅做最小转义(\ 和 ]),双引号处理由默认规则负责,避免双重转义。

结语

该插件通过标准化的 mention 格式,简化了会话上下文的召回流程。规则可配置,能适应不同的命名习惯。更多细节可参考 GitHub 仓库。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜