感谢你愿意改进 PriceAI。这个项目当前重点是让 AI 订阅报价更容易比较,并让采集器、分类规则和前台体验逐步稳定。
npm install
npm run dev常用检查:
npm run lint
npm run build如果需要真实数据,请参考 配置说明 初始化 Supabase 和环境变量。
- 从
main新建功能分支。 - 一个 PR 尽量只解决一个问题。
- 修改采集器时,请说明测试过的来源 URL 和命令。
- 修改分类规则时,请补充典型标题样例,说明预期归类。
- 修改 UI 时,请附截图或说明桌面端、移动端影响。
- 修改文档时,请确认 README 中的链接仍然有效。
- 提交贡献即表示你同意该贡献按本仓库当前
LICENSE发布,并授权 PriceAI 官方服务继续使用、修改、分发和运营该贡献。
PriceAI 采用 源码开放策略,允许学习、研究、个人自用、内部非商业部署和非商业贡献。
未经书面授权,不允许将 PriceAI 或修改版作为公开网站 / SaaS 对外运营,不允许在部署版本中接入广告、AFF、赞助位、付费导流或其他商业变现,也不允许运营与 PriceAI 定位相同或高度相似的比价、导航、数据聚合服务。
PriceAI 名称、Logo、域名、视觉品牌、线上生产数据、渠道数据、价格快照、指南内容和截图不随源码授权。阅读、Fork 或本地二次开发时,请同时阅读 DATA_LICENSE.md 和 TRADEMARKS.md;未经书面授权,不要公开部署、展示或运营会让用户误认为是官方 PriceAI 的服务。
新增或修复采集器时,请遵守:
- 输出
sourceTitle、price、status、url,能拿到库存时输出stockCount。 price应优先表示用户实付价;如果结算接口会额外收手续费,采集器应把手续费合入price,并可附带listedPrice、feeAmount、priceBasis方便后台追踪。- 价格解析要限制在商品卡片或商品记录作用域内。
- 支持千分位价格,例如
¥1,280.00。 - 不把销量、库存、规格编号、套餐倍数当成价格。
- 不绕过验证码、登录墙、WAF 或平台风控。
示例验证命令:
npm run collect:prices -- --source source-id --post分类规则以“够粗、稳定、可比较”为原则。交付方式不应轻易变成标准商品,例如成品号、卡密、直充、代充、CDK、激活码通常只是标签或交付方式。
新增规则前请先阅读:
内部规划、分类重构草案和采集复盘不随公开仓库发布。需要讨论未公开规则时,请先在 Issue 或 PR 中描述具体样例、预期归类和风险边界。
不要提交:
.env.local- Supabase service role key
- 后台密码
- 真实用户隐私数据
- 需要绕过限制才能访问的页面内容
安全问题请参考 SECURITY.md。