You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

99 lines
5.6 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# 宿主机 MySQL 端口docker-compose 映射,避开本机已占用的 3306
MYSQL_HOST_PORT=3307
MYSQL_ROOT_PASSWORD=changeme
JWT_SECRET=your-256-bit-secret-change-in-production
# 宿主 Service Token 映射JSONtoken → { customerId, permissions[] }
HOST_SERVICE_TOKENS={"demo-host-token":{"customerId":"CUST_001","permissions":["pricing:markup:write"]}}
# 管理端可见客户列表(逗号分隔,与 HOST_SERVICE_TOKENS 合并)
CUSTOMER_REGISTRY=CUST_001,CUST_002,CUST_003
# ── RPAPRD v0.6 GD-15headed 录制后填入)────────────────────────
# 逗号分隔、按序探测;禁止 dashboard.mothership.com / www.mothership.com/quote
# 英文 locale 避免中文精简 widget无 cargo editor首页 + en-US 为推荐组合
MOTHERSHIP_QUOTE_URLS=https://www.mothership.com/
# 留空则 Playwright 默认en-US headless 仅显示 zip 精简条,与地址 RPA 不兼容
# RPA_BROWSER_LOCALE=en-US
RPA_STORAGE_STATE_PATH=.rpa/mothership-storage.json
RPA_MOCK_MODE=false
# 地址 commit 隔离real=真实 MotherShipmock=仅替代 commitprove-rpa-chain 下游验证用)
RPA_ADDRESS_MODE=real
# 报价模式direct=直连 axel API默认embed-demo 推荐)| widget=Playwright 页面交互
RPA_QUOTE_MODE=direct
# 方案 Awidget 双地址 vault 注入widget 模式默认 true显式 false 可关闭)
# RPA_DUAL_ADDRESS_PATCH=true
# place commit 修复模式event=Google事件触发(默认) | state=React注入 | legacy=原逻辑
RPA_PLACE_FIX_MODE=event
# true 时注入 P0 实例拓扑/监听器指纹 + P2 fetch 劫持fix-place 各阶段落盘 .rpa/place-diagnostic/
RPA_PLACE_DIAG=false
# 有头调试RPA_HEADED=true 等价 RPA_HEADLESS=false
RPA_HEADLESS=true
# RPA_HEADED=true
# 货物 drawer 填写完成后 page.pause()(仅人工验收时开启)
# RPA_CARGO_DRAWER_PAUSE=true
RPA_BROWSER_LOCALE=en-US
RPA_USE_PATCHRIGHT=false
# 反爬playwright-extra stealth与 patchright 二选一;部分页面会破坏 widget默认 false
RPA_USE_STEALTH=false
# 使用本机 Chrome/Edge降低 HeadlessChrome 指纹(推荐 chrome
# RPA_BROWSER_CHANNEL=chrome
# 真人入口流:先打开首页再点 Get Quote携带 Referer/Cookie
# RPA_HUMAN_ENTRY_FLOW=true
# RPA_QUOTE_WARMUP_URL=https://www.mothership.com/
# headed 调试慢动作毫秒RPA_NETWORK_DEBUG=true 输出全部请求
# RPA_SLOW_MO_MS=100
# RPA_NETWORK_DEBUG=false
RPA_WORKER_ID=
RPA_QUEUE_ENABLED=true
# 驻留页单次会话加速实验性默认关true 时需 worker + confirm 全链路)
RPA_PARKED_SESSION=false
# SelectorPlaywright codegen / record-mothership 产出,填表 + submit
# 录制 115541 / 115059 — 中英双语,逗号分隔按序尝试
RPA_SELECTOR_PICKUP_SECTION=#react-quoter-landing-plugin >> text=Pick up from,#react-quoter-landing-plugin >> text=Where to pick up,#react-quoter-landing-plugin >> text=从何处取货
RPA_SELECTOR_DELIVERY_SECTION=#react-quoter-landing-plugin >> text=Deliver to,#react-quoter-landing-plugin >> text=Delivery to,#react-quoter-landing-plugin >> text=送货至
RPA_SELECTOR_QUOTE_WIDGET=#react-quoter-landing-plugin
RPA_SELECTOR_PICKUP_STREET=#react-quoter-landing-plugin >> placeholder=Search by address,#react-quoter-landing-plugin >> role=textbox[name="Search by address"],#react-quoter-landing-plugin >> role=textbox[name="Search address"],#react-quoter-landing-plugin >> role=textbox[name="搜索地址"]
RPA_SELECTOR_DELIVERY_STREET=#react-quoter-landing-plugin >> placeholder=Search by address,#react-quoter-landing-plugin >> role=textbox[name="Search by address"],#react-quoter-landing-plugin >> role=textbox[name="Search address"],#react-quoter-landing-plugin >> role=textbox[name="搜索地址"]
RPA_SELECTOR_ADDRESS_SUGGESTION=#react-quoter-landing-plugin >> [role="listbox"] [role="option"],#react-quoter-landing-plugin >> li,.pac-item,[role="option"]
RPA_SELECTOR_CARGO_SECTION=#react-quoter-landing-plugin >> filter:text=Shipment details>>nth=4,#react-quoter-landing-plugin >> filter:text=Freight details>>nth=4,#react-quoter-landing-plugin >> filter:text=货运详情>>nth=4
RPA_SELECTOR_SUBMIT=role=button[name="GET QUOTE"],role=button[name="Get freight quote"],role=button[name="Get a freight quote"],role=button[name="获取货运报价"]
# 报价 tab/price selector 已废弃Network-First可留空
# RPA_SELECTOR_STANDARD_TAB=
# RPA_SELECTOR_GUARANTEED_TAB=
# RPA_SELECTOR_LOWEST_OPTION=
# RPA_SELECTOR_FASTEST_OPTION=
# RPA_SELECTOR_PRICE=
# 报价 API endpointHAR 校准辅助,仅 telemetry不参与 runtime 匹配)
# 阶段0 录证白名单services.mothership.com/axel/quote
MOTHERSHIP_QUOTE_API_URL_PATTERNS=services.mothership.com/axel/quote
# 设为 true 时输出全部 REQ/RESP定位 json=0
RPA_QUOTE_NETWORK_VISIBILITY=false
# 设为 true 时契约失败日志输出 raw JSON body
RPA_QUOTE_DEBUG_RAW=false
# 设为 true 时日志输出 JSON 候选 URL校准 HAR pinned 用)
RPA_QUOTE_NETWORK_SNIFF=false
RPA_SELECTOR_TRANSIT=text=business days
# 货物字段已改为 fillCargoInDrawer 动态 placeholder 定位,下列 env 仅兼容旧脚本runtime 不再读取
# RPA_SELECTOR_PALLET_QTY=...
# RPA_SELECTOR_WEIGHT=...
# RPA_SELECTOR_LENGTH=...
# RPA_SELECTOR_WIDTH=...
# RPA_SELECTOR_HEIGHT=...
# 可选:仅当入口跳转 login 时使用
MOTHERSHIP_EMAIL=
MOTHERSHIP_PASSWORD=
# 已废弃:请改用 MOTHERSHIP_QUOTE_URLS
# MOTHERSHIP_QUOTE_URL=
# 开发基础设施模式: auto | docker | native
DEV_INFRA_MODE=native
# 本地 prisma migrate/seed 使用宿主机端口;容器内仍用 mysql:3306
DATABASE_URL=mysql://root:changeme@localhost:3307/chajia
REDIS_URL=redis://localhost:6379