Used-car dealer workbench: VIN/search, expert faults (local or Sheet), photo→VIN (AI), Trim recognition, market reference prices, haggling tips, depreciation chart.
- Search: 17-char VIN or upload car photo → AI identifies make/model and VIN if visible, then fills the box and can auto-run search.
- Backend (
server/): GET /api/faults (faults and tips from local expertData or Google Sheet); POST /api/identify-car (image → OpenAI); GET /api/price-radar (local price_ranges or Firecrawl). - Dealer workbench (after search): Trim + reasoning, market reference (VANTAGE 市场参考价), Expert faults, Haggling Pro, Premium History CTA.
1. Frontend
npm install
npm run dev2. Backend(依赖外部 API 时需配置 .env)
cd server
cp .env.example .env
# 编辑 .env:至少填写 OPENAI_API_KEY;可选 GOOGLE_SHEET_CSV_URL、FIRECRAWL_API_KEY(详见 server/README.md)
npm install
npm run dev- Vite 将
/api代理到 http://localhost:3002,前端访问 http://localhost:5173。 - 外部 API:OPENAI_API_KEY(必填);GOOGLE_SHEET_CSV_URL、FIRECRAWL_API_KEY 可选(通病/价格当前用本地 expertData.json,Firecrawl 建议先不配)。详见
server/README.md。
通病与砍价话术来自 src/data/expertData.json,与前端同源。需要修改时在 Cursor 里直接编辑该文件即可,无需配置 Google Sheet 或其它外部 API。详见 server/README.md。
npm run build
npm run preview- 本地一条命令跑全量测试:在项目根目录执行
npm run test:all(前端 Vitest + 后端 Node test)。 - Git 提交前自动跑测试(可选):在项目根目录执行一次
npm run install-hooks,之后每次git commit前会自动跑测试,失败则无法提交。 - GitHub 上自动跑测试:代码推送到
main/master或发起 PR 时,会在 GitHub Actions 里自动跑npm run test:all,可在仓库的 Actions 页查看结果。
- React 18, Vite 6, Tailwind CSS 3, Lucide React, Chart.js
- Node (Express), OpenAI API (gpt-4o-mini), local expertData / optional Google Sheet & Firecrawl