前言¶
在 DeepSeek Harness(DSH)裏跑 DeepSeek Flash 時,上下文一膨脹,模型推理常從「推進任務」滑向「圍着細節打轉」:句子裏 I、Let me 變多,工具和文件讀了一大堆,任務清單卻遲遲不更新。改採樣參數或加外部代理,往往動到整條調用鏈,也不一定對準「語態」這一點。
Lichadai 維護的 dsh-we-need-plugin(當前發行版 0.7.1)走另一條路:在 llm/stream 層、最後一條真實 user task 之前,插入一條來自 seed.txt 的 assistant seed,讓模型更容易延續 We need、Let's、We、Should 一類計劃式表達。這是概率性引導,不是硬開關;provider 不限,只要上游 model id 同時包含 deepseek 與 flash 就會嘗試注入。
這是什麼¶
dsh-we-need-plugin 是 DSH Host 插件,分類上屬於模型推理相關能力。項目託管在 GitHub,社區目錄見 SkillHub。許可證爲 MIT;package.json 要求 DSH >= 0.2.2-rc.1、Node >= 22。
它不新增 HTTP 代理、不改動 tools / 採樣參數,也不在工具步追加 seed;命中後把注入後的 messages 交回原來的 provider adapter,API key 與 baseURL 保持 DSH 既有配置。
WeNeed 指什麼¶
README 把 WeNeed 描述爲一類思維風格,而非某個私有模型開關。典型開頭包括:
We need understand the task...
Need inspect the inputs...
Let's plan before acting...
Should verify against the requirement...
作者歸納的三點特徵是:注意力相對穩定、更願意連續用工具推進、較少陷入反覆自我檢查的「雷霆大思考」。反之,若大量出現 I、Let me、I will,往往說明工具 schema、工作區雜亂目錄或過長 skill catalog 衝散了注意力。插件用 seed 提高進入前一種風格的概率;上下文仍須自行收拾,seed 不能替代清理。
核心功能¶
下面按生效條件與工作流說明已覈實行爲。
模型篩選¶
匹配只看 DSH 傳給上游的 model 字段(modelId),默認 不讀 UI 顯示名。規則在 cordis.patch.yml 中爲 targetRules: [[deepseek, flash]],大小寫不敏感,兩個詞須同時出現;provider 名稱不參與。
例如 deepseek-v4.1-flash 會命中;deepseek-v4-pro 不含 flash,不命中。除模型規則外,還須滿足:非插件自有 provider、非 tool step / 壓縮等特殊請求、DSH 提供 ctx.llm.prepareCall 等(詳見 README「0.6 模型篩選規則」)。0.7.1 起 Pro 系列默認不納入;與 DeepSeek + Flash 的組合保持一致。
注入方式¶
命中後流程大致爲:
1. 過濾 skill catalog;
2. 在最後一條真實 user task 前插入 1 條 assistant seed;
3. 經 prepareCall 取得原 provider 句柄並 stream;
4. 原 adapter 發請求;__weneedBypass 避免遞歸進入本插件。
seed 同時寫入 content 與 reasoning_content,長度以 seed.txt 實際內容爲準(0.7.1 起不再固定 728 字符,非空即可)。舊 seed 會先剝離,單次請求最多一條。seed 不寫回 DSH 會話歷史。
明確不做的事¶
插件不修改 temperature、max_tokens、tool_choice;不記錄 API key 或請求 telemetry;不保證每一步都進入 WeNeed。
安裝與啓用¶
安裝前建議閱讀倉庫中的 index.js、cordis.patch.yml 與 LICENSE。插件在 當前 dsh 進程權限 下運行,只安裝你信任的 bundle。
官方 README 給出的安裝方式如下(--profile desktop 可按你的 profile 替換)。
從 npm:
dsh plugin --profile desktop add dsh-we-need-plugin@0.7.1
從本地 tarball:
npm pack
dsh plugin --profile desktop add ./dsh-we-need-plugin-0.7.1.tgz
從 GitHub 指定 commit:
dsh plugin --profile desktop add github:Lichadai/dsh-we-need-plugin#<commit>
安裝後需 完全重啓 DSH;若提示 restart-required,表示已安裝尚未激活。發行包見 Releases。
典型用法與習慣¶
多數用戶 無需配置 interceptModels:無高級路由時走 delegated 模式,任意已配好的 provider 只要 model id 命中即可。
- 在 DSH 中選擇上游 model id 同時含
deepseek與flash的 Flash 型號(如deepseek-v4.1-flash)。 - 安裝插件並重啓後,正常發起 agent 任務即可;插件在 stream 層自動注入 seed。
- 按 README「0.5 使用技巧」:工具儘量後調用——先分析、計劃,再讀文件或跑命令;工作區保持精簡;skill catalog 過長時優先減上下文,而不是隻依賴 seed。
可選增強:若能改 System Prompt,可將 README「5.3」中的 seed 原樣追加到 System Prompt 末尾,可能提高觸發概率;此爲可選項,且會影響所有步驟,需自行 A/B。
若僅想擴大識別範圍(例如未來 Pro 型號),可改 cordis.patch.yml 的 targetRules,無需改核心代碼。只有需要插件 自行發 HTTP、嚴格控制字段順序時,才配置 interceptModels(高級用法,見 README 第 8 節)。
適用場景與注意¶
適合誰: 已在 DSH 中使用 DeepSeek Flash(經任意 OpenAI 兼容 provider),希望減輕「Let me 式」空轉、更穩定地出現計劃型推理語態的開發者。README 強調插件 僅適用於 DeepSeek Harness;作者在 Qoder 等不回傳 reasoning_content 的環境下做過測試,同樣 seed 可能不穩定,需以實際客戶端爲準。
邊界: seed 是增強手段;工具過多、目錄過雜時,效果會下降。出現退化語態時,README 建議先減量信息與工具調用,而非一味加 seed。
生態說明: DSH 奉行「一切皆插件」;SkillHub 等爲社區目錄,與 DeepSeek / 幻方無官方從屬關係。
結尾¶
dsh-we-need-plugin 把「在 task 前放一段 WeNeed assistant 延續」收斂成 DSH 原生、provider 無關的一層攔截:默認 DeepSeek + Flash 篩選,delegated 模式下沿用原有密鑰與 endpoint。若你要在 Harness 裏試用,可從目錄頁或 GitHub 查看文檔與 0.7.1 安裝說明,並結合使用技巧管理上下文體量。