Academic Detective 是一个免费的学术打假 AI 初筛网站。
网站地址:https://academic-detective.pages.dev
它的目标很简单:让任何人都可以上传一篇论文,得到一份由 AI 辅助生成的学术诚信初筛报告。
这不是一个“AI 自动判定学术造假”的工具。我不希望它变成那样。
它更像是一个低门槛的初筛助手:帮你快速扫一遍论文文本、图表描述、统计方法、结果表述和方法学细节,找出值得进一步人工复核的可疑点。真正的学术不端认定,永远应该交给专业调查和可复核的证据链。
很多论文里的异常并不总是藏得很深。
有些问题就摆在图、表、统计结果、方法描述和时间线里,只是普通读者没有足够的训练,也没有足够的时间逐项检查。
尤其是生命科学、医学、生物材料等领域,论文经常包含大量 figure、Western blot、显微图、统计图和补充材料。一个人从头到尾看完已经不容易,更别说系统地检查同一张图是否被复用、数据是否过于整齐、标准差和 p 值是否合理、方法描述和结果是否互相矛盾。
这些事情很适合让 AI 先做一轮粗筛。
不是让 AI 下结论,而是让 AI 帮人节省时间,把值得人继续看的地方标出来。
Academic Detective 当前支持上传:
- DOCX
- TXT
文件会先在浏览器里提取文本。默认情况下,原始论文文件不会被上传到服务器,后端只接收提取出来的文本和文件元数据。
后端会调用大模型,基于内置的学术打假分析框架生成一份 Markdown 报告。报告通常包括:
- 论文基本信息
- 综合风险评定
- 具体可疑点
- 证据描述
- 不确定性说明
- 建议后续行动
- 免责声明
前端支持按 ModelScope / OpenCode Zen 分组选择模型,并展示当前 IP 的本站每日剩余分析次数。目前每个 IP 每天 20 次免费分析额度。
当前内置的分析思路主要包括:
- 图片复用风险:如 figure/subfigure、Western blot、显微图、流式图是否存在复用、旋转、翻转、裁剪等线索。
- 数据异常:如标准差过于整齐、p 值分布可疑、重复实验结果过于完美。
- 统计异常:如小样本得到极显著结果、统计方法和数据类型不匹配、选择性报告。
- 方法学矛盾:如样本量、实验条件、方法描述和结果表格之间互相冲突。
- 产出和时间线异常:如实验周期、投稿时间、试剂设备上市时间之间存在明显不合理之处。
当前版本主要处理文本。涉及真正的图片复用、拼接、像素级取证,仍然需要专业图像工具和人工复核。
AI 只能做初筛,不能做最终判定。
它可能误报。一处图片标注错误,可能是排版疏忽;一组统计结果看起来整齐,也可能来自特殊实验设计。
它也可能漏报。复杂的图像操纵、跨论文图片复用、原始数据异常,很多需要专业工具、人工经验和外部数据库交叉验证。
所以这个项目不是裁判,也不是自动打假神器。
它只是一个入口。一个把检查成本降下来的入口。
本项目的学术打假分析框架受到 wooly99/geng-academic-fraud-detector 的启发,并向「耿同学讲故事」所代表的学术监督精神致敬🫡。
我理解的“耿同学精神”,不是简单地喊打喊杀,也不是用情绪替代证据。
它更接近四件事:有勇气提出问题,用证据说话,把复杂问题讲到普通人也能看懂,质疑论文但不搞人身攻击。
这个项目希望延续这种有证据、有公心、讲逻辑、可复核的方式,把学术诚信初筛做成更低门槛的公益工具。
这个项目还很早期,欢迎贡献:
- 可免费调用的大模型 API
- 更适合学术论文分析的 prompt
- PDF / DOCX 提取优化方案
- 图像取证工具链
- PubPeer、Retraction Watch 等公开信息的检索接口
- 更好的限流、防滥用和隐私设计
- 前端 UI 改进
欢迎提 issue 或 pull request。
- 前端:React + Vite
- 部署:Cloudflare Pages
- 后端:Cloudflare Pages Functions
- 限流:Cloudflare KV
- 模型:OpenAI-compatible providers,目前接入 ModelScope 和 OpenCode Zen
- 文档解析:浏览器端提取 PDF / DOCX / TXT 文本
ModelScope 和 OpenCode Zen 当前接入的是 OpenAI-compatible chat completions 接口。ModelScope 可通过 /v1/models 列出模型,OpenCode Zen 可直接调用指定免费模型;二者都没有在当前接入路径中提供“按模型剩余调用次数”的标准字段。
因此页面展示的是本站 KV 限流中的当前 IP 每日剩余次数,所有模型共享该次数。
npm install
cp .dev.vars.example .dev.vars
npm run dev只调试静态前端时用 npm run dev。需要连 Pages Functions 时:
npm run build
npm run pages:dev在 Cloudflare Pages 项目中配置环境变量:
MODELSCOPE_API_KEYMODELSCOPE_BASE_URLMODELSCOPE_MODELOPENCODE_ZEN_API_KEYDEFAULT_PROVIDER_IDDAILY_IP_LIMITMAX_TEXT_CHARS
可选绑定:
- KV:
RATE_LIMIT - R2:
PAPER_UPLOADS
生产环境不要使用 Cloudflare Global API Key 写入仓库;用最小权限 API Token。