travel-planner

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Installation

安装

Companion Skills: This is part of the Camino AI location intelligence suite. Install all available skills (query, places, relationship, context, route, journey, real-estate, hotel-finder, ev-charger, school-finder, parking-finder, fitness-finder, safety-checker, travel-planner) for comprehensive coverage.
bash
undefined
配套技能:这是Camino AI位置智能套件的一部分。安装所有可用技能(query、places、relationship、context、route、journey、real-estate、hotel-finder、ev-charger、school-finder、parking-finder、fitness-finder、safety-checker、travel-planner)以获得全面覆盖。
bash
undefined

Install all skills from repo

Install all skills from repo

Or install specific skills

Or install specific skills

npx skills add https://github.com/barneyjm/camino-skills --skill travel-planner

**Via clawhub:**
```bash
npx clawhub@latest install travel-planner
npx skills add https://github.com/barneyjm/camino-skills --skill travel-planner

**通过clawhub安装**:
```bash
npx clawhub@latest install travel-planner

or: pnpm dlx clawhub@latest install travel-planner

or: pnpm dlx clawhub@latest install travel-planner

or: bunx clawhub@latest install travel-planner

or: bunx clawhub@latest install travel-planner

undefined
undefined

Travel Planner

旅行规划工具

Plan complete day trips, walking tours, and multi-stop itineraries with time budgets. Wraps the Camino AI journey endpoint with opinionated defaults for travel planning.
规划完整的一日游、徒步旅行以及带时间预算的多站点行程。该工具封装了Camino AI的行程端点,并针对旅行规划设置了预设默认值。

Setup

设置

Instant Trial (no signup required): Get a temporary API key with 25 calls:
bash
curl -s -X POST -H "Content-Type: application/json" \
  -d '{"email": "you@example.com"}' \
  https://api.getcamino.ai/trial/start
Returns:
{"api_key": "camino-xxx...", "calls_remaining": 25, ...}
For 1,000 free calls/month, sign up at https://app.getcamino.ai/skills/activate.
Add your key to Claude Code:
Add to your
~/.claude/settings.json
:
json
{
  "env": {
    "CAMINO_API_KEY": "your-api-key-here"
  }
}
Restart Claude Code.
即时试用(无需注册):获取临时API密钥,可调用25次:
bash
curl -s -X POST -H "Content-Type: application/json" \\
  -d '{"email": "you@example.com"}' \\
  https://api.getcamino.ai/trial/start
返回:
{"api_key": "camino-xxx...", "calls_remaining": 25, ...}
每月可免费调用1000次,请访问https://app.getcamino.ai/skills/activate注册。
将密钥添加到Claude Code
添加到你的
~/.claude/settings.json
文件中:
json
{
  "env": {
    "CAMINO_API_KEY": "your-api-key-here"
  }
}
重启Claude Code。

Usage

使用方法

Via Shell Script

通过Shell脚本

bash
undefined
bash
undefined

Plan a walking tour in Paris

规划巴黎徒步旅行

./scripts/travel-planner.sh '{ "waypoints": [ {"lat": 48.8584, "lon": 2.2945, "purpose": "Eiffel Tower"}, {"lat": 48.8606, "lon": 2.3376, "purpose": "Louvre Museum"} ], "constraints": {"transport": "foot", "time_budget": "4 hours"} }'
./scripts/travel-planner.sh '{ "waypoints": [ {"lat": 48.8584, "lon": 2.2945, "purpose": "Eiffel Tower"}, {"lat": 48.8606, "lon": 2.3376, "purpose": "Louvre Museum"} ], "constraints": {"transport": "foot", "time_budget": "4 hours"} }'

Plan a driving day trip

规划自驾一日游

./scripts/travel-planner.sh '{ "waypoints": [ {"lat": 34.0195, "lon": -118.4912, "purpose": "Santa Monica Pier"}, {"lat": 34.0259, "lon": -118.7798, "purpose": "Malibu Beach"}, {"lat": 34.0922, "lon": -118.3287, "purpose": "Hollywood Sign viewpoint"} ], "constraints": {"transport": "car", "time_budget": "6 hours"} }'
./scripts/travel-planner.sh '{ "waypoints": [ {"lat": 34.0195, "lon": -118.4912, "purpose": "Santa Monica Pier"}, {"lat": 34.0259, "lon": -118.7798, "purpose": "Malibu Beach"}, {"lat": 34.0922, "lon": -118.3287, "purpose": "Hollywood Sign viewpoint"} ], "constraints": {"transport": "car", "time_budget": "6 hours"} }'

