Skip to content

norbertm2050/aitest

Repository files navigation

AITest — AI API 真实率检测 / LLM API Authenticity Checker

AITest 是一个面向普通用户和团队的 AI API 检测、LLM API 验证、模型真伪识别 工具。输入接口地址和 API Key,选择检测层级,就可以快速判断一个模型接口是否能正常调用、是否暴露了真实模型列表、返回行为是否与声明模型一致,并生成带防伪溯源信息的报告。

AITest is an AI API tester, LLM API checker, OpenAI-compatible API verifier, and model authenticity detector for GPT, Claude, Gemini, DeepSeek, GLM, and other large language model gateways.

在线使用:https://aitest.219214.xyz/

Live demo / online AI API checker: https://aitest.219214.xyz/

中文关键词:AI API 检测、AI 接口检测、API 真实率检测、大模型 API 检测、模型真伪检测、LLM 网关检测、OpenAI 兼容接口检测、中转 API 检测、GPT API 检测、Claude API 检测、Gemini API 检测、DeepSeek API 检测、GLM API 检测、模型风险评估、API 风险检测。

English keywords: AI API tester, LLM API checker, AI model verification, model authenticity checker, OpenAI compatible API test, GPT API checker, Claude API checker, Gemini API checker, DeepSeek API checker, GLM API checker, LLM gateway tester, API risk detection, model fingerprinting, AI API quality detection.

AITest start page

English overview

AITest helps users verify whether an AI model API is reachable, whether its /models endpoint exposes plausible model IDs, whether its behavior matches the claimed model family, and whether the result is low, medium, or high risk. It is designed for AI API buyers, LLM gateway operators, OpenAI-compatible API users, and teams that need a simple pre-launch API quality check.

适合解决什么问题

  • 购买或接入 API 前,先确认接口是否真的可用。
  • 同一个网关里有多个模型时,一键识别并选择要检测的模型。
  • 同时检测 GPT、Claude、Gemini、DeepSeek、GLM 等不同模型家族。
  • 对低风险 / 中风险 / 高风险结果给出可读原因,而不是只给技术日志。
  • 导出带检测时间、检测 ID、签名和水印的报告,方便复核与留档。

核心功能

  • 免登录检测:打开页面即可填写 API,不强制注册。
  • 模型识别:调用目标接口的模型列表,默认选择识别到的最高级模型。
  • 多层级检测:支持 L1 快速、L2 标准、L3 深度检测,可单选或多选。
  • 批量导入:支持 CSV / TXT 导入多组接口,批量排查风险。
  • 实时进度:每个模型、每个层级都有独立状态,可在运行中停止单项任务。
  • 报告防伪:报告页和快速结果带水印、检测 ID、检测时间和完整签名。
  • PDF 导出:报告可直接导出 PDF,保留防伪和溯源信息。
  • 中英文界面:右上角可切换中文 / English。
  • 日间 / 夜间模式:默认轻量日间界面,也支持深色模式。

检测原理

AITest 不依赖单一回答来判断真假,而是组合多类证据:

  1. 协议连通性:确认目标 Base URL 和认证方式是否真的可调用。
  2. 模型列表:读取接口暴露的模型,识别模型家族与优先级。
  3. 基础能力:检查普通对话、结构化输出、工具调用、流式响应等能力。
  4. 错误路径:观察非法参数、异常请求是否返回合理错误。
  5. 行为指纹:用参考题组比较模型行为和声明模型是否一致。
  6. 报告签名:对报告关键内容生成服务端签名,降低结果被篡改的风险。

检测结果适合做上线前排查和采购前复核;它不是法律审计,也不应替代供应商合同审查。

本地运行

环境要求

  • Node.js 22+
  • pnpm 10+
  • Python 3.12+
  • Docker / Docker Compose(用于 Postgres、Redis、MinIO 等基础设施)

安装

pnpm install

如需 evaluator 的 Python 依赖:

uv sync --project services/evaluator

没有 uv 时可使用 venv:

python3 -m venv services/evaluator/.venv
services/evaluator/.venv/bin/pip install -U pip fastapi httpx pydantic uvicorn

启动开发栈

pnpm infra:up
pnpm stack:start

默认地址:

查看状态:

pnpm stack:status

停止:

pnpm stack:stop

生产构建

pnpm --filter @aitest/web test
pnpm --filter @aitest/web typecheck
pnpm --filter @aitest/web lint
cd apps/web && NEXT_TELEMETRY_DISABLED=1 pnpm exec next build

常用验证命令

pnpm --filter @aitest/web test
pnpm --filter @aitest/web typecheck
pnpm --filter @aitest/web lint
python -m unittest discover -s services/evaluator/tests -p 'test*.py'

如果要用真实 API 做联调,请只在本地 shell 或未跟踪的 .env 中设置密钥,不要写进源码:

export AITEST_BASE_URL='https://example.com/v1'
export AITEST_API_KEY='<your-local-api-key>'
pnpm test:provided-api

目录结构

apps/web/                  Next.js 前端与公共 API
services/evaluator/         FastAPI 检测服务
services/queue-worker/      队列与任务状态机
packages/                   共享 contracts、模型档案、prompt bank、UI 等
scripts/                    本地启动、验证、压力测试脚本
infra/                      本地基础设施配置
docs/                       架构与交付文档

隐私与安全约定

  • 不要提交真实 API Key、Cookie、Token、数据库、运行日志或本地报告数据。
  • .env.data/.omx/memory/output/node_modules/、构建缓存默认不进入 Git。
  • 公开报告和导出文件不显示 API Key。
  • 调试复现需要的私有运行记录应只保存在受控服务端环境,并由部署方设置访问权限和保留周期。
  • 推送 GitHub 前建议执行一次 secret scan,例如:
rg -n "sk-[A-Za-z0-9_-]+|gho_[A-Za-z0-9_]+|Bearer [A-Za-z0-9._-]+" --hidden -g '!node_modules/**' -g '!.git/**' -g '!.data/**' -g '!.omx/**' -g '!output/**'

发布状态

当前版本已经具备公开试用和真实接口检测能力。正式大规模商用前,仍建议按自己的部署环境补充:访问控制策略、密钥保留策略、备份恢复、监控告警、限流和法务合规检查。

License

No license has been selected yet. Contact the repository owner before reusing this code outside the intended project.

Releases

No releases published

Packages

 
 
 

Contributors