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

模型指纹显示 Bortor/dsh-fingerprint-show

DeepSeek Harness
Bortor74 天前有提交已提供中文文档扫描:未发现敏感能力

在每条 AI 回复末尾显示本次调用的模型指纹

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

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

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

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:需留意
是什么
dsh 原生插件 · browser
装得上吗
实装验证未通过(unknown),装前请到仓库确认最近更新与 issue
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 74 天前
档位由哪些信号合成

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

验证判据与等级说明 →
⚠︎ 实装验证未通过(unknown · 2026/10/10) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🟢 扫描:未发现敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。

扫描于 2026/11/3(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

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

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 显示调用模型指纹
  • 侧边栏展示指纹

README

由 DeepSeek 最新模型翻译生成
dsh-fingerprint-show 一个 DeepSeek Harness(DSH)插件:捕获每次模型调用的提供方模型指纹(OpenAI 兼容的 system_fingerprint 字段),并在 Web UI 中每条 AI 回复的指标行末尾以纯文本显示。 功能 - 完整指纹文本 — 每条有指标行的 AI 回复末尾以纯文本追加该次调用实际的模型指纹(如 … 127 tok/s · 0123456789abcdef0123456789abcdef),完整不截断、无按钮、无图标、无复制交互; - 样式与原生一致 — 字体 14px、行高 24px、三级灰色(--dsw-alias-label-tertiary)、10px 圆点间距,与指标文本像素级统一; - 悬停同步 — 指纹与 时间 · 用时 · 首 token · tok/s 指标文本同生同隐:悬停或聚焦消息时一起淡入,移开一起消失(与框架原生行为相同的 80ms 过渡); - 历史保留 — 中途切换模型后,每条回复各自标注当时实际生效的部署; - 悬停提示 — tooltip 显示模型 id、提供方与调用时间; - 零侵入 — 不修改会话日志、不进入模型上下文、不影响 KV 缓存。
展开完整文档(README 剩余 1 节)
dsh-fingerprint-show

一个 DeepSeek Harness(DSH)插件:捕获每次模型调用的提供方模型指纹(OpenAI 兼容的 system_fingerprint 字段),并在 Web UI 中每条 AI 回复的指标行末尾以纯文本显示。

功能

- 完整指纹文本 — 每条有指标行的 AI 回复末尾以纯文本追加该次调用实际的模型指纹(如 … 127 tok/s · 0123456789abcdef0123456789abcdef),完整不截断、无按钮、无图标、无复制交互;
- 样式与原生一致 — 字体 14px、行高 24px、三级灰色(--dsw-alias-label-tertiary)、10px 圆点间距,与指标文本像素级统一;
- 悬停同步 — 指纹与 时间 · 用时 · 首 token · tok/s 指标文本同生同隐:悬停或聚焦消息时一起淡入,移开一起消失(与框架原生行为相同的 80ms 过渡);
- 历史保留 — 中途切换模型后,每条回复各自标注当时实际生效的部署;
- 悬停提示 — tooltip 显示模型 id、提供方与调用时间;
- 零侵入 — 不修改会话日志、不进入模型上下文、不影响 KV 缓存。

工作原理

DSH 自带的 DeepSeek 适配器把提供方 SSE 翻译成框架内部的 StreamChunk 协议,响应级元数据(包括 system_fingerprint)在这一步被丢弃,因此 llm/stream 瀑布事件里看不到指纹。本插件在两个互补的接缝上工作:

1. fetch 包装(主机侧)— 所有适配器最终都走全局 fetch。插件 tee 每个匹配 chat/completions 的响应体,从 SSE 分支中提取 system_fingerprint,另一分支原样交还适配器。
2. llm/stream 瀑布监听(主机侧)— 提供 (sessionId, model, purpose)。
每次流式调用恰好对应一个提供方请求,观测按「同模型优先、时间最近」关联到进行中的瀑布调用。
3. HTTP 路由(主机侧)— 通过 ctx.webServer.register() 在 Web 服务上暴露 GET <pathPrefix>/api/observations?sessionId=…&limit=…。之所以不用自定义会话事件:持久化读取层会拒绝未知事件类型且 Session.append 不支持 ignorable 标记;Remote 命名空间则需要构建期代码生成。
4. 消息内文本(浏览器侧)— 客户端半区注册 conversation.chat.assistant-actions 槽位条目(定稿 AI 消息的操作条,与复制/分支按钮同区),按时间单调对齐观测与消息——每条消息取「开始于该消息落盘之前、且未被更早消息消费」的最新观测——以纯文本渲染在指标行末尾;可见性与指标文本同步(悬停显示)。样式完全镜像原生时间文本(font-size:14px、line-height:24px、三级灰色、圆点仅右侧 10px 边距、左侧间距由行的 flex gap:10px 提供)。

安装

前置条件:已安装 dsh CLI 与 pnpm。

git clone <this-repo> dsh-fingerprint-show
cd dsh-fingerprint-show
pnpm install # prepare 钩子自动构建 lib/
dsh plugin --profile web add <path-to-checkout> # 插件包目录本身的绝对路径,或 .

注意 add 的参数是插件包目录本身。在仓库目录里执行 add ./dsh-fingerprint-show 会把链接指到不存在的子目录(pnpm 会照常记录依赖但 bundle 层不会生效)。
装好后用 dsh --profile web --dump-config 确认输出里有 == dsh-fingerprint-show 一层。

重启 dsh web 后,发起一次对话;把鼠标移到 AI 回复上,指标行末尾会出现 · 完整指纹 文本。

插件只在 web profile 下激活(依赖其 webServer 服务);headless profile 中保持休眠。也可以用开发模式快速试用:
dsh web --patch ./cordis.patch.yml(需先把 patch 中 name: 改为指向
src/index.ts 的绝对路径)。

配置

在 profile 的 cordis.patch.yml 或 --patch 覆盖层中按 id 覆盖该行配置:

- id: fingerprint-show
config:
pathPrefix: /dsh-fingerprint-show # HTTP 路由前缀 matchPatterns: # 对请求 URL 做子串匹配
- chat/completions
maxObservations: 500 # 进程内环形缓冲容量

注意:patch 会整行替换 config,覆盖时请重述全部需要的键。

诊断

浏览器直接访问 /dsh-fingerprint-show/api/observations(同源)可查看捕获结果:

{
"observations": [ { "fingerprint": "…", "model": "…", "sessionId": "…", "time": 123 } ],
"stats": {
"matchedResponses": 2, // 被拦截的匹配响应数 "capturedFingerprints": 2, // 成功提取指纹数 "parsedChunks": 2, // 解析的 SSE 载荷数 "inflightCalls": 0, // 进行中的瀑布调用数 "totalStored": 2 // 缓冲中观测总数 } } 若 matchedResponses > 0 而 capturedFingerprints = 0,说明提供方响应里没有 system_fingerprint(自建/代理端点常见);lastPayloadSample 会给出最近一次无指纹响应的首个 SSE 载荷样本。

已知限制

- 并发同模型调用(如同时运行的子代理)之间按「时间最近」归因,极端并发下可能归属到相邻调用——但指纹本身标识的是模型部署版本,值始终正确;
- 辅助调用(会话标题、压缩)带 purpose 标记,匹配时排除,不参与消息标注;
- 指纹由提供方返回,非 OpenAI 兼容的自建端点可能不携带该字段(此时不显示);
- 只在有指标行(timing)的消息上显示,无指标文本的消息不显示指纹。

开发

pnpm install
pnpm run build # esbuild → lib/index.js (Node ESM) + lib/client.js (浏览器 lazy-CJS)
pnpm test # 主机流水线 + 客户端 bundle 冒烟测试

客户端半区必须构建为 DSH 模块加载器的 lazy-CJS 工厂形式
(window.__ModuleLoader__.load({id, factory})),见 scripts/build.mjs。

License

MIT
预览分享卡片长什么样 ↓Bortor/dsh-fingerprint-show
分享 · DeepSeek Harness Hub
Bortor/dsh-fingerprint-show

在每条 AI 回复末尾显示本次调用的模型指纹

这是你的仓库?认领条目

回到顶部