dsh-selection-ask:在 DSH 網頁裏劃詞引用

前言

在 DeepSeek Harness(DSH)網頁版裏讀 AI 的長回答,常見操作是:選中某句 → 複製 → 點輸入框 → 粘貼 → 再補問題。粘進去的是一段沒有結構的裸文本,模型很難區分「你的追問」和「你指的那句話」。手動拼 Markdown 引用塊也費事。

下面介紹社區插件 dsh-selection-ask(維護者 Eos010):在頁面裏選中文字後,就地寫批註,生成帶編號的引用膠囊寫入輸入框,原文同步高亮與編號;刪膠囊則高亮與編號一併消失。分類爲客戶端,當前 GitHub 星標爲 0。插件目錄頁:skillhub.cn/plugins/Eos010/dsh-selection-ask。

這是什麼

dsh-selection-ask 是 DSH 網頁版的劃詞引用插件(README 標註版本 V0.1,package.json 爲 0.1.0)。它不替代宿主對話能力,只在瀏覽器端增強「選中 → 引用 → 追問」這條鏈路。

插件以當前 DSH 進程的權限在客戶端運行;README 寫明不聯網、不讀文件、不讀憑據。安裝前建議自行查看 GitHub 源碼 與 MIT 許可證。

核心功能

能力與 README 一致,摘要如下。

  • 劃詞即引用:可選中 AI 回答、自己發過的話、工具輸出、代碼塊等;光標旁浮出就地輸入欄,可寫批註或直接回車。
  • 編號與高亮:每條引用有全局遞增編號(選中文本 1、2、3…),原文上有高亮與編號牌;懸停輸入框裏的膠囊可查看原文。
  • 膠囊爲唯一事實源:在輸入框刪除膠囊後,原文高亮與編號同時消失,不會留下孤兒標註。
  • 插入位置:新引用落在輸入框當前光標處;連續引用多段依次追加,不覆蓋已有內容。
  • 去重與合併:同一段文字再次引用時複用原編號;若先引短句再引包含它的長句,會更新爲更長引用,不新增膠囊。
  • 提交方式:Enter 只寫入輸入框(可繼續編輯);Ctrl/Cmd + Enter 寫入並直接發送。
  • 主題:配色取自宿主設計變量,淺色/深色自適應。
  • 發給模型的形態:輸入框裏是編號膠囊,實際發送內容爲規整的 Markdown 引用塊,例如:
> 一句話對照:上面那串"往下壓"是遞,撞到出口後"往回收"是歸——兩個動作合起來才叫遞歸。

(這裏接着寫你的問題,光標已經在這了)
  • 長度限制:選中內容超過 8000 字會截斷,並提示「內容過長,已截斷」。

安裝與啓用

DSH 命令行不能用 --profile desktop 裝插件,會報錯:

$ dsh plugin --profile desktop add github:Eos010/dsh-selection-ask
error: profile "desktop" is managed exclusively by the Electron application

桌面版 profile 由 Electron 應用獨佔管理。按你實際使用的環境二選一。

桌面版(Electron 應用)

在 DSH 應用內安裝,或按 README 手動兩步(Windows PowerShell 示例):

# 1) 把倉庫放進 profile 的 node_modules
git clone https://github.com/Eos010/dsh-selection-ask `
  "$env:USERPROFILE\.dsh\profiles\desktop\node_modules\dsh-selection-ask"

# 2) 在 ~/.dsh/profiles/desktop/package.json 的 dsh.profile.bundles 數組裏加一行:
#      "dsh-selection-ask"

# 3) 重啓 DSH,然後刷新網頁(Ctrl+F5)

命令行版 dsh web

先確保 PATH 上有 pnpm(dsh plugin 會轉發到 pnpm):

npm i -g pnpm        # dsh plugin 是 pnpm 的轉發器,PATH 上得先有 pnpm
dsh plugin --profile web add github:Eos010/dsh-selection-ask

從本地工作副本安裝時,將 github:… 換成 file:<你的工作副本路徑>。

兩種方式裝完後都要重啓 DSH,並刷新網頁(Ctrl+F5)——包清單隻在啓動時讀一次。卸載:從 dsh.profile.bundles 刪掉對應行、刪除 node_modules 下目錄,再重啓。

典型用法

經過上面的安裝與重啓,在網頁裏按下面步驟操作。

  1. 選中一段文字;
  2. 光標旁出現就地輸入欄——寫批註或留空;
  3. Enter:寫入輸入框,不發送;Ctrl/Cmd + Enter:寫入並立刻發送。
動作 結果
選中正文 浮出就地輸入欄;選中區域底色不會消失
輸入欄裏按 Enter 寫進輸入框,不發送
輸入欄裏按 Ctrl/Cmd + Enter 寫進輸入框並立刻發送
寫了批註再提交 輸入框裏是 [膠囊] 你的批註
懸停膠囊 浮出這條引用的原文
在輸入框裏刪掉膠囊 原文高亮與編號同時消失
點別處 / 按 Esc 收起浮層,不動輸入框
在輸入框裏選中文字 不出浮層(編輯態,非引用)
連續引用多段 依次排在光標處,追加而非覆蓋

編號在一個頁面生命週期內全局遞增;同一段文字再次引用時複用原編號。

適用場景與注意

適合誰:經常在 DSH 網頁裏對着長回答「指着某句追問」的用戶;希望引用塊結構清晰、且頁面上的標註與輸入框內容保持一致的場景。

環境與限制(來自 README):

  • 原文高亮需要 Chromium 105+(DSH 桌面版與 dsh web 基於 Chromium,文檔稱實測可用)。
  • 轉錄很長時,滾出屏幕的那段暫時不高亮,滾回可見區域後恢復。
  • 側邊提問面板仍在完善:按鈕已就位,暫時還發不出問題。
  • 更新插件或改配置後請 Ctrl+F5 刷新頁面。
  • 若未來使用側邊提問相關能力,會調用你自己配置好的模型,消耗你的額度。

開發側:package.json 要求 Node ≥ 22,運行時零依賴;構建與測試命令見倉庫 README。

結尾

dsh-selection-ask 把「選中 → 批註 → Markdown 引用」收成劃詞與膠囊一條鏈,並靠輸入框膠囊統一驅動頁面高亮與編號。DSH 生態強調「一切皆插件」;社區目錄 SkillHub 與 DeepSeek / 幻方無官方從屬關係,安裝與審閱請以倉庫爲準。

  • 目錄頁:https://www.skillhub.cn/plugins/Eos010/dsh-selection-ask
  • GitHub:https://github.com/Eos010/dsh-selection-ask
羽毛球分组比赛记分
小程序二维码

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

小夜