dsh-optimizer:本地用量觀察、上下文按輪裁剪與任務指令

前言

在 DeepSeek Harness(DSH)里長時間跑 Agent 時,輸入上下文會隨對話輪次增長,本地很難直觀看到 Token 與費用的大致走向;若希望在不刪原始日誌的前提下縮短「模型可見」的歷史,也需要在 DSH 提供的會話表面上做合規替換。社區插件 dsh-optimizer(維護者 Ironman888-star)針對這類需求:在本地統計用量與預算告警、可選按最近輪數做上下文打包,並在設置頁維護可注入後續請求的任務指令。它是非官方開源插件,不替代 DSH 或模型服務商的賬單。

下面按定位、能力、安裝與使用注意說明,事實以倉庫 README 與 package.json(當前源碼版本 0.3.6,MIT)爲準。

這是什麼

dsh-optimizer 是適用於 DSH 的插件,包名 / ID 爲 dsh-optimizer。插件運行數據落在 <DSH_HOME>/storages/dsh-optimizer,不屬於插件倉庫本身。

README 寫明:用於查看本地模型用量和費用估算、預算提醒、任務檢查點與異常情況;可選對模型可見的舊對話按最近輪數進行安全裁剪,並提供自定義任務指令編輯區。插件自身的本地統計及裁剪不主動調用額外雲端模型,但正常 DSH 請求仍由你配置的模型服務處理;估算不等於官方賬單,也不保證固定百分比的 Token 或費用節省。

兼容性方面,資料記錄 DSH Desktop 2.0.21-next 實測通過,其他 DSH 版本尚未驗證。開發與測試要求 Node.js ≥ 20。

核心功能

費用與用量觀察

本地用量流水、緩存命中估算、按日 / 任務 / Agent 的預算與告警。數據在本地彙總,便於對照任務節奏調整用法;仍須以服務商賬單爲準。

上下文打包(按輪次)

單獨開關,默認關閉。開啓後可保留最近 1–20 輪已完成對話(默認 3 輪)。符合安全條件的舊消息通過 DSH Session surface 替換爲帶 UUID 的標記;原始追加式聊天日誌仍保留。

v0.3.6 修復了 v0.3.5 上下文替換標記缺少 data.id、可能導致會話重啓後校驗失敗的問題;請勿安裝已知存在該缺陷的 v0.3.5。升級至 v0.3.6 不會自動修復已損壞的會話文件,需按倉庫 docs/session-identity-fix.md 等說明處理。

任務指令改寫

在設置頁編輯、保存和恢復預置任務指令;內容保存在本機配置,並由 DSH systemPrompt.section() 供後續模型請求使用。這是行爲指導,不是文件系統權限限制。

工具結果、檢查點與異常

在 enforce 模式下可根據配置精簡工具輸出;默認 audit 模式只觀察不改寫相關輸出。檢查點與異常監測按現有配置執行。

本地儀表盤

提供配置、診斷報告和用量摘要。README 提醒:本地儀表盤及接口不構成強身份認證邊界,不要向公網暴露 DSH 的本地 Web 端口。

v0.3.5 起已移除「禁止 DSH 主動回顧歷史會話和掃描工作區」的權限審批能力;本插件不控制 DSH 的文件訪問權限。

安裝與驗收

安裝前應先備份現有 DSH 插件和狀態目錄。可使用 DSH 插件管理器安裝倉庫根目錄(含 package.json 與 cordis.patch.yml),或在倉庫根目錄內用 CLI(profile 名以實際環境爲準):

# 在本倉庫根目錄內,profile 名以實際環境爲準
dsh plugin --profile desktop add .

確認來源與版本後批准安裝,按需重啓 DSH,在「設置 → 智能優化管家」查看版本 v0.3.6。新版開關不會自動開啓。建議先在測試會話裏檢查工具消息、歷史裁剪和重啓恢復,詳見倉庫 docs/install.md。

從 v0.3.5 升級時:先關閉上下文打包,備份 config.json、整個會話目錄和插件源碼;升級到 v0.3.6 後先確認正常會話,再自行開啓打包測試。僅升級源碼不能修復已落盤的匿名替換事件;已報 lacks an identified message 的會話需單獨診斷。不要在運行中的 DSH 內直接編輯 .jsonl.zstd。見 docs/upgrade.md。

典型用法流程

  1. 安裝並重啓後打開「設置 → 智能優化管家」,確認版本爲 v0.3.6。
  2. 在儀表盤查看本地用量摘要與預算告警配置,建立對單次任務成本的粗略預期。
  3. 若對話輪次很長且需控制模型可見歷史:在測試會話中開啓上下文打包,將保留輪數設爲 1–20 中的一檔(默認 3),觀察工具鏈配對與重啓後是否仍能正常恢復。
  4. 按需編輯任務指令並保存;後續請求通過 systemPrompt.section() 攜帶該指導內容。
  5. 若使用工具輸出精簡:瞭解當前爲 audit 還是 enforce 模式,避免在審計階段誤以爲輸出已被改寫。

更細的字段與行爲見倉庫文檔:docs/configuration.md、docs/context-packing.md、docs/task-instructions.md。

適用場景與重要限制

適合誰:長期在 DSH Desktop 上開發 Agent、需要本機可觀測的用量與預算提示,並希望在可控條件下縮短模型可見歷史或統一任務側行爲指導的開發者。歸類上常見於「模型推理」相關插件目錄(如 SkillHub 目錄頁)。

安裝前:插件以當前 DSH 進程權限運行,會訪問本地任務、工具結果和會話元數據,可能將原始工具結果寫入插件狀態目錄。請自行審閱源碼與 MIT 許可證,不要公開狀態目錄、真實會話、診斷原件或含個人路徑的日誌。

能力邊界(README「重要限制」摘要):

  1. 歷史輪數限制只作用於可安全裁剪的模型可見歷史;系統 / 開發者有效指令、未配對工具鏈、模型工具定義及宿主運行時上下文可能繼續佔用輸入,沒有整個請求的 Token 硬上限。
  2. 裁剪不刪除原始聊天日誌,也不能保證價格按裁剪字符數同比下降;提示詞緩存命中率可能變化。
  3. 公開版預置任務指令編號規範爲連續 1–5,個人在後臺保存的自定義指令仍以 config.json 爲準。

生態上,DSH 強調「一切皆插件」;SkillHub 等社區目錄爲獨立站點,與 DeepSeek / 幻方無官方從屬關係,本插件亦非 DSH 官方發行。

結尾

dsh-optimizer 把本地用量與預算觀察、可選的按輪上下文打包、可編輯任務指令和診斷儀表盤收進一個非官方插件,適合在實測通過的 DSH 版本上按需啓用。查閱目錄與源碼:

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

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

小夜