在 DSH 環境中調試或閱讀長對話時,經常需要針對某個術語或代碼片段進行快速解釋,同時不希望佔用主會話的上下文。傳統的側邊欄 fork 會消耗大量 token,而手動複製粘貼效率較低。dsh-loupe 提供了一個基於浮窗的輕量解釋方案。
插件定位¶
dsh-loupe 是一個由 Rice00 維護的客戶端插件。它不創建新會話,不註冊工具,僅通過選中文字喚起浮窗,提供解釋、追問和保存功能。
核心能力¶
| 能力 | 說明 |
|---|---|
| 劃詞即彈 | 選中正文任意文字,選區下方浮出“解釋 / 設置”兩個入口。 |
| 浮窗回答 | 單實例浮窗,支持流式 markdown、可拖拽和位置記憶。 |
| 不建會話 | 只發一次模型請求,不寫會話日誌,左側列表不會變髒。 |
| 自帶上下文 | 使用插件獨立的 context.md(上限 2200 字符),不拖動 agent 的全量上下文。 |
| 自動累積 | 將“選中什麼 → 得出什麼”沉澱回 context.md,同一詞多次詢問更精準。 |
| 全量留檔 | 所有問答記錄保存在 history.jsonl,支持搜索、分頁和復原。 |
| 可存成正式會話 | 支持將解釋內容保存爲左側列表中的正式會話。 |
| 中英雙語 | 界面與提示詞支持中英文切換。 |
| 推理可摺疊 | 模型推理過程默認收起。 |
| 跟隨主題 | 浮窗界面跟隨宿主深淺主題。 |
| 零配置 | 借用宿主的 llm 服務,無需填寫 API Key。 |
安裝與啓用¶
使用官方安裝命令添加插件:
dsh plugin --profile <profile> add dsh-loupe
注意:若修改本地代碼後生效,需要重啓該 profile。
典型用法¶
- 在對話正文中選中一段文字,選區下方會出現浮層。
- 點擊“解釋”,浮窗直接提交請求,無需再按發送鍵。
- 浮窗底部會顯示耗時統計(如首字 544ms)。
- 點擊“保存”,可將該解釋存爲左側列表中的正式會話。
- 在設置頁的“歷史”中,可按關鍵詞搜索並復原對話。
技術細節與限制¶
- 數據存儲:問答數據保存在
~/.dsh/loupe/目錄下(若存在DSH_HOME則跟隨該目錄),包括context.md和history.jsonl。 - 上下文上限:
context.md注入長度上限爲 2200 字符。 - 推理檔:默認爲
off。實測off首字響應約 544ms,low約爲 2806ms。 - 玻璃質感:需要瀏覽器支持 CSS
color-mix,不支持時會自動退回實底。 - 接口:宿端提供
/plugins/dsh-loupe/explain等路由,用於診斷和能力探測。
生態背景¶
DSH 理念是“一切皆插件”。dsh-loupe 代碼結構清晰,宿端僅依賴 Node 內置模塊(fs、os、path、crypto),零第三方依賴。