ModelTrace README

The project's README from github.com/xqy2006/ModelTrace. As one markdown file: README.md.

ModelTrace

ModelTrace 是一个本地运行的主动模型归因工具。它通过三条独立的长整数生成挑战提取输出指纹,在统一候选库中自动判断模型家族和具体版本。

运行

python -m pip install -r requirements.txt
python start.py

页面地址为 http://127.0.0.1:7860/。

GitHub Pages

static/index.html 是不依赖后端的手动测试版本,归因计算和指纹库读取都在浏览器本地完成。仓库附带的 GitHub Actions 会将 static/ 部署到 GitHub Pages。

使用

API Key 只用于当前页面发起请求,不写入磁盘。 自动采集会在对应的 *_reference.jsonl 中保存实际 user prompt、base prompt、system prompt 和 user prefix;拟合后的 *_bank.json 与 unified_bank.json 只保存统计指纹和校准参数。

指纹方法

Codex 任务内监测插件

ModelTrace Guard 按工具调用次数,在后台从原 Codex 任务的冻结快照分别 fork 进行普通检测和异常复测,测后清理临时分支。正常结果静默保存,主任务无需等待检测。用户可调整工具间隔、复测次数(默认 3)、有效期和十种语言,不设每轮或任务累计探针上限。网页仪表盘提供完整历史分页和实时提醒;首次不一致要求智能体告知并暂停工作,额外复测全部不一致时停止原任务并拦截后续受支持的工作工具。探针由 Codex 自身生成并消耗对应推理额度,评分使用插件附带的 ModelTrace 指纹库,页面刷新不消耗模型额度。

安装后在 Codex CLI 的 /hooks 中审阅并信任插件 hooks,再在目标任务中开启监测。安装、配置和结果解释详见插件使用说明。

核心算法

所有模型使用同一个全局特征空间、同一套特征与权重:

0.75 × 去除环境方向后的 Hellinger 模型中心相似度
+ 0.25 × 有序块数字序列特征

建库时使用共享环境的平均偏移估计主要干扰方向。归因时先从数字分布和有序特征中投影掉这些方向,再同时与全部模型中心比较。三份回答分别评分后取平均,并使用与查询数量对应的校准温度转换为概率。

具体模型概率由一次全局 softmax 得到,家族概率是该家族下各模型概率之和:

P(具体模型) = softmax(β × 全局模型得分)
P(模型家族) = Σ P(该家族中的具体模型)

结果是当前候选库内、均匀先验下的闭集概率。未收录模型仍会被归到最相似的现有候选。

项目结构

app.py              Web 接口
fingerprint.py      指纹提取与归因
bank_builder.py     指纹库构建与概率校准
challenge_suite.py  自动建库挑战
enrollment.py       API 调用与指纹采集
rebuild_unified_bank.py  重建统一全局库
data/               参考数据与指纹库
static/             页面资源
templates/          页面模板

指纹库说明

项目中现有指纹库共包含两个模型家族、17 个模型:

gpt-5.4
gpt-5.5
gpt-5.6-luna
gpt-5.6-terra
gpt-5.6-sol
gpt-6-astra
gpt-6-sol
gpt-6-luna
claude-haiku-4-5-20251001
claude-sonnet-4-6
claude-sonnet-5
claude-sonnet-5-5
claude-opus-4-6
claude-opus-4-7
claude-opus-4-8
claude-opus-5
claude-opus-5-5

GPT 采集自官方订阅 Codex,Claude 采集自 OAIPro。

声明

测试结果仅供参考,并非判断模型的决定性证据

注意该项目为归因工具,只对指纹库内的模型尽可能去判断属于哪种模型,若待测模型不在指纹库中,得到任何结果都是有可能的

目前已知因系统提示词严重影响模型偏好,在Claude Code中得到的测试结果存在较大偏差,建议不要在Claude Code中测试

致谢

感谢 hanlinwenyuan/hlwy-ai-checker。该项目较早将语言模型的随机数字生成偏差用于第三方 API 渠道一致性检查,为 ModelTrace 提供了重要参考。

LINUX DO

ModelTrace (xqy2006/ModelTrace)

Searching Database…

这是什么?ModelTrace 是一个在本地运行的主动模型溯源工具:它向目标模型发送三个固定的挑战提示词,提取输出指纹,并与已知模型库比对,猜测模型家族和具体版本。
这是需要安装的应用,还是打开即用的页面?它是一个静态、无后端的网页(static/index.html,也部署在 GitHub Pages 上),外加一个可选的 Codex 插件 ModelTrace Guard,可在 Codex 会话中进行后台监测。
怎么运行一次测试?打开 GitHub Pages 站点或本地的 static/index.html。手动测试时,把三个挑战提示词发给目标模型,再把它的输出粘贴回来;自动测试时,填入 Base URL、API Key 和模型名称,它会自己处理请求。
使用它需要 API 密钥吗?只有自动测试模式需要,该模式支持兼容 OpenAI Chat Completions 和 Anthropic Messages 的端点。手动测试完全不需要密钥——你自己粘贴模型输出即可。
它总能正确识别模型吗?不能——结果只是当前指纹库内的概率,不是证明。不在库中的模型仍会被匹配到最接近的已知模型,因此陌生模型可能得到看似可信却错误的结果。系统提示词也会严重干扰结果,已知在 Claude Code 内测试尤其不可靠。
它只在浏览器里运行吗?还是需要安装什么?手动/API 模式完全在浏览器中运行,无需后端;只有 Codex Guard 插件需要安装到 Codex CLI 内。
Codex 插件 ModelTrace Guard 到底做什么?它在后台监测运行中的 Codex 任务:定期分叉冻结的任务快照来运行正常探测和复验探测,不阻塞主任务;结果一致就静默记录,反复不一致则告警并暂停智能体。
指纹库目前包含什么?两个模型家族共 17 个模型:GPT 数据来自官方 Codex 订阅,Claude 数据通过 OAIPro 采集。
溯源算法如何为一个模型打分?所有模型共享一个全局特征空间;该工具投影去除估计的干扰方向,将三个响应与每个模型中心打分,对分数取平均,再用全局 softmax 加校准温度转换为概率。
这个项目的灵感来自哪里?作者致谢 hanlinwenyuan/hlwy-ai-checker,这个更早的项目利用大语言模型随机数生成的偏差来检查第三方 API 通道的一致性。
Creator
xqy2006
Size
3.9 MB
Stars
1.7K
Updated
CommitOct 09
Age
1mo
Commits · 90 Days