AI 味体检

中文小说 AI 痕迹辅助判断 v1.0.0公测

待检文本

0 字 Ctrl + Enter 直接检测

内测版 检测不保存正文,只在点 👍/👎 时记录统计特征用于改进模型。 结果为「AI 味体检」,仅供辅助判断,不构成对作品来源的认定。

◎

粘一段小说进来,右侧给出 AI 味指数、维度拆解和改写建议。

检测完,左边原文会按段落染色:绿=人写 黄=疑似 AI 红=高度怀疑 AI。

结论是疑似度 + 证据链,不是司法意义上的判定。

整本 / 多章

0 字 用于找出「哪几章是 AI 写的」

章节曲线

▤

上传整本后,这里会画出一条按章排列的 AI 味曲线。

批量检测

每段之间用一行 ===== 分隔;也可以直接拖入多个 txt 文件。适合工作室批量过稿。

双文本对照

拿作者自己写的当基线,比空口判断更有说服力

A · 基线(已知是真人写的)

B · 待测(怀疑有 AI 参与)

接口文档

REST / JSON,零依赖 Node 服务

启动服务后用 X-API-Key 或 Authorization: Bearer 调用。所有端点都支持 CORS。

POST/api/v1/detect单段检测,返回完整报告
POST/api/v1/batch批量检测(最多 50 段)
POST/api/v1/chapters整本拆章,逐章打分
POST/api/v1/compare双文本对照
POST/api/v1/judge大模型裁判(可选,需配置 Key)
POST/api/v1/feedback打标(ai / human / unsure),喂给校准脚本
GET/api/v1/health健康检查
GET/api/v1/quota当前配额余量
GET/api/v1/stats样本数、准确率、AUC
GET/api/v1/calibration当前校准参数
GET/api/v1/features特征字典(可解释性凭证)
GET/api/v1/usage当前 Key 的配额用量

请求示例

# curl
curl -X POST http://127.0.0.1:8787/api/v1/detect \
  -H "Content-Type: application/json" \
  -H "X-API-Key: 你的Key" \
  -d '{"text":"夜色如水,月光透过窗棂……"}'

返回结构

{
  "ok": true,
  "score": 78,              // AI 味指数 0-100
  "verdict": { "key": "high", "label": "高度怀疑 AI" },   // 三档结论
  "confidence": { "level": "较高", "margin": 6, ... },
  "suspiciousParagraphs": [
    { "index": 2, "score": 84, "text": "夜色如水……", "hits": [...] }
  ],
  "dimensions": [ { "key": "rhythm", "score": 82, ... } ],
  "findings":   [ { "title": "...", "evidence": ["..."], "fix": "..." } ]
}

错误码

  • 401 缺少或无效 API Key
  • 413 文本超长(默认单次 2 MB / 20 万字)
  • 422 文本过短或中文占比过低
  • 429 超出每分钟速率或每日配额

领取 API Key

1 token = 1000 字 · 内测免费 200 token

填个名字就能领。**同名再次领取 = 换一把新的,旧 Key 立即作废**(忘了 Key 就用这个办法重置)。 Key 只显示一次,请立刻保存。

在线试用

检查运行环境…

// 响应会显示在这里

部署命令

# 1. 启动(首次会生成 keys.json 并打印一把新 Key)
node server.js

# 2. 自定义端口 / 超时
PORT=9000 node server.js

# 3. 自检引擎
node server.js --selftest

训练:用你的标注让判定越来越准

每次检测完点一下「这是 AI 写的 / 这是人写的」,样本就会存进 samples.jsonl。 攒够之后跑 node calibrate.js,它会重新学习 46 项特征的「人类均值 / AI 均值 / 区分度权重」, 写进 calibration.json,服务端自动热加载。 它不会记住具体文本,只调整每个特征该有多敏感——所以判定依然可解释,也依然能给出证据。

样本总数

—

AI 标注 / 人类标注

—

当前准确率(阈值 50)

—

AUC

—

正在读取训练状态…
后台管理检测记录 · 客户 Key · 模型状态

独立页面,功能更全(趋势图、Key 增删、CSV 导出)。

打开后台 ↗
测试记录谁、什么时候、测了什么、判成什么
—

默认只保存正文前 500 字(够定位问题,不是整篇存档)。要存全文:启动前设 LOG_TEXT_MAX=0。记录文件在项目目录的 testlogs.jsonl。

时间IP身份 字数分数内容
点「刷新记录」加载
怎么做
  1. 在「检测」页贴文本、检测,然后点底部的三个反馈按钮之一。每类至少标 8 条,30 条以上效果才明显。
  2. 标完之后,在项目目录执行 node calibrate.js。
  3. 看它打印的「留出集准确率 校准前 → 校准后」,确认变好再保留;要回滚就删掉 calibration.json。
  4. 服务端每 15 秒检查一次校准文件,改了自动生效,不用重启。