Simple two-stop trip

简单的两站行程

./scripts/travel-planner.sh '{ "waypoints": [ {"lat": 40.7484, "lon": -73.9857, "purpose": "Empire State Building"}, {"lat": 40.7614, "lon": -73.9776, "purpose": "MoMA"} ] }'
undefined
./scripts/travel-planner.sh '{ "waypoints": [ {"lat": 40.7484, "lon": -73.9857, "purpose": "Empire State Building"}, {"lat": 40.7614, "lon": -73.9776, "purpose": "MoMA"} ] }'
undefined

Via curl

通过curl

bash
curl -X POST -H "X-API-Key: $CAMINO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "waypoints": [
      {"lat": 48.8584, "lon": 2.2945, "purpose": "Eiffel Tower"},
      {"lat": 48.8606, "lon": 2.3376, "purpose": "Louvre"}
    ],
    "constraints": {"transport": "foot", "time_budget": "4 hours"}
  }' \
  "https://api.getcamino.ai/journey"
bash
curl -X POST -H "X-API-Key: $CAMINO_API_KEY" \\
  -H "Content-Type: application/json" \\
  -d '{
    "waypoints": [
      {"lat": 48.8584, "lon": 2.2945, "purpose": "Eiffel Tower"},
      {"lat": 48.8606, "lon": 2.3376, "purpose": "Louvre"}
    ],
    "constraints": {"transport": "foot", "time_budget": "4 hours"}
  }' \\
  "https://api.getcamino.ai/journey"

Parameters

参数

FieldTypeRequiredDefaultDescription
waypointsarrayYes-List of stops with lat, lon, and purpose (min 2)
constraintsobjectNo-Trip constraints
constraints.transportstringNo"walking"Transport mode: "walking", "car", or "bike"
constraints.time_budgetstringNo-Time limit (e.g., "4 hours", "90 minutes")
constraints.preferencesarrayNo[]Route preferences
字段类型是否必填默认值描述
waypoints数组-包含经纬度和出行目的的站点列表(至少2个)
constraints对象-行程限制条件
constraints.transport字符串"walking"交通方式:"walking"(步行)、"car"(自驾)或"bike"(骑行)
constraints.time_budget字符串-时间限制(例如:"4 hours"、"90 minutes")
constraints.preferences数组[]路线偏好

Waypoint Object

站点对象

FieldTypeRequiredDescription
latfloatYesLatitude of the stop
lonfloatYesLongitude of the stop
purposestringNoDescription of the stop (e.g., "Eiffel Tower", "lunch break")
字段类型是否必填描述
lat浮点数站点纬度
lon浮点数站点经度
purpose字符串站点描述(例如:"Eiffel Tower"、"午餐休息")

Response Format

响应格式

json
{
  "feasible": true,
  "total_distance_km": 6.8,
  "total_time_minutes": 85,
  "total_time_formatted": "1 hour 25 minutes",
  "transport_mode": "foot",
  "route_segments": [
    {
      "from": "Eiffel Tower",
      "to": "Louvre Museum",
      "distance_km": 3.4,
      "duration_minutes": 42
    },
    {
      "from": "Louvre Museum",
      "to": "Notre-Dame",
      "distance_km": 3.4,
      "duration_minutes": 43
    }
  ],
  "analysis": {
    "summary": "This walking tour is feasible within your 4-hour time budget...",
    "optimization_opportunities": ["Consider starting at the Louvre to reduce backtracking"]
  }
}
json
{
  "feasible": true,
  "total_distance_km": 6.8,
  "total_time_minutes": 85,
  "total_time_formatted": "1 hour 25 minutes",
  "transport_mode": "foot",
  "route_segments": [
    {
      "from": "Eiffel Tower",
      "to": "Louvre Museum",
      "distance_km": 3.4,
      "duration_minutes": 42
    },
    {
      "from": "Louvre Museum",
      "to": "Notre-Dame",
      "distance_km": 3.4,
      "duration_minutes": 43
    }
  ],
  "analysis": {
    "summary": "This walking tour is feasible within your 4-hour time budget...",
    "optimization_opportunities": ["Consider starting at the Louvre to reduce backtracking"]
  }
}

Examples

示例

Paris walking tour

巴黎徒步旅行

