多模式交通规划助手

Sally是一款AI驱动的交通规划助手,通过自然语言交互整合纽约市实时地铁、共享单车和轮渡数据,为用户提供个性化多模式通勤路线建议。

  • by FranB57
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 FranB57/sally

使用说明

Sally——你的纽约通勤副驾驶🚇🚲⛴️

把它想象成你在纽约市周围有一个自己的“坐在椅子上的人”。

这是什么?

Sally是一个人工智能驱动的交通代理,可以连接到实时的纽约市交通数据,这样你就可以使用自然语言规划创造性的多模式通勤。

问题是:乘坐地铁、花旗自行车和渡轮游览纽约市意味着要查看多个应用程序,在脑海中拼凑时间表,并希望在过去的5分钟内没有任何变化。Sally从这三个中提取实时数据,并为您提供具有个性的实际路线选项。

你和萨莉说话的方式就像你给一个对交通系统了如指掌的朋友发短信一样:

“嘿,萨莉,我在汤普金斯广场公园,需要在绿点见一个朋友吃午饭。要迟到,所以要快点。”

Sally使用实时可用性数据带回了真实的选择:

运作原理

萨莉是建立在 MCP(模型上下文协议) 提供LLM访问实时传输API的服务器。该架构故意简单——每个中转源都有自己的MCP服务器,LLM在它们之间进行协调以规划路线。

User (natural language) → LLM + Sally prompt → MCP servers → Live transit APIs
                                                  ├── MTA Subway (GTFS real-time)
                                                  ├── Citi Bike (GBFS)
                                                  └── NYC Ferry (GTFS + GTFS-RT)

LLM不会产生路线幻觉——它会调用工具来检查真实的车站可用性、实时列车到达情况和渡轮时刻表,然后再提出任何建议。

特性

🚇 MTA地铁

  • 通过GTFS馈送实时列车到达
  • 附近车站发现及步行时间估算
  • 任意两个地点之间的直接和单一换乘路线规划

🚲 花旗自行车

  • 现场车站可用性(经典自行车、电动自行车、开放式码头)
  • 自行车腿的上下车站匹配
  • 基于半径的站点搜索

⛴️ 纽约渡轮

  • 具有实时延迟更新的预定出发时间
  • 附近渡轮码头发现
  • 出发地和目的地之间的直达渡轮路线匹配

入门

先决条件

  • Python 3.10+
  • 紫外线 (用于运行MCP服务器)
  • MCP兼容客户端(例如Claude Desktop)

设置

  1. 克隆仓库:
git clone https://github.com/YOUR_USERNAME/sally.git
cd sally
  1. 安装依赖项:
uv sync
  1. 使用提供的配置您的MCP客户端 .mcp.json,或手动添加服务器:
{
  "mcpServers": {
    "mta-subway": {
      "command": "uv",
      "args": ["run", "python", "mta.py"]
    },
    "citibikes": {
      "command": "uv",
      "args": ["run", "python", "citibikes.py"]
    },
    "nyc-ferry": {
      "command": "uv",
      "args": ["run", "python", "ferry_data.py"]
    }
  }
}
  1. 从加载Sally的系统提示 prompts/sally_system_prompt.md 进入您的MCP客户端,以获得完整的个性和路由行为。

项目结构

├── mta.py              # MTA subway MCP server (GTFS real-time feeds)
├── citibikes.py        # Citi Bike MCP server (GBFS API)
├── ferry_data.py       # NYC Ferry MCP server (GTFS + GTFS-RT)
├── prompts/
│   └── sally_system_prompt.md  # Sally's personality and routing instructions
├── data/
│   ├── ferry_data.json                           # Pre-processed ferry stop/route data
│   └── MTA_Subway_Stations_and_Complexes_*.csv   # MTA station reference data
└── .mcp.json           # MCP server configuration

路线图

  • [x] 花旗自行车实时数据集成
  • [x] MTA地铁实时到达和路线
  • [x] 轮渡时刻表和实时延误数据
  • [x] 带有个性和路线指南的系统提示
  • []WhatsApp聊天代理集成
  • []多模式路线评分和排名
  • []自主行程规划的代理框架
  • []纽约市交通领域知识的微调模型

数据源

贡献

这是一项正在进行的工作,我很乐意得到帮助。如果您对传输数据、MCP服务器或代理开发感兴趣,请提出问题或联系我们。


内置于纽约市,适合厌倦了查看5个应用程序的纽约市通勤者。