Skip to content

Releases: ppop123/ai-tools-radar

v1.0.0 — AI 工具榜 + 外链投放管道

Choose a tag to compare

@ppop123 ppop123 released this 18 Aug 14:31

首个正式版本。两块东西:按真实流量排名的 AI 工具站数据库,以及一条把"竞品外链来源"变成投放清单并自动提交的管道。

数据站(index.html + data/)

单文件静态站,原生 JS,无框架无构建。四个视图:总榜 / 增长榜 / 新品雷达 / 外链库,中英双语。

数据 规模
收录站点 15,662
有流量或排名数据 10,807
有中英文描述 11,552
有近 12 个月流量曲线 4,463
有渠道构成 5,225
外链库页面 12,000
单域 dofollow 明细 1,360 域 / 135,230 行(每域按权重分取 top 100)

数据快照 2026-08-17。

git clone https://github.com/ppop123/ai-tools-radar.git
cd ai-tools-radar && python3 -m http.server 8899

外链投放管道(outreach/)

移植自一套生产验证过的私有系统。完整闭环:targets.py 生成清单 → driver.py 滚动投放(LLM-in-the-loop 浏览器代理)→ mail_sweeper.py 收验证信并点链接 → verify_link.mjs 终核确认链接真的上线。

三条红线由代码硬执行,LLM 无权越过:付费即停 / 文案过 forbidden_claims 闸门 / 验证码不让 LLM 编答案。

防重复投递有两道独立的闸:账本状态迁移守卫 + claims/<域>.claim 的 O_EXCL 一次性标记。后者是内核保证的原子创建,不依赖任何存活检测或陈旧判断——"会不会重复 POST"因此不依赖文件锁的正确性。

本版新增

  • LLM 配置规范化:llm_config.py / .mjs 是唯一解析口,两份实现规则逐条一致。填 base URL 就行,六种写法都归一;兼容 OPENAI_BASE_URL / OPENAI_API_KEY;base 与 key 按来源单元整体绑定,配置有歧义直接报错不猜。
  • 本机配置界面 python3 configure.py:只绑 127.0.0.1、一次性 token、key 只回掩码、写文件 0600。
  • 冒烟测试 bash outreach/tests/smoke.sh:Python 关键路径 29 项 / Node 47 项 / 配置 py-js 对拍 43 组 / 12 进程并发认领。

工程记录

代码经 8 轮独立外审(Codex)+ 多轮自审,累计修复 90+ 条问题(P1 级 30+)。外审 P1 数量收敛过程:5 → 6 → 7 → 5 → 5 → 3 → 0 → 0。逐轮 finding、修法与实测在 docs/CODEX_REVIEW.md。

已知限制

  • outreach/ 尚未端到端真跑过:所有验证都是读代码 + 定向复现 + 冒烟,没有用真 key 对真实站点跑完整流程。首次使用请 driver.py --limit 5 小批验证。
  • verify_link 的判死门槛没有真实域名样本验证过三态分布,可能偏保守。
  • 账本是 append-only JSONL 且没有压实路径(100 万行 / 316MB 时单次写 4 秒)。
  • alerts / mail_ws 两个模块不在本仓;scripts/ 读私有数据湖,外部跑不了。
  • 前端总榜一次渲染 15,662 行,有 140ms 搜索防抖但没做分页/虚拟化。

完整变更见 CHANGELOG.md。