Repository navigation
Releases: ppop123/ai-tools-radar
Releases · ppop123/ai-tools-radar
Release list
v1.0.0 — AI 工具榜 + 外链投放管道
首个正式版本。两块东西:按真实流量排名的 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。