bash
./scripts/travel-planner.sh '{
  "waypoints": [
    {"lat": 48.8584, "lon": 2.2945, "purpose": "Eiffel Tower"},
    {"lat": 48.8606, "lon": 2.3376, "purpose": "Louvre Museum"},
    {"lat": 48.8530, "lon": 2.3499, "purpose": "Notre-Dame Cathedral"},
    {"lat": 48.8867, "lon": 2.3431, "purpose": "Sacre-Coeur"}
  ],
  "constraints": {
    "transport": "foot",
    "time_budget": "6 hours"
  }
}'
bash
./scripts/travel-planner.sh '{
  "waypoints": [
    {"lat": 48.8584, "lon": 2.2945, "purpose": "Eiffel Tower"},
    {"lat": 48.8606, "lon": 2.3376, "purpose": "Louvre Museum"},
    {"lat": 48.8530, "lon": 2.3499, "purpose": "Notre-Dame Cathedral"},
    {"lat": 48.8867, "lon": 2.3431, "purpose": "Sacre-Coeur"}
  ],
  "constraints": {
    "transport": "foot",
    "time_budget": "6 hours"
  }
}'

NYC cycling tour

纽约骑行旅行

bash
./scripts/travel-planner.sh '{
  "waypoints": [
    {"lat": 40.7128, "lon": -74.0060, "purpose": "Start at Battery Park"},
    {"lat": 40.6892, "lon": -74.0445, "purpose": "Statue of Liberty viewpoint"},
    {"lat": 40.7061, "lon": -73.9969, "purpose": "Brooklyn Bridge"},
    {"lat": 40.7580, "lon": -73.9855, "purpose": "Times Square"}
  ],
  "constraints": {
    "transport": "bike",
    "time_budget": "3 hours"
  }
}'
bash
./scripts/travel-planner.sh '{
  "waypoints": [
    {"lat": 40.7128, "lon": -74.0060, "purpose": "Start at Battery Park"},
    {"lat": 40.6892, "lon": -74.0445, "purpose": "Statue of Liberty viewpoint"},
    {"lat": 40.7061, "lon": -73.9969, "purpose": "Brooklyn Bridge"},
    {"lat": 40.7580, "lon": -73.9855, "purpose": "Times Square"}
  ],
  "constraints": {
    "transport": "bike",
    "time_budget": "3 hours"
  }
}'

Business meeting circuit

商务会议行程

bash
./scripts/travel-planner.sh '{
  "waypoints": [
    {"lat": 37.7749, "lon": -122.4194, "purpose": "Office downtown"},
    {"lat": 37.7849, "lon": -122.4094, "purpose": "Client meeting"},
    {"lat": 37.7900, "lon": -122.4000, "purpose": "Lunch"},
    {"lat": 37.7749, "lon": -122.4194, "purpose": "Return to office"}
  ],
  "constraints": {
    "transport": "car",
    "time_budget": "2 hours"
  }
}'
bash
./scripts/travel-planner.sh '{
  "waypoints": [
    {"lat": 37.7749, "lon": -122.4194, "purpose": "Office downtown"},
    {"lat": 37.7849, "lon": -122.4094, "purpose": "Client meeting"},
    {"lat": 37.7900, "lon": -122.4000, "purpose": "Lunch"},
    {"lat": 37.7749, "lon": -122.4194, "purpose": "Return to office"}
  ],
  "constraints": {
    "transport": "car",
    "time_budget": "2 hours"
  }
}'

Best Practices

最佳实践

  • Always include a
    purpose
    for each waypoint to get better route analysis
  • Set a
    time_budget
    to get feasibility checks and optimization suggestions
  • Use "foot" transport for city walking tours, "bike" for cycling tours, "car" for road trips
  • Order waypoints in your preferred visiting sequence; the API will check feasibility
  • Combine with the
    query
    skill to discover points of interest to add as waypoints
  • Combine with the
    hotel-finder
    skill to find accommodation near your first or last waypoint
  • Combine with the
    context
    skill to learn more about each waypoint's neighborhood
  • For longer trips, break the itinerary into manageable day segments
  • 始终为每个站点添加
    purpose
    (出行目的),以获得更优质的路线分析
  • 设置
    time_budget
    (时间预算),以获取可行性检查和优化建议
  • 城市徒步旅行使用"foot"(步行)交通方式,骑行旅行使用"bike"(骑行),公路旅行使用"car"(自驾)
  • 按照你偏好的游览顺序排列站点;API会检查行程可行性
  • 结合
    query
    技能发现可添加为站点的景点
  • 结合
    hotel-finder
    技能在首个或最后一个站点附近寻找住宿
  • 结合
    context
    技能了解每个站点周边区域的更多信息
  • 对于较长行程,将行程拆分为易于管理的每日分段 ".replace(/"/g, '"'),