柠檬散单录单助手
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_de4e77a8/lemon-gold。
技能介绍
解决什么问题
91dache 后台的散单录入是纯手工活:一条订单要填用车时间、订车公司/人、车型、路线、乘客、航班号,中间夹着六七个下拉框和日历面板。问题在于输入本身是口语化的——8.25 和 8:25 只差一个符号,含义却是日期和时间;公司--陆家嘴、虹桥T2 这类写法要靠人脑归一。手工录单的另一个隐患是重复:同一乘客同航班的单可能已存在,只匹配航班号会误判为已录入或漏判重复。
这个技能把「读懂一行字 + 打开后台 + 填表 + 落库 + 复核」串成一条 CDP 自动化流程。
核心能力
- 语义拆解而非位置切分:脚本按分隔符形态识别字段——点号是日期、冒号是时间、斜杠切出公司/人、箭头或横线切出出发地/目的地。自然语言单串直接作为参数传入,Agent 不需要手动切成九个位置参数(手动切曾导致空参被吞、字段错位)。
- 浏览器握手前置:首次使用必须先拿到 Chrome 完整安装路径,放入
CHROME_BIN;脚本据此拉起带--remote-debugging-port(默认 9229,可用CDP_BASE指定)的调试 Chrome,并通过/json/version确认在线。未提供路径且端口不在线时脚本直接报错退出。 - 录前查重:进列表页后先用乘客手机号搜索,按「乘客 + 航班 + 公司」三要素全匹配。命中已存在订单则停止(退出码 3)并询问用户;确认后加
--force才强制录入。 - 乘客检索优先链:有手机号先搜电话,无果再搜姓名,都搜不到才新增;每一步都按订车公司过滤,避免同一人在不同公司的档案被串到别的公司。
- 地址归一与航班规则:
normalizeAddress()把短名映射为标准全称(如浦东T1→浦东机场T1),机场地点强制带全「机场 + 航站楼」;有航班号必填,送机加送前缀。 - 受信落库与复核:保存用 CDP 鼠标事件触发 antd 的 onOk,而非合成
.click();成功判定以列表页三要素全匹配为准,网络层rentInfo/save返回 200 才算落库成功。
适用边界
- 需要本机已装 Chrome 且
admin.91dache.com可达,通常要走 VPN、内网或 IP 白名单;调试 Chrome 的专用用户目录需事先手动登录一次后台。 - 运行环境要求 Node ≥ 22(自带 WebSocket)。
- 司机结算价来自同目录
price.json(上海统一价已固化),非上海订单一律填 0 并提示补充费率表。 - 每单只执行一次保存:保存异步落库、弹窗关闭有延迟,不能凭弹窗未关就判定失败重跑——这曾造成重复订单。一次录单 = 一次运行 = 至多一次 save。
使用场景
- 调度员收到一条柠檬散单文字,需把日期、路线、乘客等信息解析后录入 91dache 后台并保存复核。
- 同一乘客在多家订车公司都有档案,需要按手机号检索并按公司过滤,选中正确的乘客记录。
- 存在同乘客同航班的已有订单,需要在保存前查重并提示确认,确认后才强制录入。
- 机场用车的航班号与航站楼写法各异,需要把短名归一为标准全称,并按送机前缀规则填单。
适合人员
- 用车调度员:每天从微信收到多条柠檬散单,需逐条录入后台,手工填错或重复录入风险高。
- 车队运营支持:需要维护司机结算费率表,把不同城市的报价写进 price.json 并保持更新。
- 自动化实施工程师:要在公司内网部署 Node 脚本与调试 Chrome,需要清晰的握手流程和报错排查文档。
- 订单审核或客服人员:需要按乘客、航班、公司三要素核对已录入订单,确认是否存在重复。