目标:仅做可演示的前端界面 + 后端交互链路,突出“自动驾驶车辆自动预约车位 + 自动支付”的端到端体验。
- 主题:自动驾驶车自动预定停车位并自动停车,避免等待寻找并支付车位的复杂流程。
- 约束:黑客松展示,只需前端可视化 + 后端交互,不要求完整产品化。
- 赛道:支付赛道,主办方是 Kite-AI,已接入其 API(支付 + LLM)。
main.html是一个纯前端视频演示页面,内含 4 段 mp4 视频并通过按钮触发视频序列。- 当前没有与后端交互(没有调用
/reserveAPI)。
agent-service.js提供POST /reserve接口:- 读取
data/scenarios.json与data/parking_spots.json。 - 规则引擎选择车位(
agent.js)。 - 通过
llm.js调用 LLM 生成可展示的解释(使用 DashScope API)。 - 通过
pay.js调用 GoKite AA SDK 发起支付。
- 读取
- 这是最接近完整链路的一份代码(决策 + LLM解释 + 支付)。
- 注意:
.env里包含私钥与 API Key(敏感信息)。
- 独立的 GoKite AA 支付工具,包含转账与提现完整流程(CLI)。
- 提供自动充值、自动提现、动态手续费估算等更完整的支付逻辑。
- 但当前与
Kite-Drive-main未衔接。
项目介绍.md为空。Kite-Drive-main/进展.txt为空。
- 前端演示页没有接入后端
/reserve;目前只是视频切换。 - 后端已有完整链路,但支付逻辑较简化(固定
amountKite),与kite-payment的高级逻辑未融合。 - 介绍/进展文档为空,导致整体叙事与分工进展难以快速对齐。
.env暴露私钥和 API Key,展示时有安全风险。
- 单仓库 + 单域名部署:前端静态资源 + 后端 Serverless Function 同时部署到 Vercel。
- 做法:
- 前端放入
public/,按钮点击调用同域/api/reserve。 - 后端接口改为
api/reserve.js(Vercel Function),复用Kite-Drive-main的 agent + LLM + 支付逻辑。 - 依赖在根目录
package.json统一安装,Vercel 构建自动完成。
- 前端放入
- 好处:一键部署、一键访问,最适合黑客松展示。
- 使用一个本地 Node 服务同时托管前端与
/reserveAPI。 - 适合线下 demo,部署复杂度略高于方案 A。
- 做一个 monorepo 或 workspace:
apps/web(前端)apps/agent(后端)packages/payment(支付能力模块,抽成可复用库)
- 可考虑 “npx 库” 作为支付演示工具,但对于当前黑客松展示价值不大,反而增加打包工作量。
- 进入 UI,点击“预定车位停车”。
- 前端调用
/reserve,显示:- 选中的车位信息
- LLM 解释(为什么选择)
- 支付成功与交易 hash
- 视频序列继续播放,视觉上显示“车已自动入库”。
public/:前端静态页面与视频资源api/reserve.js:后端 API(Vercel Serverless Function)vercel.json:函数资源配置.vercelignore:忽略私钥与无关目录
PRIVATE_KEYDASHSCOPE_API_KEYTO_ADDRESS(如果后端支付逻辑需要)
vercel登录并关联项目- 在 Vercel 控制台配置环境变量
vercel --prod一键部署
- 设置环境变量(建议使用
.env或 export) - 运行:
npm run local - 访问:http://localhost:3000
- 你们希望 UI 上展示哪些字段?(比如 ETA、成本、LLM 解释、支付 hash、Explorer 链接)
- 是否需要把
kite-payment的自动充值/提现逻辑融合到Kite-Drive-main/pay.js? - 展示时是否允许用测试网私钥?还是需要我帮你改成“假支付/模拟支付”模式?
如果你确定方向,我可以开始做整合实现(例如方案 A/B),并补齐 项目介绍.md 与 进展.txt。