ModelTester:DSH 會話頁上的模型結構指紋檢測面板

前言

在 DeepSeek Harness(dsh)裏對接網關或灰測模型時,界面上的模型名未必等於底層推理棧。開發者往往需要判斷:當前會話「像哪家廠商的分詞器與對話模板」,以便排查路由、對比 A/B,或向社區提交可復現的泄漏證據。常見做法是手工翻回覆、搜特殊 token,或另寫腳本直連 API 讀 usage——步驟分散,且容易把探針提示詞裏的 token 誤判成模型泄漏。

ModelTester(npm 包名 dsh-modeltester)是 dsh 網頁端插件:在會話頁右上角掛載一塊模型檢測面板,用本地、無模型、零網絡的結構指紋匹配,回答「當前會話像哪家模型」,並附帶可展開的證據賬本。面板明確只回答「像誰」,不回答「是誰」。插件由 Yuer6327 維護,前身項目爲 NoLetMe(2026-09-25 品牌重構爲獨立新項目,插件 id io.github.yuer6327.modeltester)。

這是什麼

ModelTester 屬於 dsh 社區插件生態中的模型推理類工具,對應目錄頁 SkillHub · ModelTester 與源碼倉庫 Yuer6327/ModelTester。它不改寫宿主 UI、不上傳數據,掃描已加載的推理文本(及探針、批量測試產生的輸出),對最多 29 家廠商候選做評分排名,並支持探針主動取證與 usage 差分定量指紋。

核心功能

下面按 README 中的分層說明面板能做什麼。

歸屬分析(主視圖)

掃描全部已加載推理文本,將命中的結構指紋按權重累加到廠商候選;每條證據經層級與權重校準後,用 noisy-OR 合成 0–100% 的置信度係數。達到「匹配」需至少一條 tier-1 證據、係數 ≥75% 且明顯領先第二名;僅有 tier-2/3 時封頂爲「疑似」;無廠商證據時顯示「未匹配」並列出泄漏物。

證據表版本 ATTRIBUTION_VERSION = 11,主要包括:Anthropic 系 antml 命名空間泄漏、各家官方 tokenizer_config.json 中的對話模板特殊 token、DeepSeek/OpenAI 風格的 fp_… 部署串、社區已證實髒 token、以及未收錄泄漏的通用異常探測器等。證據賬本去重展示(≤40 條),帶首現輪次與上下文樣本;支持一鍵導出 JSON(候選、證據、會話 id),純本地完成。

插件實現了用戶回聲抑制與討論回合抑制:用戶消息或探針提示裏出現過的 token,在推理中複述不計入泄漏;模板識別類回合中的模板命中整體視爲討論。批量測試的家族掃描只看可見回覆。

模板 / 分詞器指紋與髒 token

對照各家官方 tokenizer 特殊 token 的 tier-1 泄漏行(實現見倉庫 src/client/tokenizers.ts)。髒 token 與未歸屬泄漏物進入「未歸屬」賬本,便於複製給社區、一行入表並隨 ATTRIBUTION_VERSION 遞增。

推理健康診斷

當輸出爲純文本(無 reasoning 塊)或 reasoning 極少時給出告警,證據面不完整時如實提示,不編造統計(src/client/stats.ts)。

探針包與一鍵全量測試

提供 12 個探針(工具格式誘發、模板識別、glitch 電池、回聲、家族 canary、字母計數、知識截止、拒答形狀、上下文自述、自然任務、身份格網、系統提示詞提取等),按置信度排序。一鍵測試跑全量電池(含全部探針與 usage 指紋及後續新增項);快速電池僅結構 canary 探針(約 1–2 分鐘)。每個探針在獨立新會話中執行,以降低順序污染;跑完後給出猜測與置信度、自報身份(bait 檔)與 usage 指紋結論卡,結果跨刷新保留(localStorage + 機制版本校驗 + 測量時間戳)。

說明:README 記載,在宿主裝配面限制下,0.2.0-rc.2 桌面端後臺會話暫採不到文本時,超時項會如實記爲 0 字符(詳見倉庫 docs/attribution-roadmap.md 2026-10-02 記錄)。

usage 指紋(面板內)

一鍵 usage 指紋:用 T0–T9 固定文本逐條新開會話,讀取每輪 usage 的 prompt 側 token,跨會話差分去掉網關包裝常量,再與 25 家官方 tokenizer 參照向量做 L1 比對(L1=0 爲精確匹配;孿生向量組會並列提示分辨率邊界)。支持 wrapper 漂移定向重測。被動面板若拿不到 usage 字段,倉庫根目錄還提供直連 API 的 fingerprint-drill.mjs 等工具鏈(見 README「Fertility 指紋工具鏈」)。

其他面板行爲

實時增量摺疊流式輸出、自動回填完整歷史(≤30 頁)、按會話本地持久化。歸屬區附帶社區代號→家族對照卡(如 Space Bunny→MiniMax M3.1),僅作參考,不參與本會話評分。

安裝與啓用

前置條件:dsh CLI ≥ 0.1.0-rc.7,並已建好目標 profile。插件按 dsh 0.1.x 客戶端契約構建,逐版本兼容範圍以包內 package.json 的 dsh.compatibility.dshReleases 爲準。當前 npm 版本(資料截取時)爲 0.0.7-alpha.6,許可證 MIT,符合 dsh-std Community v0.15。

推薦:npm 預構建安裝(無需 allowBuilds 審批)。將 demo 換成你的 profile 名稱:

dsh plugin --profile demo add dsh-modeltester

安裝後按 dsh 常規流程啓用插件,在網頁會話頁右上角即可看到模型檢測面板。

典型用法

  1. 被動觀察:在目標網關會話中正常對話,打開面板查看歸屬排名與證據賬本;需要留檔時使用證據包導出 JSON。
  2. 主動探針:在面板中選擇單個探針、快速電池或一鍵全量測試,等待各獨立會話完成後查看「猜測 + 置信度」與 usage 指紋卡。
  3. 定量分詞器(面板):在支持返回 usage.prompt_tokens 的宿主/API 場景下,使用面板內「usage 指紋」;需要完整 drill 時,在本地配置 API 憑據後按 README 運行,例如:
OPENCODE_ZEN_API_KEY=… node fingerprint-drill.mjs <model> [baseURL] [--batch] [--sibling <model>]…

README 中以 OpenCode Zen 隱身模型 space-bunny-free 爲例:被動面無 tier-1 泄漏時顯示「未匹配」,usage 差分可與 MiniMax-M3 官方 tokenizer 精確一致(L1=0);該 fertility 能力已於 2026-09-26 起集成進面板。

適用場景與注意

適合誰:在 dsh 裏調試多廠商網關、灰測匿名代號模型、或需要可審計的結構證據(而非僅憑文風猜測)的開發者與社區貢獻者。

務必知曉:

  • 插件在當前 dsh 進程權限下運行,安裝前應自行審閱 GitHub 源碼 與 MIT 許可證;社區目錄 SkillHub 爲獨立站點,與 DeepSeek / 幻方無官方從屬關係。
  • 結論基於結構指紋與 usage 定量比對,存在孿生詞表、網關包裝等分辨率邊界;面板不替代服務方聲明。
  • 直連 API 的 drill 腳本需自行保管密鑰,僅在可信環境運行。

結尾

ModelTester 把「會話像哪家推理棧」收成一塊可增量更新的檢測面板:歸屬排名、證據賬本、探針電池與 usage 指紋在同一套本地邏輯裏完成,適合作爲 dsh 日常聯調時的結構側寫工具。

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

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

小夜