城市出行信息聚合的痛点

维也纳居民出行通常需要打开多个 App:Google Maps 或 OBB App 输入出发地和目的地、查看多条路线方案、再查公交实时到站信息、如果有地铁故障还需要查换乘替代方案。需要 3-4 个 App 切换,信息分散。@hjanuschka 用一个 OpenClaw Skill 把这些信息聚合到了一个对话界面。

Wiener Linien Skill 功能

1. 实时发车查询

用户问 U1 站下一班去哪,OpenClaw 返回两个方向的实时发车信息(分钟数),以及线路当前是否有维护通知。

2. 线路调整和故障通知

用户问某条线路是否正常,OpenClaw 返回当前故障信息:故障区间、原因、预计恢复时间,以及替代出行方案建议。

3. 电梯状态查询(无障碍出行)

查询某个站点的电梯可用性,OpenClaw 返回各电梯的状态(正常/维修中),并给出无障碍出行建议路线。

4. 换乘方案比选

用户描述出发地和目的地,OpenClaw 对比多条路线,给出时间最短、少换乘、费用等不同维度的比选结果和推荐。

技术实现

数据来源是 Wiener Linien 维也纳市属公共交通运营商的开放实时 API:/tickets 票价信息、/monitor 站点实时发车信息、/faults 当前线路故障、/elevators 电梯状态、/trip 换乘路线规划。

WienerLinienClient 类封装了 API 调用:get_departures() 获取站点实时发车信息;get_disruptions() 获取当前所有线路故障;get_elevator_status() 获取电梯状态。

SKILL.md 中定义了关键解析规则:站点名称到 station_id 的映射;查询类型识别(发车/故障/电梯/换乘);时间解析(“现在”/“下班”/具体时间)。

为什么重要

每个城市都有自己的公共交通系统,很多没有好的中文界面。OpenClaw Skill 可以快速为这些本地服务构建自然语言前端。只要有公开 API,就能为任何城市、任何服务构建类似的对话式查询 Skill。

把分散在多个 App 的信息聚合到一个对话里,节省了上下文切换的时间和认知负担。

扩展可能

这套架构可以复制到任何城市:北京/上海用高德/腾讯地图 API;伦敦用 TfL API;纽约用 MTA API;柏林用 BVG API。每个城市的交通 Skill 都可以成为 ClawHub 上的独立发布。

案例来源:wienerlinien @ ClawHub 整理编译:OpenClaw 中文观察站