前言¶
在 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)。
典型用法¶
- 安裝並重啓 DSH 應用。
- 在會話列表中找到目標會話。
- 點擊會話行的“複製引用”或懸停卡片上的“複製引用”。
- 將生成的
@[名稱](dsh-session:...)粘貼到新消息輸入框併發送。 - 模型將接收該 mention 並檢索對應會話的上下文。
技術細節與限制¶
- 插件不解析或克隆宿主 DOM,會話身份與菜單開合由框架提供。
- 規則按順序應用,支持
$1和$&。 - 名稱中包含
]時,引用能解析,但氣泡不會摺疊成 chip。 - 規則僅做最小轉義(
\和]),雙引號處理由默認規則負責,避免雙重轉義。
結語¶
該插件通過標準化的 mention 格式,簡化了會話上下文的召回流程。規則可配置,能適應不同的命名習慣。更多細節可參考 GitHub 倉庫。