跳到主要内容

在车云平台干测试,这两件"顺手活"最磨人——现在我让一句话把它接走了

· 阅读需 4 分钟
Bowen Zhang
本文作者

一句话摘要: 给 testtwo 测试环境加一辆车、排查某辆车今天有没有连上云端——这两件在车云平台上高频又繁琐的"手工活",被我做成了两个 Claude Code Skill。现在只要跟 Claude 说一句人话,它自己跑去 prod 把车搬过来建好、自己去翻各域控的在线状态。本文是实战记录,也顺带把这两个 Skill 安利给同样在干这件事的同事。


你是否也会被这两件事卡住?

  • 测试环境缺一辆车,得从 prod(licar)把它的基础信息、拓扑、HU 配置字、设备、展示信息一个个查出来、再一个个建回去,一不留神漏一项,等到联调才发现。
  • 有人问"这辆车怎么不在线上?"你第一反应是"它在哪个环境?域控连上没?"——然后得去好几个平台翻接口,把 5G、HU、座舱这些模块挨个对状态。
  • 这些活有规则、重复、纯属"会,但很浪费时间",还特别容易因为手抖出错。

这两个 Skill 就是这么长出来的:把有规则但容易出错的车云操作,变成一句话就能触发的能力。


一、两个 Skill 各管什么

Skill一句话典型场景
cheyun-vehicle-sync-prod-to-testtwo从 prod(licar)把车一键迁移到 testtwo 测试环境测试环境加车、环境间数据同步、测试用车准备
cheyun-vehicle-cloud-online-status查车辆在云端的各域控模块在线状态排查"车不在线"、确认车辆在哪个环境、域控是否掉线

两个都发布于我们内部的 AI Market,质量评级 A,均已通过安全认证,创建者:张博文。

按场景触发一句话,例如: 「把车 XX 同步到 testtwo」 / 「查一下这辆车在线吗」


二、场景拆解:从"半小时手工活"到"一句话"

场景 A:给 testtwo 测试环境加车

以前:先拿 VIN 去 prod 查车辆基础信息(车型系列、型号、用途)→ 再查配置字 → 再查设备(SN、ICCID)→ 然后到 testtwo 依次建基础信息、同步拓扑、创建 HU 配置字、绑定设备、更新展示信息。中间任何一个接口断了、字段记岔了,就得从头对。

现在python scripts/sync.py <VIN>,或者在 Claude/LiClaw 里说一句"把这两辆车同步到 testtwo 测试环境"。Skill 自己完成 8 步全流程:基础信息 → 拓扑 → HU 功能配置字 → 设备绑定 → 展示信息更新 → 验证结果,最后给你一份迁移摘要。

场景 B:查某辆车今天在不在线上

以前:问"车在哪个环境"——测试环境和生产环境是两套平台,得先猜一个去翻,找不到再换另一个。确认了环境还要挨个看 5G 模块、HU、ADAS 这些域控到底连没连上、有没有掉线时间。

现在python scripts/query.py <VIN>,或者直接问"查下这几辆车的在线状态"。Skill 的策略是 先查 testtwo(免鉴权)→ 没有再兜底查 prod,一次返回每个域控模块(5G、fsd-a、hu-f、xcu 等)的连接状态、IP、所在环境、最近在线时间,一眼定位问题出在哪个域控、哪个环境。


三、它们是怎么干活的

两个 Skill 本质是轻量 Python 脚本 + Claude 编排,核心都是一条原则:优先走接口,能免鉴权就免鉴权。

  • sync(prod → testtwo):只有 prod 读取需要 x-chj-gwtokentesttwo 写入侧根本不需要鉴权。流程是"先查原车 → 再逐项还原创建",最终落脚在纯接口操作,不依赖浏览器点击。
  • online-status(在线状态):默认 GET /api/icn-veh-domains-all?vin={VIN},先查免鉴权的 testtwo,接口返回空({})才降级去 prod,避免为了看个状态还要先找 token。想只查测试环境、不落生产,加一个 --no-fallback 即可。

设计取舍:免鉴权优先。日常 80% 的排查其实在 testtwo 就能拿到答案;只有确需生产数据时才要求 token,且 token 由你本地提供、不写入任何仓库。


四、怎么装上,怎么用起来

安装(三步)

  1. 打开 AI Market 里的 Skill 详情页;
  2. 点右上角 复制安装命令
  3. 通过飞书发给 OpenClaw / ClaudeCode 机器人,等它装完即可。

也可以直接在详情页 一键安装进 LiClaw,或 下载 Skill 本地放入 ~/.claude/skills

环境要求:Python 3.10+,pip install requests 一个依赖,其余零外部服务。

使用(说人话就行)

需求可以这么说
测试环境加车 / 环境间搬数据"迁移车辆"、"把车从 prod 同步到 testtwo"、"测试环境加车"
排查在线状态 / 定位环境"查询车辆在线状态"、"查车在哪个环境"、"查下这辆车的域控在线情况"

五、提示与避坑

  • x-chj-gwtoken 有过期时间:迁移过程中报 401/403,多半是它到期了,重新获取一份即可(获取方式见 Skill 文档页的飞书指引)。
  • 先测 testtwo 再谈 prod:Online-status 默认先查 testtwo,能省掉大部门鉴权和找 token 的流程。
  • 验证要闭环:sync 每步都做结果确认,最后回读一把,确认车辆在 testtwo 真的"建起来了"而不是接口"假装成功"。
  • 它是工具不是魔法:Skill 负责按规则把活干完,但"这台车该不该上测试环境""这个域控掉线是不是符合预期"仍然要人拍板——AI 省掉的是搬砖,不是判断。

六、下一步还能怎么演进

  • 批量:sync 现在是单 VIN,改成读一个 VIN 列表文件、批量迁移 + 汇总报告;
  • 看板化:online-status 顺手产出一张"哪些车在线/离线"的小结表,适合每次例会前刷一遍;
  • 权限收敛:token 支持从环境变量读取,集中管理,避免散落。

结语

做这两个 Skill 的最大体会是:把有规则、重复、容易错的车云操作交给 Claude,人只留判断。 环境加车、在线排查这类活,不该每天靠人肉去磨。

如果你也常跟 testtwo / prod / 车辆数据打交道,欢迎装上试试:

  • 🚗 车辆迁移(prod → testtwo):https://ai-market.chehejia.com/?page=skills&skill=8hqeaasmwadzjadjk5ti
  • 📡 云端在线状态查询:https://ai-market.chehejia.com/?page=skills&skill=vlddgr6bn7iih5x6uz7d

有新的车云场景想工具化,或者用起来有报错,欢迎在评论区或话题群里聊聊。