命令行
node calibrate.js            # 训练 + 评估 + 写入 calibration.json
node calibrate.js --dry      # 只看结果,不写文件
node calibrate.js --min 20   # 每类至少 20 条才训练
node calibrate.js --cv 5     # 5 折交叉验证,对外宣传用这个数字
也可以从 API 打标
curl -X POST http://127.0.0.1:8787/api/v1/feedback \
  -H "Content-Type: application/json" -H "X-API-Key: $KEY" \
  -d '{"label":"ai","text":"夜色如水,月光透过窗棂……"}'

这个工具是怎么判的

方法、边界与免责
先说边界。本工具是统计学启发式检测,不是模型分类器,更不是「AI 生成鉴定书」。它衡量的是「这段文字有多符合中文大模型常见的书写习惯」。 真人写得规整、或 AI 被逐句人工改写过,都可能误判;反过来,老练的提示词也可能骗过它。对外使用时请只声称「疑似度 + 证据」,不要声称「判定」。
原理55 项可解释特征 → 10 个维度 → 加权 → 段落级定位

每个特征都给出「实测值 / 人类参考值 / AI 参考值」,用线性映射把实测值换算成 0–1 的偏离度,再按维度加权得出 AI 味指数。 没有任何一环是黑箱:你可以在报告里看到是哪一条特征、偏离了多少、命中了哪些原文。 对外呈现的是段落级判定(和朱雀一致,按段给结论 + 原文 + 依据),逐句热力图收在细节里,给编辑细看用。 权重和参考值都写在 assets/engine.js 顶部的特征表里,可以直接改。

① 句式节奏

句长变异系数、短句率、节拍器连击、单句成段率。人类句子忽长忽短,模型偏爱 15–35 字的匀速输出。

② 用词习惯

叠词副词(轻轻/缓缓/淡淡)、四字成语、抽象大词、具体物、数字量词。模型写概念,人写东西。

③ 套路句式

「不是…而是…」、排比、仿佛…一般、眼底闪过、嘴角勾起一抹、深吸一口气。这是最容易命中的指纹。

④ 语病杂糅

「大约…左右」「目的是为了」这类语义重复,「原因是…造成的」这类句式杂糅,「通过…,让…」的主语残缺,「说的好」的的/得误用,以及一逗到底。

⑤ 逻辑松散

前言不搭后语:相邻两句内容词完全不重叠又没有转场词;车轱辘话:把上一句换个说法再说一遍;以及「从未…又一次」这类前后矛盾。

⑥ 标点口语

标点种类数、破折号、感叹问号、语气词、网络用语、手写毛边。人打字会有毛边,模型太干净。

⑦ 重复自噬

6 字串复用、句首雷同、相邻句相似度。模型会把自己刚写过的句子再说一遍。

⑧ 意象感官

视觉垄断度、对话占比、对话句长、具体动作。模型只会写「看」,很少写「闻」和「疼」。

⑨ 空转密度

似乎/仿佛/某种/下意识、空转句、升华式收尾。说了很多,什么也没说。

⑩ 可预测性(实验)

字符级条件熵,作为困惑度的廉价代理。越可预测,越像模型输出。权重刻意压低。

判定区间对外只给三档结论,和朱雀一致
指数结论含义处置建议
0–39 人写 未检出成规模的机器书写特征 直接通过
40–69 疑似 AI 命中部分模型书写特征,也可能是人机混写或 AI 初稿人工润色 人工复核;占全文超 30% 再走下一步
70–100 高度怀疑 AI 多项模型书写特征同时命中,且分布集中在模型一侧 要求作者说明创作过程或提供修改记录

0–100 的「AI 味指数」只作为内部量化的精细刻度,对外一律只讲这三档。 想看更细的层次,看右侧「维度拆解」和「可疑段落」里的分段分数。

已知的误判场景
  • 翻译腔 / 严肃文学:用词规整、标点克制、少口语,容易被打高分。建议调低「标点口语」维度权重。
  • 公文体 / 说明文:本来就该句句等长,检测失去意义。
  • 1500 字以下:统计特征不稳,置信度会自动降级,请务必看置信区间。
  • 诗歌 / 意识流:句长和标点本身就是形式,指标会失效。
  • AI 生成后人工精修:分数通常落在 40–59,这正是「无法定论」区间,符合实际情况。
自检

点一下,用一段典型模型腔和一段真人网文跑一遍引擎,验证判定方向是否正常。