dsh-plain-talk:給 DSH 回覆加一個「說人話」開關

前言

用 DSH 跑任務的人多半遇到過這類回覆:結論埋在第一段之後,要看細節得翻好幾屏;引用只給一個路徑或行號,不貼原文;EXP-7、DEV-1K 這類代號憑空出現,讀到結尾才知道是什麼;再往下翻,回覆裏出現”上述”“前面提到”,離開當前會話就斷了上下文。

這些不是模型能力問題,是回覆風格沒有被約束。dsh-plain-talk 就是解決這個問題的插件:在輸入框加一個開關,打開後模型按固定規則組織回覆——先給結論、控制篇幅、自包含、引用貼原文、代號首次出現先解釋。下面介紹它的來源、安裝和用法。

這是什麼

dsh-plain-talk(中文名”說人話”)是 DSH 的回覆優化插件,維護者爲 lizilong1993,屬於模型推理分類,在社區目錄中標記爲 1 stars。它不改模型,只改寫宿主端注入的系統提示詞規則,並在瀏覽器側重繪輸入框控件,屬於純本地的提示詞約束方案。許可證爲 MIT,npm 版本 0.1.10。

核心功能

插件開啓後,對回覆施加以下幾條硬性規則,全部寫在系統提示詞裏:

  1. 結論先行:第一行直接給答案或判定,不復述問題,不寫”我來看看”。
  2. 默認短:回覆不超過 12 行 / 300 字,用戶明確要求展開時才放開深度。
  3. 自包含:不使用”上述 / 前面 / 上一輪”這類回指詞;內部代號(如 EXP-7、DEV-1K、run-3)第一次出現寫成 代號(一句話說明) 的形式。
  4. 引用可讀:給出 文件:行號 的同時,把對應幾行原文貼出來。
  5. 詞彙清單:用戶說過的詞、項目名、常見術語默認視爲已知;”調研 X”的第一輪仍會解釋 X,回覆交付後才記入清單。內部代號不進清單,每次按未知處理。

此外插件內置一個自檢工具 plain_talk_check,接收一條草稿並返回問題清單,規則區段要求模型在完成類回覆或超過 12 行的回覆發送前調用它。需要說明的是,這是提示詞約束,plain_talk_check 只提醒、不攔截髮送。

安裝與啓用

安裝命令來自插件 README 原文,三種來源任選:

# npm
dsh plugin --profile desktop add dsh-plain-talk

# GitHub
dsh plugin --profile desktop add github:lizilong1993/dsh-plain-talk

# 本地目錄
dsh plugin --profile desktop add ./dsh-plain-talk

裝完需要重啓 DSH。啓用方式是:

  1. 打開任意會話,輸入框權限選擇器右側會多出一個笑臉氣泡圖標。
  2. 默認關閉(微笑版);點一下變成帶三道聲波的張嘴笑臉,表示當前會話已開啓,隻影響當前會話。
  3. 開關狀態寫入 $DSH_HOME/plain-talk.json,重啓後保持。
  4. 想讓新會話默認開啓,在啓動環境裏設置 PLAIN_TALK_DEFAULT=on。

插件只有一個配置項,即環境變量 PLAIN_TALK_DEFAULT(on / off,默認 off)。

詞彙清單

詞表是 JSON sidecar,路徑爲 $DSH_HOME/plain-talk-vocab.json,跨會話共享,按用戶而不是按項目隔離。

類別 含義 例子
常識詞彙 內置,不解釋 arXiv、DOI、API、GPU
專業詞彙 用戶用過的領域詞 擴散模型、AUROC
項目 / 產品名 倉庫、產品、工作區名 AcmeService_V2、DataHub_V3
待歸類 已記錄、未分類 其他識別到的詞

內部代號不進入詞表。”調研 X”分兩步:第一輪照常解釋,回覆交付後才寫入詞表;常識詞和內部代號不受影響。維護會話裏可用 plain_talk_vocab 工具,支持 list / add / remove / classify,也可以直接改 JSON。

工作原理

插件分爲宿主端和瀏覽器端兩部分:

  • 宿主端 dsh/index.js 註冊一個系統提示詞段落(標識 plain-talk,order 55),只有當前會話開關打開時才返回規則正文。
  • 瀏覽器端 lib/client.js 註冊進 conversation.input.left,渲染 18×18 的笑臉按鈕。
  • 開關狀態經 loopback 路由 /plain-talk/state 讀寫,僅監聽 127.0.0.1 / ::1,body 不超過 8 KB。
  • 狀態與詞表都是 JSON sidecar,原子寫,不寫 session 事件。

數據與權限

插件只寫 $DSH_HOME/plain-talk.json 和 $DSH_HOME/plain-talk-vocab.json,不聯網、不上傳、不讀取憑據;狀態文件損壞時按”無記錄”處理。注意插件以當前 DSH 進程的權限運行,安裝前應檢查源碼與許可證。

適用場景與注意

適合需要可讀、可獨立轉發、可覈對的回覆的場景,尤其是涉及實驗結論、上線檢查、代碼變更說明這類要貼給相關方看的任務。不適合追求最大信息密度、希望模型自由組織長文的場景,因爲規則會壓縮篇幅。

README 給出的測試環境是:DSH desktop profile、headless 運行、模型 command code/deepseek-v4.1-flash(high),日期 2026-11-04,同一提示詞、同一工作區,只切換開關。README 中的輸出對比顯示,開啓後結論更靠前、引用貼了原文、代號給出解釋,但篇幅和 token 並非單向下降:例如 B1”爲什麼模型會忘事”字數和 token 都下降,而 B2”merge 與 rebase”字數上升約 5.4%、token 上升約 144%。README 也說明 token 統計覆蓋整輪所有模型步(含思考與工具調用),因此與最終回覆字數不必然同向,開啓時每個請求約多 590 input token。

使用上還有三點:

  • 按鈕位置依賴 conversation.input.left,宿主改版後可能移到其它左側控件旁,按鈕可能消失。
  • 詞表按用戶共享,不按項目隔離,跨項目詞彙會混在一起。
  • 規則是提示詞約束,模型不遵守時沒有強制攔截。

小結

dsh-plain-talk 不做複雜的代理編排,只把”結論先行、默認簡短、自包含、引用貼原文、代號首現解釋”這幾條規則固化成系統提示詞,再加一個會話級開關和本地詞表。它的價值在於把可讀性變成默認行爲,而不犧牲用戶按需展開的能力。插件源碼與安裝說明見 GitHub 倉庫 lizilong1993/dsh-plain-talk,目錄頁在 https://www.skillhub.cn/plugins/lizilong1993/dsh-plain-talk。

需要說明的是,社區目錄是獨立站點,與 DeepSeek / 幻方無官方從屬關係,上述信息以插件 README 與目錄頁爲準。

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

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

小夜