核心用法
Skånetrafiken Trip Planner 是一款专为瑞典斯科讷省(Skåne)设计的公共交通行程规划技能。它通过调用 Skånetrafiken 官方 API,为用户提供实时公交、火车、地铁等交通方式的路线查询服务。
该技能包含两个核心命令:
1. 地点搜索(search-location.sh)
支持搜索车站、地址或兴趣点(POI),返回包含 ID、名称、类型、区域和坐标的结构化数据。搜索时需注意格式规则:地标类地点仅用名称(如 "Emporia"),街道地址需包含城市名(如 "Storgatan 12, Malmö"),火车站使用官方名称(如 "Malmö C")。
2. 行程规划(journey.sh)
在两个地点之间规划最优路线,支持多种时间模式(立即出发、指定时间出发、到达时间倒推),并能处理实时延误信息。API 仅接受 STOP_AREA(车站)和 LOCATION(坐标)类型,对于地址或 POI 需转换为坐标格式使用。
智能时间意图解析是该技能的亮点,可自动处理 "now"、"in 30 minutes"、"arrive by 18:00"、"around 15:00" 等多种自然时间表达,并给出清晰的时间偏移建议。
显著优点
官方数据权威性:直接对接 Skånetrafiken 官方 API,数据来源可靠,覆盖斯科讷省全部公共交通网络,包括区域火车(Pågatåg)、跨境列车(Öresundståg 至哥本哈根)、市内公交、地铁等。
实时信息精准:提供实时延误、站台信息、服务中断等动态数据,帮助用户做出准确出行决策。
多模态路线支持:支持公交、火车、地铁、轮渡、步行等多种交通方式的组合规划,并能自动计算步行段距离与时间。
跨边境能力:原生支持丹麦哥本哈根方向的国际路线查询,包括哥本哈根机场、中央车站等关键节点。
输出格式专业:内置详细的 Emoji 响应格式指南(🚂火车、🚌公交、🚇地铁、⚠️延误等),使 Agent 能够以直观、美观的方式向用户展示行程信息。
零第三方依赖:纯 Shell 脚本实现,仅依赖系统标配工具 curl 和 jq,部署轻量、维护简单。
潜在缺点与局限性
地理范围受限:仅覆盖瑞典斯科讷省及丹麦哥本哈根周边区域,对其他地区用户无实用价值。
API 类型转换复杂:Journey API 仅接受 STOP_AREA 和 LOCATION 两种类型,用户搜索到的 ADDRESS 或 POI 结果需手动转换为坐标使用,增加了使用门槛。
临时文件安全风险:使用 /tmp 目录存储 API 响应,虽有 PID 后缀降低冲突风险,但存在被同系统其他用户读取的理论可能。
搜索格式敏感:API 对查询格式要求严格,城市名添加与否、官方站名使用等因素都会影响搜索结果,需要用户或 Agent 遵循特定规则。
无缓存机制:每次查询均实时调用 API,频繁重复搜索同一地点会造成不必要的网络开销。
隐私披露待完善:虽在文档中说明了数据发送情况,但缺乏独立的隐私政策章节,对用户数据保留、第三方处理协议等说明不足。
适合的目标群体
- 斯科讷省居民与通勤者:日常依赖公共交通出行的本地用户
- 赴瑞典南部旅游的国际游客:需要查询马尔默、隆德、赫尔辛堡等地交通的旅行者
- 跨境商务人士:频繁往返马尔默-哥本哈根的工作人群
- 学生群体:斯科讷省高校(隆德大学、马尔默大学等)的在校学生
使用风险
数据隐私风险:位置搜索查询和行程坐标信息会发送至 Skånetrafiken 官方服务器,搜索历史可能被记录。建议避免使用该技能查询高度敏感的私人地址。
网络依赖风险:完全依赖外部 API 可用性,Skånetrafiken 服务中断或网络波动将直接导致技能不可用。
实时信息延迟:虽然标注"实时",但 API 数据本身存在更新频率限制,极端情况下可能与实际车况存在偏差。
时区注意事项:所有时间均为瑞典本地时间(CET/CEST),跨国行程需注意哥本哈根与马尔默无时差,但用户需自行处理与其他地区的时区转换。
Shell 脚本环境依赖:需在支持 Bash、curl、jq 的环境中运行,部分精简容器环境可能缺少必要组件。