前言¶
DeepSeek Harness(dsh)把運行時拆成一層層插件:官方倉庫的口號是 Everything is a Plugin(一切皆插件)。裝好 Web 界面之後,真正決定模型「這一輪看見什麼」的,往往不是系統提示詞本身,而是每次請求前還能不能往 payload 底部再塞一段話。
常見需求有兩類。一類很輕:每輪用戶消息後面固定補一句「謝謝你,鯨魚大人」,當趣味彩蛋。另一類更實用:角色扮演時要覆寫 <think> 思考約定、統一語氣或限制篇幅,又不想每條消息手工粘貼。社區插件 deepseek-manners 把這兩件事做成同一條機制——在 turn 的第一次模型請求裏注入一段後綴,僅當輪生效。
本文按社區目錄頁、GitHub 倉庫 README / 源碼,以及 DeepSeek Harness 官方倉庫交叉覈對後整理:它是什麼、怎麼裝、配置項實際怎麼工作。社區插件目錄 deepseek-harness-plugin.com 是獨立站點,與 DeepSeek / 幻方沒有官方從屬關係,不要把它當成官方應用商店。
這是什麼¶
deepseek-manners 是一款 DeepSeek Harness 插件,由 Moeblack 維護,託管在 GitHub 倉庫 Moeblack/deepseek-manners。社區目錄把它歸在「工具與能力」分類。倉庫 package.json 版本號爲 0.1.0,主要語言是 TypeScript。2026-08-17 查看時,GitHub 顯示 13 星;目錄頁當時列出 10 星,以倉庫頁面爲準。
目錄頁和 README 的定位一致:在每次發消息之後給模型補一句感謝語,默認文本是「謝謝你,鯨魚大人」,僅當輪生效。源碼裏這件事落在 agent/pre-step:把配置中的 text 做成一條 source.kind === "plugin" 的用戶消息,追加到本輪 payload 底部。
它解決的不是「給界面加點裝飾」,而是:
- 每輪用戶輸入只注入一次,工具循環的後續 step 不再重複
- 上一輪的後綴按規則回收,避免無限堆在上下文裏
- 需要時可以把
text換成多行指令,用來約束語氣、格式或思考標籤
當前倉庫沒有附帶 LICENSE 文件,GitHub 也未識別到 SPDX 許可證。安裝前應自行閱讀源碼並確認使用條件。
核心功能¶
只在 turn 的第一次請求注入¶
注入條件寫在 src/index.ts:本輪 messages 裏必須出現 source.kind === "user" 的直接輸入,且開關打開、text 非空。對應 README 的說法——只在包含用戶直接輸入的 step(turn 的第一個模型請求)注入,落在 payload 底部。智能體走工具調用時,後續 step 不會再貼一遍同一段後綴。
回收舊後綴,超長回覆則跳過¶
上一輪注入的後綴不會永遠留在模型可見面。下一輪 pre-step 會查找本插件寫入的 user/message,用 surface replace 把最近一條替換成空文本;會話日誌仍保留,只是模型面不再看見。
是否回收只看最近一次 assistant 回覆的字符數(含 text 與 reasoning),不追溯更早的歷史:
- 回覆短:回收最近一條舊後綴
- 回覆超長:跳過回收,該後綴永久保留,以免
surface replace打亂長回覆的 prompt cache
閾值由 hideAboveChars 控制。源碼默認值是 0,表示總是遮蔽;README 配置示例寫成 2000,那是「超過該長度就跳過回收」的示例,不是出廠默認。若要保護長回覆的緩存,需要自己在 settings.yaml 裏把這個數字改成大於 0。
關掉開關只停止新注入。源碼註釋寫明:歷史裏已經存在的後綴仍按上面的規則回收。
Web 界面上的心形開關¶
裝到 Web profile 後,輸入框右側會多一個心形按鈕(aria-label 爲「道謝開關」,提示文案是「給小鯨魚道謝」)。開啓時實心綠色並帶角標脈衝,關閉時空心灰色。package.json 把客戶端聲明爲 "platform": "web",掛在 conversation.input.right 插槽。
開關狀態寫在插件目錄的 config.json,通過 GET/POST /deepseek-manners/settings 讀寫,會覆蓋 settings.yaml 裏的 enabled。改 text、hideAboveChars 仍走 $DSH_HOME/settings.yaml。
把感謝語換成任意後綴¶
text 會原樣貼到上行 payload 底部,不支持模板變量。README 說明可以寫成 YAML 塊標量,用來:
- 追加角色扮演風格的回覆引導
- 覆寫模型的思考模式(
<think>標籤行爲) - 追加風格、語氣、輸出格式要求
倉庫把「適配 victorchen96/deepseek_v4_rolepaly_instruct 的思維鏈覆寫」標成額外用法(並寫了「主要用法」)。那份文檔面向 DeepSeek 官方 App / 網頁專家模式以及 deepseek-v4-flash / deepseek-v4-pro API,原理是把思考約定貼在用戶消息末尾。deepseek-manners 提供的是 DSH 側每輪自動粘貼,不是該倉庫的官方組件。
安裝與啓用¶
先有一套能跑的 DeepSeek Harness。官方倉庫目前仍是 developer preview,並標明會有破壞性變更。本插件最近一次推送(2026-08-13,commit 32f58a8a008797a624f0f46367cb91fed9de5dee)的說明是適配開源版 0.1.0-rc.5。
社區目錄頁給出的安裝命令是:
dsh plugin add github:Moeblack/deepseek-manners
需要可復現安裝時,目錄頁要求固定 commit 哈希:
dsh plugin add github:Moeblack/deepseek-manners#32f58a8a008797a624f0f46367cb91fed9de5dee
倉庫 README 寫的是帶 Web profile 的寫法(GitHub 用戶名大小寫不敏感,moeblack 與 Moeblack 指向同一倉庫):
dsh plugin --profile web add github:moeblack/deepseek-manners
本地開發可以用符號鏈接:
dsh plugin --profile web add -w link:/path/to/deepseek-manners
index.mjs 和 client.js 已隨倉庫提交,git 安裝不需要再跑構建。官方 CLI 會把聲明瞭 dsh.bundle.patch 的包裝進當前 profile。若界面沒有出現心形開關,按 DSH 慣例重啓對應 profile(例如 dsh --profile web)後再看。
目錄頁的安全提示需要照做:插件以當前 dsh 進程的權限運行,安裝時可能執行代碼。安裝前檢查源代碼倉庫和許可證。
典型用法¶
默認感謝語¶
在 $DSH_HOME/settings.yaml 寫入(字段名以倉庫 README 爲準):
deepseek-manners:
text: 謝謝你,鯨魚大人
enabled: true
hideAboveChars: 2000 # 最近一 Turn assistant 回覆超過此字符數時跳過遮蔽;0 = 總是遮蔽
不改 text 時,源碼默認同樣是「謝謝你,鯨魚大人」。Web 界面也可以只用輸入框右側的心形開關控制是否注入。
README 寫明:修改 settings.yaml 後無需重啓。DSH 的 dsh-settings-file 默認用 chokidar 熱重載(100ms 防抖),改動大約 1–2 秒生效。YAML 語法錯誤時,服務會保留最後一份合法配置並在日誌告警,不會因此崩潰。
多行指令¶
YAML 用 | 或 |- 塊標量。README 要求塊標量內每一行至少縮進 6 個空格(text: 本身縮進 2,正文再縮進 4):
deepseek-manners:
text: |-
以下是對本次回覆的補充要求,請嚴格遵守:
1. 回覆開頭使用角色慣用的口頭禪,保持角色語氣一致。
2. 思考過程放在 <think> 標籤內,正文直接輸出。
3. 正文不使用列表式結構,用自然段落敘述。
4. 每次回覆控制在 200 字以內。
enabled: true
hideAboveChars: 600
覆寫思考過程¶
倉庫提供的思考模式示例:
deepseek-manners:
text: |-
<think>
請在思考過程中遵循以下約定:
- 先簡要分析當前對話的目標與立場。
- 列出 2-3 個可選回應方向,再選擇最符合角色設定的一項。
- 思考結束後直接輸出正文,不重寫、不檢查。
</think>
enabled: true
hideAboveChars: 600
這只是把這段文字貼到 payload 底部。能否穩定改變模型行爲,取決於當前所用模型和提示詞,倉庫沒有給出成功率數據。
適用場景與注意事項¶
比較適合已經在跑 DSH Web 界面、需要每輪自動追加固定後綴的人:一句感謝語、角色語氣約束,或把思考約定從手工粘貼改成配置。心形開關只出現在 Web 客戶端;host 側的 pre-step 注入跟 profile 是否裝了這個 bundle 有關,README 的安裝示例針對 --profile web。
使用前注意這幾條已經能覈對到的邊界:
- 權限與許可證。 插件與 dsh 同權運行,安裝可能執行代碼。倉庫目前沒有許可證文件,不能默認按 MIT 或其它寬鬆協議使用。
hideAboveChars的默認值。 源碼是0(總是回收);README 示例裏的2000需要自己寫進配置纔會生效。設得太小,長回覆的 prompt cache 可能被surface replace打斷;保持0則每輪都會回收舊後綴。- 沒有模板變量。 舊版 README 曾出現過
{{char}}/{{user}},當前 README 已刪除並寫明「寫入什麼就注入什麼」。 - 注入內容對模型可見。 後綴是真實的用戶消息,會進入上下文並佔用窗口。不要把密鑰、內部指令或不宜進日誌的內容寫進
text。 - DSH 仍在快速迭代。 官方 README 標明會有兼容性破壞。本插件最近一次適配說明針對
0.1.0-rc.5,升級 Harness 後應再覈對倉庫。 - 目錄不是官方商店。 以 GitHub 源碼和
dsh plugin add的原文爲準;星標、分類以打開頁面時的數字爲準,會隨時間變化。
小結¶
deepseek-manners 的公開形象是「每輪給鯨魚娘說謝謝」,實現上是一條掛在 agent/pre-step 的當輪後綴注入:默認感謝語、可換成多行指令,並用 hideAboveChars 在回收舊後綴和保護長回覆緩存之間做取捨。Web 界面用輸入框旁的心形開關控制是否繼續注入。
目錄頁:https://deepseek-harness-plugin.com/zh-CN/plugins/deepseek-manners/
GitHub:https://github.com/Moeblack/deepseek-manners