mirror of
https://github.com/jackwener/OpenCLI.git
synced 2026-09-14 18:25:42 +08:00
ee4820ef59
* feat(adapters): add 懂车帝 (dongchedi) + 瓜子二手车 (guazi) car adapters Two no-login PUBLIC adapters for Chinese car platforms. Both read server-rendered data (no cookies, no signature, no browser) and ship pure parsers unit-tested against frozen real-data fixtures. dongchedi (6 commands) — parses __NEXT_DATA__ SSR JSON: search 车系搜索 + 指导价/经销商价 series 车系概览(品牌/价格/懂车分/销量排名/款型数) models 款型列表 + 价格 specs 配置概览(尺寸/动力/四驱/悬挂/气囊) score 懂车分 8 维评分 + 同级对比 koubei 车主口碑/评价正文 (Dongchedi's /motor XHR APIs are ByteDance-signature gated; the SSR pages expose the same data unsigned, so the adapter reads those.) guazi (2 commands) — parses m.guazi.com mobile SSR HTML: browse 分城市在售二手车列表(售价/里程/年份) car 车源详情(售价/上牌/里程/过户/配置/车况) (Desktop www.guazi.com is signature-locked; mobile SSR is open. Deep pagination/filtering uses the signed API and is intentionally omitted.) Gates green: tsc, doc-coverage --strict, silent-column-drop (new=0), typed-error-lint (no new), 24 adapter tests passing. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * feat(adapters): add 汽车之家 (autohome) — brand catalog + 口碑 ratings Third no-login PUBLIC car adapter (search by brand, not free text). autohome (2 commands): brand 按品牌列出全部车系 + 厂商指导价(grade/carhtml/<INITIAL>.html, 中文品牌名→拼音首字母目录页,DL 块按品牌定位) score 车系口碑评分:总分 + 各维度 + 故障率PPH + 竞品对比 (k.autohome.com.cn/<id> 的 __NEXT_DATA__.baseData,免登录免签名) Deliberately omitted (would be silently-wrong without a browser running Autohome's signing/anti-scrape code): free-text keyword search (signature gated) and full per-trim 参数配置 (rotating CSS font-glyph obfuscation). Use dongchedi search/specs/koubei for those. Documented in the adapter doc. Gates green: tsc, doc-coverage --strict (170/170), silent-column-drop (new=0), typed-error-lint (no new); 31 adapter tests passing across the three car adapters. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * fix(car-adapters): fail closed on parser drift * fix(guazi): fail closed on empty SSR listings --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Co-authored-by: jackwener <jakevingoo@gmail.com>