🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

模型指纹鉴别 Jerry2262/dsh-fingerprint

DeepSeek Harness
Jerry22628 天前有提交已提供中文文档扫描:含敏感能力

采集并对比模型指纹,判断服务商是否换了模型

30.4/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/30 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add Jerry2262/dsh-fingerprint
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么[目录]—
dsh 原生插件 · other
暂无时间戳·判据 →
装得上吗[实装验证]—
本站尚未做安装检查
暂无时间戳·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/03·判据 →
还在维护吗[仓库]✓
活跃:最近一次提交在 8 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →

可信度证据

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件发起外部网络请求
查看扫描证据(共 32 处,展示前 15 条)
  • 读取本地文件
    index.js:78
    return JSON.parse(readFileSync(file, 'utf8'));
  • 读取本地文件
    index.js:82
    if (!existsSync(file)) return [];
  • 读取本地文件
    index.js:84
    for (const line of readFileSync(file, 'utf8').split('\n')) {
  • 读取本地文件
    index.js:96
    if (!existsSync(file) || statSync(file).size === 0) return;
  • 读取本地文件
    index.js:96
    if (!existsSync(file) || statSync(file).size === 0) return;
  • 读取本地文件
    index.js:97
    const text = readFileSync(file, 'utf8');
  • 写入本地文件
    index.js:98
    if (!text.endsWith('\n')) appendFileSync(file, '\n');
  • 写入本地文件
    index.js:102
    writeFileSync(file, `${JSON.stringify(meta, null, 2)}\n`);
  • 写入本地文件
    index.js:340
    mkdirSync(paths.dir, { recursive: true });
  • 写入本地文件
    index.js:365
    appendFileSync(paths.responses, `${JSON.stringify(record)}\n`);
  • 写入本地文件
    index.js:417
    writeFileSync(paths.fingerprint, `${JSON.stringify(fingerprint, null, 2)}\n`);
  • 写入本地文件
    index.js:425
    mkdirSync(paths.dir, { recursive: true });
  • 删除本地文件递归
    index.js:824
    rmSync(paths.dir, { recursive: true, force: true });
  • 发起网络请求
    client.js:240
    const response = await fetch(`${API}${path}`, {
  • 读取本地文件
    core.js:10
    export const PROMPTS = JSON.parse(readFileSync(new URL('./prompts.json', import.meta.url), 'utf8'));
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

社区实装还没有人打卡 · 装过的第一个就是你
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

为 DeepSeek Harness 采集并比对基于纸面协议的 LLM 指纹

README

由 DeepSeek 最新模型翻译生成
dsh-fingerprint 面向 DeepSeek Harness(DSH)的论文协议 LLM 指纹采集与对比插件。 LLM 指纹鉴别面板 它做什么 dsh-fingerprint 把 DSH 里已经配置好的 provider/model 路由当作审计目标,用论文 One Token Is Enough 的 40-cell 单 token 探针 battery 采集一条指纹记录,然后可以任选两条记录做对比: - 同一模型在不同服务商之间对比; - 同一个服务商/模型的两次采集做前后对比; - 同一服务商下不同模型对比。 一条记录包含 40 个 cell(10 个任务 × 4 种语言)× 30 次重复。插件保存原始响应,计算每个 cell 的答案分布、base-2 JSD、分半一致性,并用判定线 0.280(发布数据中不同模型距离的 1% 分位)给出「看起来是同一个模型 / 看起来不是同一个模型 / 证据不足」的结论。 插件不保存 provider API key;认证和请求路由由 DSH 的 llm 服务处理。无法关闭 reasoning 的模型会被硬拦截,因为论文协议需要一次直接的单次 completion。 要求 - 一个启用 Web GUI 的 DSH profile(需要 llm、tools、webServer 服务)。
展开完整文档(README 剩余 1 节)
dsh-fingerprint

面向 DeepSeek Harness(DSH)的论文协议 LLM 指纹采集与对比插件。

LLM 指纹鉴别面板

它做什么

dsh-fingerprint 把 DSH 里已经配置好的 provider/model 路由当作审计目标,用论文 One Token Is Enough 的 40-cell 单 token 探针 battery 采集一条指纹记录,然后可以任选两条记录做对比:

- 同一模型在不同服务商之间对比;
- 同一个服务商/模型的两次采集做前后对比;
- 同一服务商下不同模型对比。

一条记录包含 40 个 cell(10 个任务 × 4 种语言)× 30 次重复。插件保存原始响应,计算每个 cell 的答案分布、base-2 JSD、分半一致性,并用判定线 0.280(发布数据中不同模型距离的 1% 分位)给出「看起来是同一个模型 / 看起来不是同一个模型 / 证据不足」的结论。

插件不保存 provider API key;认证和请求路由由 DSH 的 llm 服务处理。无法关闭 reasoning 的模型会被硬拦截,因为论文协议需要一次直接的单次 completion。

要求

- 一个启用 Web GUI 的 DSH profile(需要 llm、tools、webServer 服务)。
- DSH 0.2.1 系列:实测 0.2.1-rc.2 和 0.2.1-rc.4,engines.dsh 限定 >=0.2.1-rc.2 <0.2.2-0。
- 至少一个配置好的、能关闭 reasoning(off / none)或本身不推理的 provider/model。
- Node.js(由 DSH 自带,无需单独安装)。

安装

从 npm 安装

dsh plugin --profile web add dsh-fingerprint

把 web 换成实际使用的 profile 名。安装后按 DSH 的提示重启,或刷新 Web GUI。

从 GitHub 安装

dsh plugin --profile web add github:Jerry2262/dsh-fingerprint

本地开发

克隆仓库,然后让 agent 调用 plugin_manager 的 install_bundle,target 指向仓库的绝对路径。

面板出现后,点击侧栏的指纹图标打开「LLM 指纹鉴别」。

使用

1. 选择服务商和模型。不能关闭 reasoning 的模型会置灰、不可选,并标注原因。
2. 设置每个 cell 的重复次数(默认 30,UI 最低 10),点「开始采集」。
3. 运行中的记录显示进度;完成后显示有效率、分半 JSD、纳入 cell 数。插件被卸载或进程重启时,未完成的记录会标为失败(保留已抓到的响应),可以直接删除,不会自动续跑。
4. 在「对比记录」里选两条记录,点「对比记录」。比较方式只有一种,结果会标注两边是否同一目标。
5. 结果包含差异分数、判定线、结论、关系、cell 级差异和警告。低于判定线只说明差异小,不等于 100% 是同一个模型。
6. 行内垃圾桶可以删除记录;删除前会二次确认。运行中的记录不能删除。

Agent 工具

Host 服务同时暴露给 agent:

- llm_fingerprint_list_models
- llm_fingerprint_probe
- llm_fingerprint_capture
- llm_fingerprint_get_record
- llm_fingerprint_compare
- llm_fingerprint_delete_record

UI 和工具调用同一个 Host 服务,不维护第二套逻辑。

工作原理

一次采集使用论文的 10 个任务 × 4 种语言 = 40 个 cell,每个 cell 30 次,temperature=1.0,max_tokens=16,固定的单词 system prompt,关闭 reasoning。答案经过确定性归一化;两条记录的分数是双方有效样本都 ≥10 的 cell 上 base-2 JSD 的平均值。判定线 0.280 取自发布的分半 trial 中不同模型距离的 1% 分位;只有覆盖全部 40 个 cell 且两条记录都是每 cell 30 次重复时才给出判定,否则显示分数和覆盖情况,结论为「证据不足」。在这个工作点上,约 1% 的不同模型会低于线,约 18% 的同模型比较会高于线。

每次请求只包含论文的 system prompt 和一条 user 探针,不带对话历史、工具或当前会话的 system prompt。每个独立样本使用新的会话标识,同一样本重试沿用标识;标识经 DSH 适配器传递,不创建聊天会话。新标识不保证禁用服务商缓存,具体策略记录在新记录的 request.sessionPolicy 中。比较时,提示词版本不同或推理没有关闭的记录会被拒绝;会话标识策略不同只提示风险。

更详细的算法、数据模型和兼容性判断见 docs/DESIGN.md。

数据与隐私

- 插件不保存 API key;key 留在 DSH 的 provider/credential 层。
- 原始响应和指纹默认写到 $DSH_HOME/llm-fingerprint/,也可以由插件 row 的 dataDir 覆盖。
- 删除记录会删除该目录下的 meta.json、responses.jsonl 和 fingerprint.json。
- 无法关闭 reasoning 的模型不会被静默采集。

限制

- 同模型跨服务商可能因为量化、推理实现、system prompt 不同而天然有差异;跨服务商对比是证据,不是证明。
- 判定线取不同模型距离的 1% 分位,仍会有约 1% 的不同模型落在线下,被判成「看起来是同一个模型」。
- 判定线和论文的 EER 都只适用于这套协议;修改 repetitions、提示词或 reasoning 设置后需要重新校准。
- 目前没有 post-reasoning 指纹模式;只能 reasoning 的模型会被拒绝。
- 插件审计的是 DSH 配置的整条路由;聚合器的上游路由和对方返回的 model 字符串不在 ctx.llm.stream 的可见范围内。
- 中断恢复假设同一个数据目录只由一个 DSH 进程写入;多个进程共用 DSH_HOME 时,后启动的进程会把另一个进程正在运行的记录标为失败。

开发

- index.js:Host 插件,llm / webServer 服务、智能体工具、HTTP API。
- core.js:协议常量、提示词 battery、归一化、JSD、指纹与对比。
- client.js:Web 面板(main + sidebar.panellist)、详情抽屉、对比与删除确认。
- prompts.json:论文 paper-1 的 10 个任务 × 4 种语言。
- locale/:插件元数据和 UI 文案。
- docs/DESIGN.md:设计细节。
- npm run check:JS 语法检查(无构建步骤)。
- npm test:核心回归测试(判定线、覆盖门槛、协议拒绝、重复 cell 与主要答案)。

许可与来源

插件代码使用 MIT 许可,见 LICENSE。提示词和数据的来源、MIT/CC-BY-4.0 归属见 NOTICE.md。
预览分享卡片长什么样 ↓Jerry2262/dsh-fingerprint
分享 · DeepSeek Harness Hub
Jerry2262/dsh-fingerprint

采集并对比模型指纹,判断服务商是否换了模型

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部