[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-80943":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":22,"archived":23,"fork":23,"defaultBranch":24,"hasWiki":25,"hasPages":23,"topics":26,"createdAt":10,"pushedAt":10,"updatedAt":46,"readmeContent":47,"aiSummary":48,"trendingCount":16,"starSnapshotCount":16,"syncStatus":49,"lastSyncTime":50,"discoverSource":51},80943,"veridrop","canarybyte\u002Fveridrop","canarybyte","AI API 中转站真伪检测 · 中转站检测 · Claude\u002FGPT\u002FGemini relay authenticity detector · thinking signature crypto verification + needle-in-haystack long-context probe · self-hostable · AGPL-3.0","https:\u002F\u002Fveridrop.org",null,"Python",61,11,32,1,0,16,27,29,48,3.24,"GNU Affero General Public License v3.0",false,"main",true,[27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],"ai-tools","anthropic","api-relay","api-security","api-verification","claude","claude-api","developer-tools","fastapi","gemini","long-context","needle-in-haystack","openai","openai-api","proxy-detector","python","relay-detector","self-hostable","thinking-signature","2026-06-12 02:04:08","# Veridrop · AI API 中转站真伪检测 \u002F Claude · OpenAI · Gemini 中转站真假鉴定工具\n\n[![License: AGPL v3](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-AGPL_v3-blue.svg)](LICENSE)\n[![Python 3.10+](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fpython-3.10%2B-blue.svg)](https:\u002F\u002Fwww.python.org\u002F)\n[![Tests](https:\u002F\u002Fgithub.com\u002Fcanarybyte\u002Fveridrop\u002Factions\u002Fworkflows\u002Ftest.yml\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002Fcanarybyte\u002Fveridrop\u002Factions\u002Fworkflows\u002Ftest.yml)\n[![Live demo](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fdemo-veridrop.org-10b981.svg)](https:\u002F\u002Fveridrop.org)\n\n**在线使用(无需克隆代码)**:[veridrop.org](https:\u002F\u002Fveridrop.org) · 协议页直达:[Claude 中转站检测](https:\u002F\u002Fveridrop.org\u002Fclaude) · [OpenAI 中转站检测](https:\u002F\u002Fveridrop.org\u002Fopenai) · [Gemini 中转站检测](https:\u002F\u002Fveridrop.org\u002Fgemini) · [中转站红黑榜](https:\u002F\u002Fveridrop.org\u002Fleaderboard) · [常见问题 FAQ](https:\u002F\u002Fveridrop.org\u002Ffaq)\n\n> **TL;DR (English)**: Open-source authenticity & quality detector for AI API relays\n> (proxies). Given `base_url + api_key + model`, Veridrop runs probes against the relay,\n> compares results to a known-good baseline, and answers three questions:\n>\n> 1. **Authenticity** — is the relay actually serving the Claude \u002F GPT \u002F Gemini model\n>    it claims? (uses **Claude thinking signature** crypto verification, the only\n>    cryptographic-grade authenticity check in this category)\n> 2. **Capability** — has the relay stripped PDF \u002F Tool Use \u002F Thinking \u002F Function\n>    Calling support?\n> 3. **Compliance** — do response fields, ID prefixes, streaming events, and usage\n>    accounting match the official protocol?\n>\n> Bonus: **needle-in-haystack long-context probing** (32k → 1M tokens) catches\n> relays that advertise 1M context but silently truncate at 200k.\n>\n> Live demo at **[veridrop.org](https:\u002F\u002Fveridrop.org)** — no sign-up, API key\n> never persisted. Self-host with one `docker compose up` (see below).\n>\n> ⭐ If you've ever been burned by a fake relay, **star this repo** so others\n> can find it.\n\n---\n\n一个开源的 AI API 中转站(relay \u002F proxy)真伪与质量检测工具。给定一个 `base_url + api_key + model`,自动跑一组探针请求,把结果跟「官方真品基线」做**字段级、协议级、加密级**对比,回答三个问题:\n\n1. **真伪**:这家中转站给我的真的是它声称的模型吗?(Claude \u002F GPT \u002F Gemini)\n2. **能力**:PDF \u002F Tool Use \u002F Thinking \u002F Function Calling 等高级能力有没有被剥离?\n3. **合规**:响应字段、ID 前缀、streaming 协议、usage 用量是否符合官方规范?\n\n支持三大协议:**Anthropic Messages API**、**OpenAI Chat Completions**、**Gemini OpenAI 兼容 API**。\n\n线上服务:[veridrop.org](https:\u002F\u002Fveridrop.org)(免费、无需注册、API key 不落盘)\n\n---\n\n## 核心创新:加密级真伪验证 ⭐\n\nClaude 协议下,启用 thinking 时响应会返回 `signature` 字段(~500–2000 字符) — 这是 Anthropic 服务端用密钥签名的加密产物,中转站**理论上无法伪造**。这是业内唯一可加密验证、不可绕过的真伪指标,Veridrop 把它作为 Claude 协议 25% 权重的核心检测项。\n\nOpenAI \u002F Gemini 没有同等级别的服务端签名机制,验证强度只到**协议级 \u002F 行为级**,但仍可通过 `usage` 字段后端指纹(如 `claude_cache_creation_*` 残留)识别\"换芯\"中转站。\n\n---\n\n## 检测维度(按协议)\n\n三个协议都按「真伪 \u002F 能力 \u002F 协议」分类组织检测器,各自的杀手锏不同。\n权重分配、子检查细节见 [DESIGN.md](DESIGN.md)。\n\n### 跨协议加测:长上下文真实性 ⭐\n\n> **杀手锏**:三层 needle-in-haystack 探针实测中转站是否真实兑现宣传的\n> context window — 能 catch「宣传 1M 实际只给 200k」「转发到小窗口模型」\n> 「中段大海捞针失败」这类高端欺诈,基础协议检测完全测不到。\n\n| 档位 | 探针深度 | 用途 |\n|---|---|---|\n| **标准** | 32k → 100k → 200k tokens | 验证常规上下文窗口未截断 |\n| **极限** | 按模型上限等比(如 1M 模型测 32k → 500k → 950k) | 抓「宣传 1M 实际只给 200k」类高端欺诈 |\n\n按需勾选启用。任一层未通过立即停止,避免无谓烧 token。\n**支持**:Claude \u002F OpenAI(Gemini 暂不支持)。\n**成本**:由你的 API key 支付 — 标准档约 $0.05–$0.50,极限档约 $0.05–$8(随模型上限)。\n\n### Claude(Anthropic)— 12 项\n\n> **杀手锏**:`thinking_signature` 加密签名校验 — 中转站理论上无法伪造,\n> 这是 Veridrop 唯一能给出「数学级」真伪结论的协议。\n\n| 类别 | 检测器 | 核心检测点 |\n|---|---|---|\n| **真伪** | identity | 直接询问\"你是谁\",含 Claude \u002F Anthropic 关键词 |\n| | behavioral_signature | 3 道行为指纹题(markdown \u002F 列表 \u002F 拒绝风格) |\n| | **thinking_signature** ⭐ | **加密级**:thinking 块的 signature 不可伪造 |\n| | consistency | model 字段匹配 + 多次响应稳定性(CV) |\n| | knowledge | 5 道 Anthropic 公司知识题 |\n| **能力** | pdf | base64 PDF + magic string 提取 |\n| | structured_output | tool_use schema 校验(5 项子检查) |\n| **协议** | protocol | 字段、content block 类型、SSE 序列 |\n| | integrity | stream \u002F non-stream 一致性 |\n| | message_id | id \u002F toolu_ \u002F srvtoolu_ 前缀校验 |\n| | token_usage | usage 字段虚报识别 |\n| **加测** | long_context | 三层 needle-in-haystack 探针(详见上方独立子节) |\n\n### OpenAI(Chat Completions)— 8 项\n\n> **杀手锏**:`usage` 字段后端指纹 — 若返回里残留 `claude_cache_creation_*`、\n> `usage_source: anthropic`、Anthropic 命名(`input_tokens` \u002F `output_tokens`)\n> 等异源痕迹,直判 critical 级,verdict 上限锁在 marginal。\n\n| 类别 | 检测器 | 核心检测点 |\n|---|---|---|\n| **真伪** | basic_request | 最小合规请求 — 中转站能不能按 OpenAI 协议正常回话 |\n| | model_consistency | model 字段匹配 + 多次响应稳定性 |\n| **能力** | function_calling | `tool_calls` 结构 + `call_` ID 校验 |\n| | structured_output | `response_format` json_schema strict 模式 |\n| **协议** | protocol | 字段形状 + SSE 序列 + `usage` 后端指纹 |\n| | integrity | stream \u002F non-stream 一致性 |\n| | token_billing \u002F token_parity | 用量异常 \u002F 流式与非流式 token 比对 |\n| **加测** | long_context | 三层 needle-in-haystack 探针(详见上方独立子节) |\n\n### Gemini(OpenAI 兼容协议)— 7 项\n\n> **杀手锏**:Gemini 3 thinking-by-default 适配 — 真品强制带 thinking 元数据,\n> 假冒包装层经常漏字段或返回结构不符。\n\n| 类别 | 检测器 | 核心检测点 |\n|---|---|---|\n| **真伪** | basic_request | 最小合规请求 — 中转站能不能按协议回话 |\n| | model_info | model 字段匹配 + 多次响应稳定性 |\n| **能力** | function_calling | `tool_calls` 结构 + thinking 模式适配 |\n| | structured_output | `response_format` json_schema strict 模式 |\n| **协议** | protocol | 字段形状 + SSE 序列校验 |\n| | integrity | stream \u002F non-stream 一致性 |\n| | token_usage | usage 字段合理性 |\n\n---\n\n## 两种使用方式\n\n### A. 直接用 [veridrop.org](https:\u002F\u002Fveridrop.org)\n\n打开网页 → 选协议页(Claude \u002F OpenAI \u002F Gemini)→ 粘贴 `base_url + api_key + model` → 点检测,30–75 秒出报告。\n\n报告自带永久分享链接 `\u002Fr\u002F{id}` 和 JPG 卡片 `\u002Fr\u002F{id}.jpg`,可直接发到微信群、知乎、V2EX、Reddit。\n\n### B. 自托管(CLI + Web 服务)\n\n#### 安装\n\n```bash\ngit clone git@github.com:canarybyte\u002Fveridrop.git\ncd veridrop\npython3 -m venv venv\n.\u002Fvenv\u002Fbin\u002Fpip install -e \".[dev,web]\"\n```\n\n#### CLI 用法\n\n```bash\n# 配置中转站凭据\ncp .env.example .env\nnano .env  # 填 ANTHROPIC_BASE_URL \u002F ANTHROPIC_API_KEY \u002F ANTHROPIC_MODEL\n\n# 单次连通性测试(秒级,几乎零成本)\n.\u002Fvenv\u002Fbin\u002Frelay-detector ping --model claude-haiku-4-5\n\n# 跑完整检测(约 1 分钟,~$0.012)\n.\u002Fvenv\u002Fbin\u002Frelay-detector detect \\\n  --model claude-haiku-4-5 \\\n  --mode full \\\n  -o out\u002Ftest.json\n\n# 跟官方基线对比(自动从 data\u002Fbaselines\u002F 找)\n.\u002Fvenv\u002Fbin\u002Frelay-detector compare out\u002Ftest.json\n```\n\n`compare` 输出长这样:\n\n```\n╭─── 基线对比报告 ───╮\n│ baseline: 100.0    │\n│ relay:    63.1     │\n│ ✗ 严重: 总分 -36.9 │\n╰────────────────────╯\n┏━━━━━━━━━━━━━━┳━━━━━━┳━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━┓\n┃ 项           ┃ relay ┃ Δ   ┃ 差异详情               ┃\n┡━━━━━━━━━━━━━━╇━━━━━━━╇━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━┩\n│ 思维签名验证 │ 0     │-100 │ thinking 块完全没返回  │\n│ PDF 文档识别 │ 50    │ -50 │ 'responded_but_missed' │\n│ 消息标识规范 │ 50    │ -50 │ id 是 UUID + 'tool_1'  │\n└──────────────┴───────┴─────┴────────────────────────┘\n```\n\n| 级别 | 含义 | 典型场景 |\n|---|---|---|\n| **✗ 严重 (critical)** | 几乎确定不是真品 | thinking 块缺失 \u002F PDF 剥离 \u002F tool_use 假 ID |\n| **⚠ 重大 (major)** | 疑似伪装 \u002F 能力降级 | response.model 不匹配 \u002F 用 UUID 替代 msg_ |\n| **▲ 轻微 (minor)** | 能用但有协议偏差 | 1-2 题失败 \u002F CV 偏高 \u002F 1-2 个 issues |\n| **✓ 一致 (ok)** | 跟官方基线一致 | 关键字段全部匹配 |\n\n#### 启动 Web 服务(本地)\n\n```bash\n.\u002Fvenv\u002Fbin\u002Fuvicorn web.server:app --host 0.0.0.0 --port 8000\n# 浏览器访问 http:\u002F\u002Flocalhost:8000\n```\n\n线上版还提供:\n- `\u002Fleaderboard` 中转站红黑榜,按域名聚合所有公开报告\n- `\u002Fr\u002F{id}` 永久检测报告(HTML + JPG)\n- `POST \u002Fapi\u002Fdetect` 提交检测任务(异步)\n- `\u002Ffaq` 常见问题(35+ 问答,含 JSON-LD 结构化数据)\n\n---\n\n## 三档运行模式\n\n| 模式 | 包含项 | 请求数 | 耗时 | 成本(Haiku) |\n|---|---|---|---|---|\n| `quick` | 5 项核心 | ~6 | ~15s | ~$0.005 |\n| `standard` | 8 项 | ~12 | ~40s | ~$0.012 |\n| `full` | 全部 11 项 | ~13 | ~70s | ~$0.020 |\n\n⚠️ `compare` 命令需要 `full` 模式 — quick \u002F standard 跑出来的报告没有对应基线。\n\n---\n\n## CLI 详细参考\n\n### `detect`\n\n```bash\nrelay-detector detect [OPTIONS]\n```\n\n| Flag | 默认 | 说明 |\n|---|---|---|\n| `--base-url` | `$ANTHROPIC_BASE_URL` | 中转站根 URL |\n| `--api-key` | `$ANTHROPIC_API_KEY` | API key |\n| `--model` | `claude-haiku-4-5` | 测试目标模型 |\n| `--mode` | `standard` | `quick` \u002F `standard` \u002F `full` |\n| `--protocol` | 自动 | `anthropic` \u002F `openai` \u002F `gemini` |\n| `--max-concurrent` | `3` | 并发请求数 |\n| `--timeout` | `30` | 单请求超时秒数 |\n| `--output` `-o` | stdout | JSON 报告输出路径 |\n\n### `compare`\n\n```bash\nrelay-detector compare \u003Crelay_report.json> [-b baseline.json] [-o diff.json]\n```\n\n自动从 `data\u002Fbaselines\u002F{model}_full.json` 找对应基线。\n\n### `ping`\n\n```bash\nrelay-detector ping --model claude-haiku-4-5\n```\n\n打印响应字段 + usage + latency,适合快速验证 base_url \u002F api_key 能不能用。\n\n---\n\n## 收集官方基线(bench.sh)\n\n工具自带 `bench.sh` 跑官方 Anthropic API 收集\"真品参考\"。**只在 baseline 缺失或需要刷新时才需要跑**。\n\n```bash\n# 用真官方 API key(不能是中转站 key)\nOFFICIAL_KEY=sk-ant-XXXXX  .\u002Fbench.sh -o data\u002Fbaselines\n\n# 仅跑指定模型\nOFFICIAL_KEY=sk-ant-XXXXX  .\u002Fbench.sh --models 'claude-opus-4-7 claude-haiku-4-5'\n```\n\n跑一次成本约 $0.15(4 个模型 × full 模式)。\n\n---\n\n## 项目结构\n\n```\nveridrop\u002F\n├── README.md                   # 本文档\n├── DESIGN.md                   # 详细技术设计\n├── pyproject.toml              # 依赖 + 包配置\n├── bench.sh                    # 收集官方基线脚本\n├── deploy.sh                   # 部署同步脚本\n├── veridrop.service            # systemd unit\n│\n├── data\u002Fbaselines\u002F             # 已验证的官方基线\n│   ├── claude-opus-4-7_full.json\n│   ├── claude-sonnet-4-6_full.json\n│   ├── claude-haiku-4-5_full.json\n│   └── claude-opus-4-6_full.json\n│\n├── src\u002Frelay_detector\u002F\n│   ├── cli.py                  # typer CLI: detect \u002F compare \u002F ping\n│   ├── core\u002F                   # 协议无关的框架层\n│   │   ├── detectors_base.py   # ActiveDetector \u002F PassiveDetector 基类\n│   │   ├── runner.py           # 并行调度\n│   │   ├── scorer.py           # 加权评分 + verdict 阈值\n│   │   ├── comparator_framework.py\n│   │   └── models.py           # Protocol\u002FMode enum、DetectionReport\n│   └── protocols\u002F\n│       ├── anthropic\u002F          # Claude 11 detector\n│       ├── openai\u002F             # GPT 7 detector\n│       └── gemini\u002F             # Gemini 7 detector\n│\n├── web\u002F                        # FastAPI 网页端\n│   ├── server.py               # 路由:\u002F、\u002Fclaude、\u002Fopenai、\u002Fgemini、\u002Fr\u002F{id}、\u002Fleaderboard、\u002Ffaq\n│   ├── jobs.py                 # 任务队列(asyncio Semaphore 限并发 6)\n│   ├── probe.py                # 提交前 GET \u002Fv1\u002Fmodels 探活\n│   ├── leaderboard.py          # 中转站红黑榜聚合\n│   ├── image_report.py         # 报告 → JPG 卡片\n│   ├── ratelimit.py            # IP 限速\n│   ├── faq_data.py             # FAQ 内容(含 JSON-LD)\n│   ├── static\u002F                 # CSS \u002F JS \u002F robots.txt \u002F sitemap.xml \u002F llms.txt\n│   └── templates\u002F              # hub \u002F claude \u002F openai \u002F gemini \u002F leaderboard \u002F faq \u002F result\n│\n├── scripts\u002F\n│   ├── build_test_pdf.py       # 生成 PDF 测试文档\n│   └── bai_api_probe.py\n│\n└── tests\u002F                      # pytest 单元测试\n```\n\n---\n\n## 评分体系\n\n```\ntotal_score = Σ (detector.score × detector.weight) \u002F Σ effective_weight\n              for detector if status != \"skip\"\n\nverdict:\n  ≥ 85       passed (优秀)\n  70 – 84    passed (通过)\n  50 – 69    marginal (基本合格)\n  \u003C  50      failed (未达标)\n```\n\nskip 的检测项不参与分母。OpenAI \u002F Gemini 协议下,任意一项 critical 级 issue(如 usage 字段含异源痕迹)会把 verdict 上限锁在 marginal,即使总分 ≥ 70 也不绿。\n\n---\n\n## 隐私与安全\n\n- **API key 不落盘**:只存在内存中的 `Job` 对象里,跑完(成功或失败)立即清空。不写报告 JSON、不写日志、不写磁盘。\n- **报告里 key 脱敏**:显示为 `sk-y7xU••••••0h` 形式。\n- **代码完全开源**:可审计服务端,或直接 clone 部署到自己机器上。\n- **无追踪 \u002F 无注册**:线上服务不要求注册账号、不写 cookie、不接埋点。\n\n---\n\n## 已知 Anthropic API 协议漂移\n\n工具开发过程中发现 7 处官方文档与实测不符,每处都已在代码里防御处理:\n\n| # | drift | 处理 |\n|---|---|---|\n| 1 | `anthropic-request-id` header 实测不返回 | 不再校验该 header |\n| 2 | 模型自报 cutoff 不准 | 删除该题 |\n| 3 | `tool_use.caller` 实际是 dict 不是 string | caller 非 string 时不扣分,记录 keys |\n| 4 | Opus 4.7 `temperature` 参数 deprecated,传了 400 | 客户端层按 model 派发剥离 |\n| 5 | Opus 4.7 `enabled+budget_tokens` thinking 模式被禁用 | 改用 adaptive thinking |\n| 6 | Opus 4.7 `effort` 参数应放 `output_config.effort` | 移到正确位置 |\n| 7 | Opus 4.7 streaming 模式 thinking 块不出现(non-stream 正常) | thinking detector 切非流式 |\n\n详见 [DESIGN.md](DESIGN.md)。\n\n---\n\n## 部署 \u002F 同步\n\n服务器部署示例(Linux + systemd):\n\n```bash\n# 第一次部署\n.\u002Fdeploy.sh                    # rsync 同步代码到服务器\nssh root@\u003Cserver> 'systemctl restart veridrop'\n\n# 增量更新\n.\u002Fdeploy.sh\n.\u002Fdeploy.sh --reinstall        # 改了 pyproject.toml 后重装依赖\n.\u002Fdeploy.sh --test             # 同步后远程跑 pytest 验证\n.\u002Fdeploy.sh --dry-run          # 预览会改什么,不动文件\n```\n\n`deploy.sh` 排除项:`venv\u002F`、`__pycache__\u002F`、`.git\u002F`、`.env`、`.env.bak`、`*.bak`、`baselines\u002F`、`out\u002F`、`tmp\u002F`、`web_data\u002F`。\n\n---\n\n## 开发\n\n```bash\n# 装本地依赖\npython3 -m venv venv\n.\u002Fvenv\u002Fbin\u002Fpip install -e \".[dev,web]\"\n\n# 跑全部测试\n.\u002Fvenv\u002Fbin\u002Fpytest tests\u002F -v\n\n# 重新生成 PDF 测试文档\n.\u002Fvenv\u002Fbin\u002Fpython scripts\u002Fbuild_test_pdf.py\n```\n\n### 加新 detector\n\n1. `src\u002Frelay_detector\u002Fprotocols\u002F\u003Cprotocol>\u002Fdetectors\u002F` 新建文件\n2. 继承 `ActiveDetector` 或 `PassiveDetector`\n3. 实现 `run()`(active)或 `observe()` + `finalize()`(passive)\n4. 注册到对应 `detectors\u002F__init__.py` 的 `build_all()`\n5. `protocols\u002F\u003Cprotocol>\u002Fconfig.py` 加权重和 mode 映射\n6. 写测试\n\n---\n\n## 常见问题\n\n**Q: `compare` 报错\"找不到基线文件\"**\nA: `compare` 自动按 `target_model + mode` 在 `data\u002Fbaselines\u002F` 找。如果你测的 model 没有对应基线,跑 `bench.sh` 收集,或显式 `-b baseline.json` 指定一个相近的。\n\n**Q: 中转站的 model 名带 `-thinking` 后缀**\nA: 这是某些中转站的 routing 约定。它跟 `tool_choice: \"any\"` 不兼容,会导致 StructuredOutputDetector 报 400。改用不带后缀的模型名即可,detector 自己会按需开 thinking。\n\n**Q: 我想测一个工具没覆盖的模型 \u002F 协议**\nA: 当前覆盖 Anthropic Messages API、OpenAI Chat Completions、Gemini OpenAI 兼容 API。其他协议(Anthropic Bedrock、Vertex AI 原生 API 等)欢迎 PR。\n\n---\n\n## License\n\n**AGPL-3.0-or-later** — 见 [LICENSE](LICENSE)。\n\n简单说:\n- ✅ 自用、修改、内部部署:随便,免费\n- ✅ 自托管研究、学术使用:随便,免费\n- ⚠️ **作为公开 SaaS 运行**(给第三方提供服务):**必须把你的修改也开源**(AGPL §13 网络条款)\n\n如需商业不开源授权,联系 [veridrop.org](https:\u002F\u002Fveridrop.org)。\n\n## 贡献\n\n代码托管在 [canarybyte\u002Fveridrop](https:\u002F\u002Fgithub.com\u002Fcanarybyte\u002Fveridrop)。\n欢迎 issues \u002F PRs \u002F fork — 完整贡献指南见 [CONTRIBUTING.md](CONTRIBUTING.md)。\n\n## 为什么开源\n\nVeridrop 的核心交易是「你把 API key 给我,我帮你测中转站真假」。这件事的基础是**信任**:\n- 你凭什么相信我们不偷 key?\n- 你凭什么相信评分不是收钱定的?\n\n答:**代码全部公开,你可以自己审计**。凡是涉及评分、检测逻辑、API key 处理的代码,都在这个 repo 里,可逐行复核。\n","Veridrop 是一个开源的 AI API 中转站真伪与质量检测工具。它通过给定的 `base_url + api_key + model`，自动运行一系列探针请求，并将结果与官方基线进行字段级、协议级和加密级对比，以验证中转站的真实性和合规性。核心功能包括：1. 通过加密签名验证中转站提供的模型是否真实；2. 检测高级能力（如PDF处理、Tool Use等）是否被剥离；3. 确认响应字段和协议符合官方规范。此外，Veridrop 还支持长上下文探测，确保中转站实际提供的上下文窗口与宣传一致。该工具适用于需要验证AI API中转站真实性和完整性的开发者和企业，支持Anthropic、OpenAI和Gemini等主流协议，且可自托管部署。",2,"2026-06-11 04:02:55","CREATED_QUERY"]