4.4 KiB
4.4 KiB
待办与技术债账本
用途:记"现在先简化、以后要补"的事,和暂不处理的技术债,免得忘。每条标优先级 + 触发背景。做掉的移到末尾「已解决」。 范围:跨栈账本——本仓
shaguabijia-app-server(转发层) +shaguabijia-app-android(无障碍引擎移植) +pricebot-backend(agent 上游,不改)。 大背景:把"后端当大脑、无障碍服务遥控前端操作其它 App"的比价/领券引擎,从 demo apppricebot移植进正式版傻瓜比价。引擎移植采用「代码全搬、独立子包…shaguabijia.agent.*、验证分步(先领券后比价)」。 最后更新:2026-05-27
P1 · 鉴权与用户绑定(最该补)
- 现状:agent 系列接口 MVP 阶段全部不鉴权——领券
coupon/step+ 比价 4 个(intent/recognize、price/step、ecom/intent/recognize、ecom/step)。落地时现有coupon-step路由的CurrentUser依赖要先去掉。 - 代价(为什么记这笔账):不验 JWT → 转发时 server 拿不到
user_id→ agent 行为只能绑到device_id(设备级),采集不到"哪个用户领了/买了什么"的用户级画像。而精准人群画像、私域分群运营是商业模式的核心资产,靠的就是这份用户级行为数据。device_id仍照传(后端按设备串领券队列够用)。 - 待补:① agent 接口加 JWT 鉴权;② 建立
device_id ↔ user_id绑定(登录后上报一次即可);③ 领券/比价记录按 user 维度落库。 - 连带:补鉴权后,客户端引擎
ApiClient要接回 JWT(复用 app 现有AuthInterceptor思路:注入带鉴权头的 OkHttpClient)。
P2 · 引擎移植 · 后端转发层(本仓)
- 加 4 个比价透传端点:
intent/recognize、price/step、ecom/intent/recognize、ecom/step。仿coupon_step纯 body 透传、不加 Pydantic schema(协议归 pricebot 校验,否则它一改字段本仓就得跟着改,白白耦合)。client/api/v1/xxx→ 转发 backend/api/xxx(去掉 v1,同coupon_step)。 - 转发超时要调大:
coupon_step现PRICEBOT_REQUEST_TIMEOUT_SEC=30(领券单帧 wait 6s)。但意图识别是一次大上下文 LLM、price/step每帧也是 LLM,可能 >30s;客户端ApiClient读超时是 60s。→ 转发超时对齐 60s,待测 pricebot 各接口真实耗时再定终值。 - 生产 server 与 backend 同内网:
PRICEBOT_BASE_URL部署时设内网地址。比价是 30~80 步循环,每步多一跳,走公网延迟会累积。 - nginx body 上限:比价 debug 包带
screenshot(webp base64,几百 KB)。若 debug 联调走线上域名经 nginx,注意client_max_body_size(release 不带截图、debug 直连本地都无此问题,仅"debug 走域名"才撞)。
P2 · 引擎移植 · 客户端(android 仓,在此备忘)
- 无障碍身份统一为傻瓜比价:服务名/图标自动继承 application(
<service>不单独设 label/icon);需显式改的 3 处文案——accessibility_service_description、前台常驻通知文案("PriceBot 正在待命"等)、GuideCopy里引导高亮的系统列表条目名("PriceBot"→"傻瓜比价")。 - BuildConfig 包名:代码里
com.pricebot.app.BuildConfig的 import 必须改成本 app 包名,否则编译不过。 - 领券入口:首页"一键领券"从
ComparingScreen假动画 → 真startCouponClaim()。 - 比价悬浮球:
SUPPORTED_BIZ_PACKAGES(购物 App 前台才显示悬浮球)逻辑照搬。 - 权限引导融入 Compose:把 pricebot
MainActivity里申请无障碍/悬浮窗/电池优化的逻辑抽出,接到傻瓜比价的 Compose 页(权限引导 Activity 那几个可照搬,改包名+文案)。 - 类名可选改名:
PriceBotService等用户不可见,保留无妨;想整洁可改ShaguaAccessibilityService(牵动引用,不急)。
技术债(暂不处理,知情即可)
- agent 接口公网裸奔:不鉴权 = 任何人可调,烧 pricebot 的 LLM 算力。与美团 3 接口现状同级,记账后随 P1 一起补。
- 既有债(已记录在别处):美团
referral-link的sid客户端可覆盖刷分佣;logout占位不吊销 token;SMS_MOCK=true全站免密登录;JWT_SECRET_KEY默认值可伪造 token。详见 后端技术实现.md 与 api/。
已解决
(暂无)