{"id":"fc371f6a-3a73-4dbb-9ef0-f6cebdb12ca0","entityType":"agent","slug":"clawhub-updatedb-hike-planner","name":"Hike Planner","canonicalUrl":"https://www.xpersona.co/agent/clawhub-updatedb-hike-planner","canonicalPath":"/agent/clawhub-updatedb-hike-planner","generatedAt":"2026-10-09T22:49:37.153Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-09T17:00:54.106Z","emptyReason":null},"description":"一站式徒步出行规划。根据用户明确指令生成行程计划（含徒步路线/交通/住宿/人文/装备）。支持查询票务/酒店信息，不执行订票/下单/候补/支付。多源交叉验证（12306/两步路/高德/小红书/GPX/KML文件）。行程状态持久化到本地文件，编辑命令自动写入，短信解析需用户确认。 Skill: Hike Planner Owner: updatedb Summary: 一站式徒步出行规划。根据用户明确指令生成行程计划（含徒步路线/交通/住宿/人文/装备）。支持查询票务/酒店信息，不执行订票/下单/候补/支付。多源交叉验证（12306/两步路/高德/小红书/GPX/KML文件）。行程状态持久化到本地文件，编辑命令自动写入，短信解析需用户确认。 Tags: hiking:0.3.1, latest:3.3.5, planner:1.0.1, planning:0.3.1, travel:0.3.1 Version history: v3.3.5 | 2026-06-26T16:31:06.015Z | user 安全修复: 修复7项SkillSpector发现 + SKILL.md改进 - execSync → execFileSync 防命令注入 - 文件路径范围验证 + 扩展名白名单 - GPX/KML导","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 2.3K downloads reported by the source. Last updated 10/9/2026.","installCommand":"clawhub skill install s1721v3r61m40mfjemrebfmt9s83gvcm:hike-planner","sourceUrl":"https://clawhub.ai/updatedb/hike-planner","homepage":"https://clawhub.ai/updatedb/skills/hike-planner","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/updatedb/hike-planner","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/updatedb/skills/hike-planner","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":67,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"一站式徒步出行规划。根据用户明确指令生成行程计划（含徒步路线/交通/住宿/人文/装备）。支持查询票务/酒店信息，不执行订票/下单/候补/支付。多源交叉验证（12306/两步路/高德/小红书/GPX/KML文件）。行程状态持久化到本地文件，编辑命令自动写入，短信解析需用户确认。 Skill: Hike Planner O"},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-09T17:00:54.106Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-09T17:00:54.106Z","emptyReason":null},"stars":null,"forks":null,"downloads":2254,"packageName":null,"latestVersion":"3.3.5","tractionLabel":"2.3K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-09T17:00:54.075Z","emptyReason":null},"lastUpdatedAt":"2026-10-09T17:00:54.106Z","lastCrawledAt":"2026-10-09T17:00:54.075Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-10T17:00:54.075Z","lastVerifiedAt":null,"highlights":[{"version":"3.3.5","createdAt":"2026-06-26T16:31:06.015Z","changelog":"安全修复: 修复7项SkillSpector发现 + SKILL.md改进 - execSync → execFileSync 防命令注入 - 文件路径范围验证 + 扩展名白名单 - GPX/KML导入/媒体导入/短信解析/输出目录切换添加用户确认 - GPS坐标模式 + CDN资源隐私警告 - 生成的轨迹地图HTML添加隐私横幅 - hike-select 拆分为 hike-config(设置) + hike-select(选行程) - 新增 hike-import 命令导入GPX/KML轨迹 - SKILL.md 新增隐私与安全章节","fileCount":11,"zipByteSize":73791},{"version":"3.3.4","createdAt":"2026-05-29T09:18:22.477Z","changelog":"v3.3.4: 爬升阈值3m→0.5m(Garmin) + 坐标精度压缩+大文件采样(openmedia预览) + 轨迹HTML flex布局","fileCount":11,"zipByteSize":70567},{"version":"3.3.3","createdAt":"2026-05-29T08:51:56.637Z","changelog":"v3.3.3: 轨迹HTML flex布局替代vh, 修复openmedia预览显示不全","fileCount":11,"zipByteSize":70189},{"version":"3.3.2","createdAt":"2026-05-29T08:28:08.037Z","changelog":"v3.3.2: config默认值webBaseUrl=http://localhost","fileCount":11,"zipByteSize":69967},{"version":"3.3.1","createdAt":"2026-05-29T08:24:28.693Z","changelog":"v3.3.1: config.json gitignore + 默认值","fileCount":11,"zipByteSize":70175},{"version":"3.3.0","createdAt":"2026-05-29T08:18:31.983Z","changelog":"v3.3.0: hike-select baseurl命令 + webBaseUrl迁移到config + WEB_BASE_URL默认localhost + 中文keywords","fileCount":11,"zipByteSize":70197},{"version":"3.2.0","createdAt":"2026-05-29T07:50:40.026Z","changelog":"v3.2.0: config迁移到skill目录 + 隐私声明修正(日期可传/姓名身份证不可传) + 只查不买→不执行订票下单候补支付","fileCount":11,"zipByteSize":69990},{"version":"3.1.0","createdAt":"2026-05-29T04:56:14.250Z","changelog":"v3.1.0: 徒步路线地图虚线渲染 + GPX轨迹虚线 + SKILL可视维度更新","fileCount":10,"zipByteSize":69807}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s1721v3r61m40mfjemrebfmt9s83gvcm:hike-planner","setupComplexity":"low","setupSteps":["Setup complexity is classified as HIGH. You must provision dedicated cloud infrastructure or an isolated VM. Do not run this directly on your local workstation.","Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-updatedb-hike-planner/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-updatedb-hike-planner/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-updatedb-hike-planner/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-updatedb-hike-planner/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-updatedb-hike-planner/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-updatedb-hike-planner/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-09T22:49:37.148Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-updatedb-hike-planner/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-updatedb-hike-planner/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-updatedb-hike-planner/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-updatedb-hike-planner/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"high","updatedAt":"2026-10-09T17:00:54.106Z","emptyReason":null},"readme":"Skill: Hike Planner\n\nOwner: updatedb\n\nSummary: 一站式徒步出行规划。根据用户明确指令生成行程计划（含徒步路线/交通/住宿/人文/装备）。支持查询票务/酒店信息，不执行订票/下单/候补/支付。多源交叉验证（12306/两步路/高德/小红书/GPX/KML文件）。行程状态持久化到本地文件，编辑命令自动写入，短信解析需用户确认。\n\nTags: hiking:0.3.1, latest:3.3.5, planner:1.0.1, planning:0.3.1, travel:0.3.1\n\nVersion history:\n\nv3.3.5 | 2026-06-26T16:31:06.015Z | user\n\n安全修复: 修复7项SkillSpector发现 + SKILL.md改进\n\n- execSync → execFileSync 防命令注入\n- 文件路径范围验证 + 扩展名白名单\n- GPX/KML导入/媒体导入/短信解析/输出目录切换添加用户确认\n- GPS坐标模式 + CDN资源隐私警告\n- 生成的轨迹地图HTML添加隐私横幅\n- hike-select 拆分为 hike-config(设置) + hike-select(选行程)\n- 新增 hike-import 命令导入GPX/KML轨迹\n- SKILL.md 新增隐私与安全章节\n\nv3.3.4 | 2026-05-29T09:18:22.477Z | user\n\nv3.3.4: 爬升阈值3m→0.5m(Garmin) + 坐标精度压缩+大文件采样(openmedia预览) + 轨迹HTML flex布局\n\nv3.3.3 | 2026-05-29T08:51:56.637Z | user\n\nv3.3.3: 轨迹HTML flex布局替代vh, 修复openmedia预览显示不全\n\nv3.3.2 | 2026-05-29T08:28:08.037Z | user\n\nv3.3.2: config默认值webBaseUrl=http://localhost\n\nv3.3.1 | 2026-05-29T08:24:28.693Z | user\n\nv3.3.1: config.json gitignore + 默认值\n\nv3.3.0 | 2026-05-29T08:18:31.983Z | user\n\nv3.3.0: hike-select baseurl命令 + webBaseUrl迁移到config + WEB_BASE_URL默认localhost + 中文keywords\n\nv3.2.0 | 2026-05-29T07:50:40.026Z | user\n\nv3.2.0: config迁移到skill目录 + 隐私声明修正(日期可传/姓名身份证不可传) + 只查不买→不执行订票下单候补支付\n\nv3.1.0 | 2026-05-29T04:56:14.250Z | user\n\nv3.1.0: 徒步路线地图虚线渲染 + GPX轨迹虚线 + SKILL可视维度更新\n\nv3.0.0 | 2026-05-29T03:55:08.749Z | user\n\nv3.0.0: 三文件职责统一 + 死代码清理 + getRouteTypesForDay接入 + 域名对齐 + OPENMEDIA→WEB_BASE_URL + SOP重命名hike-planner-sop + 删除render-itinerary-map.sh + 地理编码4策略 + GPX提醒/截图/GPS节点\n\nv2.3.0 | 2026-05-29T02:56:07.856Z | user\n\nv2.3.0: 三文件职责统一 + 死代码清理 + getRouteTypesForDay接入 + GPX提醒/截图保存/GPS更新 + 函数去Readme后缀 + SOP搜索降级链\n\nv2.2.0 | 2026-05-28T17:52:55.000Z | user\n\nv2.2.0: 徒步路线分类(穿越/环线/往返) + 每日安排徒步合并为单行展示 + SOP 6.3 分类定义\n\nv2.1.0 | 2026-05-28T17:27:54.587Z | user\n\nv2.1.0: 路线类型自动推导(walking/transfer/driving/straight) + GPX轨迹polyline渲染 + GPX文件保存/gpx目录 + 轨迹地图HTML自动生成 + 移除HIKE_PLANNER_OUTPUT_DIR\n\nv2.0.0 | 2026-05-28T15:30:56.238Z | user\n\nv2.0.0: 轨迹地图 HTML 生成器 + 高德 GPS 坐标直接渲染 + 自动地图生成\n\nv1.5.3 | 2026-05-28T14:29:43.038Z | user\n\nv1.5.3: SOP 新增海外费用换算人民币 + 多日行程按日扩展行程详情\n\nv1.5.2 | 2026-05-28T14:10:11.974Z | user\n\nv1.5.2: 新增 KML 轨迹解析器 kml-parser.py, 与 gpx-parser.py 输出一致 JSON\n\nv1.5.1 | 2026-05-28T14:04:46.344Z | user\n\nv1.5.1: 包目录 skill → hike-planner\n\nv1.5.0 | 2026-05-28T13:50:24.008Z | user\n\nv1.5.0: 统一命名规则 - 目录名 destination-slug-YYYY-MM, 文件名从 trip.title 实际标题提取, H1 同步\n\nv1.4.5 | 2026-05-28T05:03:21.747Z | user\n\nv1.4.5: 文件名去掉空格\n\nv1.4.4 | 2026-05-28T05:01:40.170Z | user\n\nv1.4.4: 简化文件名规则 - 直接从文档一级标题提取\n\nv1.4.3 | 2026-05-28T04:54:57.300Z | user\n\nv1.4.3: 计划文件名采用文档标题，不再使用 README.md\n\nv1.4.2 | 2026-05-28T03:51:42.934Z | user\n\nv1.4.2: GPS直连模式 - GPX/KML轨迹的GPS坐标直接渲染地图，跳过地理编码，精度最高\n\nv1.4.1 | 2026-05-28T03:43:03.984Z | user\n\nv1.4.1: 地理编码消歧义 - 节点定位强制带省市区县前缀，防止姜庄子村/大海陀等重名地点定位错误导致路线计算偏差\n\nv1.4.0 | 2026-05-28T03:24:51.649Z | user\n\nv1.4.0: 待办事项数字编号 + todo N done 快速完成命令\n\nv1.3.9 | 2026-05-28T03:08:05.204Z | user\n\nv1.3.9: 全面支持 GPX/KML 双格式轨迹导入（SKILL.md / SOP / PLAN_TEMPLATE / hike-planner.js 全部更新）\n\nv1.3.8 | 2026-05-28T02:52:15.936Z | user\n\nv1.3.8: 徒步路线详情顶级章节 + 地图链接自动生成 AMAP API Key + 两步路 https://www.2bulu.com/track browser fallback + 模板完整性自动检查 validatePlanReadme()\n\nv1.3.6 | 2026-05-27T08:58:24.694Z | user\n\nSKILL.md frontmatter 添加 permissions 声明；hike-del/hike-reorder 命令表+SOP 标注破坏性操作（立即写入、不可撤销）\n\nv1.3.5 | 2026-05-27T04:20:35.690Z | user\n\nPLAN_TEMPLATE 第三方传输声明细化（明确仅传输最小必要查询词、不含个人行程数据）；SOP 文件写入规则精确化（列出全部持久化文件+各命令弹窗/不弹窗行为）\n\nv1.3.4 | 2026-05-27T03:01:48.817Z | user\n\nPLAN_TEMPLATE.md 添加第三方搜索服务数据传输声明（web_search/xiaohongshu/Wikipedia）\n\nv1.3.3 | 2026-05-27T01:51:50.718Z | user\n\nSOP 3.3：移除主动推送提醒，改为用户驱动的 hike-status/hike-today/hike-log 查询模式\n\nv1.3.2 | 2026-05-26T17:19:02.617Z | user\n\nSOP 裁剪：移除订票/购买/候补/Gmail/日历/记忆等 scope creep，对齐只查不买原则；移除全局 config.json 凭据读取，仅用 AMAP_WEBSERVICE_KEY 环境变量；修正文件写入同意描述（区分 init 同意 vs 编辑命令自动写入）\n\nv1.3.1 | 2026-05-26T16:06:52.922Z | user\n\nSKILL.md 清理：删除版本表（_meta.json 为唯一版本来源）、删除安全隐私声明（安全信息已在 _meta.json permissions + 命令表中覆盖）\n\nv1.3.0 | 2026-05-26T15:48:02.014Z | user\n\nClawHub 安全审查修复（9项全部修复）\n\nv1.2.1 | 2026-05-24T16:27:11.943Z | auto\n\nv1.2.1 introduces major simplification and cleanup of internal documentation and processes.\n\n- Travel agent SOP greatly simplified: removed personal information handling, self-improvement logic, directory structure guidelines, and group chat rules.\n- SOP now references a template, reducing inline instructions.\n- All referenced paths have been updated to use relative directories.\n- No changes to core user commands or primary planning features.\n\nv1.1.3 | 2026-05-21T03:13:51.665Z | user\n\nfix: 显示名 Skill→Hike Planner\n\nv1.1.2 | 2026-05-21T03:12:33.554Z | user\n\nfix: 显示名从 Skill 修正为 Hike Planner\n\nv1.1.1 | 2026-05-21T02:58:50.378Z | user\n\nfix: SKILL.md 版本表格式修复\n\nv1.1.0 | 2026-05-21T02:41:05.114Z | user\n\nv1.1.0: Day级命令重写\n\nv0.3.1 | 2026-05-21T01:08:32.503Z | user\n\nv0.3.1: trip detail enforcement, travel advice+hot recommendations, pre-filled equipment/todos, daily route summary, hike-add/remove/reorder commands\n\nv1.0.1 | 2026-05-20T07:49:40.268Z | user\n\nFix capability table: merge emoji into single column to avoid line wrap\n\nv1.0.0 | 2026-05-20T07:26:52.488Z | user\n\nv1.0.0: stable release - hike-init hike-list hike-select hike-status hike-log hike-today\n\nv0.4.0 | 2026-05-20T07:05:01.324Z | user\n\nhike-init[date dest activity], hike-select output/planname, hike-log rewrite\n\nv0.3.0 | 2026-05-20T06:22:43.720Z | user\n\nhike-summary→hike-list (list incomplete trips), new hike-set outputDir cmd\n\nv0.2.1 | 2026-05-19T23:16:44.216Z | user\n\nFix backlog: delayMinutes→actualTime, costOverrun→actualCost, '实际多花了 ¥X' pattern\n\nv0.2.0 | 2026-05-19T19:57:37.073Z | user\n\nSMS parsing (D2008/hotel/flight), real-time revision (deviation alerts), car vs hiking route type distinction\n\nv0.1.9 | 2026-05-19T19:38:23.992Z | user\n\nRefine description wording\n\nv0.1.8 | 2026-05-19T19:37:38.125Z | user\n\nUpdate description: GPX files, SMS auto-revise, real-time adjustment\n\nv0.1.7 | 2026-05-19T19:32:41.923Z | user\n\nDisplay name: Hike Planner\n\nv0.1.6 | 2026-05-19T19:30:17.071Z | user\n\nAdd flyai API Key setup tip: open.fly.ai/console\n\nv0.1.5 | 2026-05-19T19:28:47.343Z | user\n\nFix: 12306 and flyai are ClawHub skills, all 4 deps auto-installable\n\nv0.1.4 | 2026-05-19T19:24:51.938Z | user\n\nExternal deps: auto-install prompt for ClawHub skills, manual deploy guide for custom scripts\n\nArchive index:\n\nArchive v3.3.5: 11 files, 73791 bytes\n\nFiles: _meta.json (131b), assets/gpx-parser.py (5837b), assets/kml-parser.py (9718b), planner/config.json (57b), references/hike-planner-sop.md (20145b), references/PLAN_TEMPLATE.md (4873b), scripts/generate-track-map.py (32333b), scripts/hike-planner.js (120511b), scripts/render-itinerary-map.js (13657b), skill-card.md (2851b), SKILL.md (10190b)\n\nFile v3.3.5:SKILL.md\n\n---\nname: Hike Planner\ndescription: 一站式徒步出行规划。根据用户明确指令生成行程计划（含徒步路线/交通/住宿/人文/装备）。支持查询票务/酒店信息，不执行订票/下单/候补/支付。多源交叉验证（12306/两步路/高德/小红书/GPX/KML文件）。行程状态持久化到本地文件，编辑命令自动写入，短信解析需用户确认。\npermissions:\n  filesystem: 在用户指定的 outputDir 下读写行程状态文件\n  network: restapi.amap.com, is.autonavi.com, a.amap.com, wikipedia.org, 2bulu.com, xiaohongshu.com, bilibili.com, unpkg.com\n  environment: AMAP_WEBSERVICE_KEY\n  execution: curl, python3, node\n---\n\n# hike-planner\n\n> 从0开始逐步完善的智能行程规划工具。**需要用户明确提供出行日期、目的地和活动类型**才会开始规划。详细执行规范见 `hike-planner-sop.md`。\n\n## 能力\n\n| 能力维度 | 说明 |\n|---------|------|\n| 🚀 便捷 | 输入日期、目的地、活动类型，10 分钟内生成含大交通、酒店、徒步路线、人文介绍、装备清单的完整计划 |\n| 🔍 可靠 | 12306 / flyai 校验机票火车票，两步路 / 小红书查询路线，接受 GPX/KML 轨迹文件补充，高德地图保证里程准确 |\n| ⏱️ 精准 | 锁定大交通时间 + 锁定徒步路线时间为双锚点，按时间顺排倒排，确保节点衔接无冲突 |\n| 🗺️ 可视 | 每日行程自动生成高德地图链接，节点标注 + 交通路线一目了然。GPX/KML 轨迹渲染为交互式地图，支持多路线对比分析 |\n| 📚 有料 | 人文信息按目的地特性自动分类检索，与行程强关联（诗词对应徒步路段，美食定位补给点） |\n\n### 内置能力\n\n| 能力 | 说明 |\n|------|------|\n| 徒步路线搜索 | 两步路 + 小红书攻略 + B站视频（搜索策略详见 SOP §3.1）|\n| 行程地图渲染 | 高德地图可视化链接（依赖 amap-lbs-skill）。⚠️ 行程站点名称会通过网络发送给高德地图（Amap）API。 |\n| 人文信息收集 | Wikipedia + web_search + xiaohongshu |\n| 行程计划生成 | 按 PLAN_TEMPLATE 标准格式输出 |\n| 行中记录/行后汇总 | 实际 vs 计划对比 + 归档 |\n\n## 命令\n\n| 命令 | 说明 |\n|------|------|\n| `hike [目的地] [活动?]` | 查询目的地介绍+推荐经典徒步路线。不创建行程、不管理状态。示例：`hike 四姑娘山` |\n| `hike-init [日期] [目的地] [活动]` | 启动规划。日期/目的地/活动为必填，直接从参数解析。首次使用将征得您同意确认保存到 outputDir。示例：`hike-init 2026-06-01 古蜀道 徒步+文化探访`。若未提供完整参数则交互补问缺失项。 |\n| `hike-list` | 列出所有未完成行程；`hike-list <tripId>` 归档并汇总指定行程 |\n| `hike-config output <路径>` | 设置/切换默认输出目录（持久化到 `{skillDir}/planner/config.json`）。⚠️ 行程数据（含订单信息、GPS 坐标）将保存到此目录，共享服务器环境下其他用户可能可见。 |\n| `hike-config baseurl <URL>` | 设置 Web 基础 URL（用于轨迹地图链接，默认 `http://localhost`）。不传参数查看当前值。 |\n| `hike-select <行程名>` | 激活/选择某个行程进行管理。匹配 tripId 或目的地关键词（模糊匹配）。选择后 hike-status/today/log 都作用于该行程。 |\n| `hike-import <GPX/KML文件路径>` | 导入 GPX/KML 轨迹文件到当前行程。自动提取 GPS 坐标、生成轨迹地图 HTML。⚠️ 轨迹坐标将写入本地 HTML 文件，导入前会弹窗确认。 |\n| `hike-status` | 查看当前行程状态与概览（作用于 hike-select 选中的行程） |\n| `hike-log [内容]` | 记录行程最新信息：🚄 订好车票 / ✈️ 订好机票 / 🏨 订了酒店 / 💰 支出花销。粘贴 12306/航司/酒店 OTA 订单短信自动解析并更新行程。⚠️ 解析前会弹窗确认，仅提取订单关键字段（车次/航班/站点/日期），不保留原始短信全文。 |\n| `hike-today` | 查看今日计划（时间线 + 地图，作用于选中行程） |\n| `hike-add [dayN] [路线A-B]` | 添加 A-B 行程段到 DayN，后续行程自动推后 |\n| `hike-del [dayN]` | ⚠️ 删除 DayN 整个日程，立即写入磁盘且不可撤销。后续日程自动移前。 |\n| `hike-reorder [dayN] after\\|before\\|to [dayM]` | ⚠️ 重排日程顺序，立即写入磁盘。将 DayN 移到 DayM 之后/之前，或让 DayN 成为新的 DayM。 |\n| `todo [N] done` | ✅ 通过编号快速完成待办。示例：`todo 1 done`、`TODO 3 done`。 |\n\n## 示例\n\n```text\nhike 四姑娘山 徒步\n```\n\n> 纯查询模式，不创建行程。返回目的地文化介绍（地理/历史/人文/美食等 3-5 个分类）和经典徒步路线详情（路线名/距离/爬升/难度/关键节点/提示）。\n\n```text\nhike-import ~/downloads/海坨山环线.gpx\n```\n\n> 导入 GPX/KML 轨迹文件到当前选中行程。自动提取 GPS 坐标、计算距离/爬升/下降统计数据、生成交互式轨迹地图 HTML。导入前需用户确认（轨迹坐标将写入本地文件）。\n\n```text\nhike-init 2026-06-01 古蜀道 徒步+文化探访\n```\n\nAgent 交互收集需求后，自动执行搜索与生成。以「古蜀道 5/13-5/16」真实输出为例：\n\n**总览**：\n\n| 日期 | 星期 | 行程概要 | 出行方式 | 班次/车牌 | 住宿酒店 | 含早 | 天气 |\n|------|------|---------|---------|---------|---------|------|------|\n| 5/13 | 周三 | 抵达成都，逛宽窄巷子/锦里 | ✈️ | CA4117 北京→成都 | 维也纳国际酒店(成都东站) | 否 | 晴 |\n| 5/14 | 周四 | 成都东→剑门关→小娅子徒步→普安镇 | 🚄+🚗+🥾 | D2008+包车 | 剑阁瑞山酒店 | 是 | ☀️31°C/16°C |\n| 5/15 | 周五 | 汉阳镇→普安镇徒步10km | 🥾+🚗 | 包车+徒步 | 剑阁瑞山酒店 | 是 | 多云28°C/18°C |\n| 5/16 | 周六 | 拦马墙→剑门关→成都→北京 | 🥾+🚄+✈️ | D1973+CA4117 | | | 晴29°C/17°C |\n\n**DAY 3 — 5/16（周六）：拦马墙→返程北京**：\n\n| 时间 | 区间 | 节点详情 | 费用 | 备注 |\n|------|------|---------|------|------|\n| 07:00 | 起床退房 | 行李寄存前台 | | 必须早起 |\n| 07:00-07:30 | 早餐 | 酒店含早 | | |\n| 07:30-07:40 | 🚗 包车 | 酒店→拦马墙起点 | ¥30-50 | 约10min |\n| 07:40-10:10 | 🥾 徒步 | 拦马墙→普安镇（折返） | | 7.5km，约2.5h |\n| 10:10-10:30 | 取行李+简餐 | 普安镇 | ¥15 | 20min |\n| 10:30-11:00 | 🚗 包车 | 普安镇→剑门关站 | ¥80-100 | |\n| 11:00 | 到达剑门关站 | 候车29分钟 | | 🟢 刚好 |\n| 11:29-12:56 | 🚄 D1973 | 剑门关→成都东 | ¥104 | 已购票 |\n| 12:56 | 抵达成都东 | | | |\n| 13:00-15:00 | 午餐 | 苏坦土耳其餐厅（玉林店） | ¥100 | 请上海来的朋友 |\n| 15:00-15:40 | 🚇 地铁 | 东站→双流机场（7号线） | ¥8-9 | |\n| 17:00-20:00 | ✈️ CA4117 | 双流→首都T3 | 已购票 | 2h24m |\n\n> ⚠️ 时间紧，务必早起！候车不超过30分钟\n> 🗺️ [查看地图](https://a.amap.com/...)\n> 💰 本日费用：约¥300-400（包车+午餐+地铁）\n\n**徒步路线详情 — 路线二：汉阳镇→普安镇**：\n\n| 项目 | 数据 |\n|------|------|\n| 距离 | 10.05km |\n| 爬升 | 286m |\n| 下降 | 327m |\n| 预计用时 | 3.5-4小时 |\n| 路线类型 | 古道+乡村公路 |\n| 关键节点 | 汉阳镇体育中心→石洞沟→抄手铺→碑梁村→卧龙社区→普安镇 |\n| ⚠️ 提示 | 石洞沟、抄手铺有补给；抄手铺的钟婆婆抄手售咖啡 |\n\n## 外部依赖\n\n以下 Skill 为可选依赖。hike-init 启动时自动检测，若未安装则提示用户。\n\n| 依赖 | 用途 | 安装 |\n|------|------|------|\n| `12306-train-assistant` | 火车票余票/价格/时刻查询 | `npx clawhub install 12306-train-assistant` |\n| `amap-lbs-skill` | 距离/路线/地图 | `npx clawhub install amap-lbs-skill` |\n| `flyai` | 机票/酒店查询 | `npx clawhub install flyai`（安装后需到 [open.fly.ai](https://open.fly.ai/console) 获取 API Key） |\n| `xiaohongshu` | 小红书攻略搜索（需先登录） | `npx clawhub install xiaohongshu` |\n\n> 💡 hike-init 时会检测依赖可用性。缺失时提示用户安装或手动输入信息。不可用时的保底策略见 `hike-planner-sop.md`。\n\n## 隐私与安全\n\n> ⚠️ **数据本地化**：行程数据（含订单信息、GPS 坐标、媒体文件）持久化到本地磁盘。在共享服务器环境中，同一服务器的其他用户可能可以查看这些数据。建议使用专用输出目录并设置适当的文件权限。\n\n| 数据类型 | 存储位置 | 风险提示 |\n|---------|---------|---------|\n| 行程计划 | `outputDir/upcoming/<tripId>/` | 含日期、目的地、交通/酒店订单信息 |\n| 轨迹坐标 | `outputDir/upcoming/<tripId>/gpx/` | GPX/KML 精确 GPS 坐标写入 HTML 文件 |\n| 媒体文件 | `outputDir/upcoming/<tripId>/media/` | 截图/照片可能含敏感个人信息 |\n| 订单短信 | 解析后仅提取关键字段（车次/航班/站点/日期），不保留原始短信全文 |\n\n| 外部服务 | 传输数据 | 用途 |\n|---------|---------|------|\n| 高德地图 API | 站点名称 / GPS 坐标 | 地理编码、地图链接生成 |\n| unpkg.com | 浏览器 IP、轨迹区域 | Leaflet 库加载（轨迹地图 HTML） |\n| 高德/OSM 瓦片 | 浏览器 IP、浏览区域 | 地图瓦片加载（轨迹地图 HTML） |\n\n### 安全措施\n\n- **文件类型白名单**：仅允许 `.gpx`/`.kml`（轨迹）和 `.png`/`.jpg`/`.jpeg`/`.gif`/`.webp`/`.bmp`/`.svg`/`.mp4`/`.mov`/`.avi`/`.webm`（媒体）\n- **路径范围限制**：文件导入仅允许来自行程输出目录、`~/.openclaw/media/inbound/` 或系统临时目录\n- **命令注入防护**：外部脚本调用使用 `execFileSync`（参数数组模式，不经过 shell）\n- **操作确认**：轨迹导入、媒体导入、短信解析、输出目录切换均需用户确认\n\n## 不做\n\n- 🔒 自动订票 / 下单 / 支付\n\n> ⚠️ 不执行订票、下单、候补、支付等操作，但会保存行程、目的地、出行时间等信息。\n\nFile v3.3.5:_meta.json\n\n{\n  \"ownerId\": \"kn73h0b3vxspe7143ad7dk07xn822pwv\",\n  \"slug\": \"hike-planner\",\n  \"version\": \"3.3.5\",\n  \"publishedAt\": 1782491466015\n}\n\nFile v3.3.5:references/hike-planner-sop.md\n\n# Hike Planner SOP — 徒步行程规划助手\n\n**版本**: v3.1\n**创建日期**: 2026-05-14\n**最后更新**: 2026-05-29（裁剪：移除订票/购买/候补/日历/邮件/记忆/主动推送等 scope creep，不执行订票/下单/候补/支付+用户驱动原则）\n\n---\n\n## 一、职责定位\n\n**角色**: 徒步行程规划助手\n\n**核心职责**:\n- ✅ **行程前** — 根据用户明确指令规划徒步路线，查询可用的票务、酒店信息（不执行订票/下单/候补/支付），输出行程计划到本地文件\n- ✅ **行程中** — 根据用户提供的短信/订单信息更新行程状态，记录实际出行日志\n- ✅ **行程后** — 汇总实际行程数据，归档到 completed 目录\n\n> ⚠️ **文件写入规则**：\n> - `hike-init` 首次创建行程 → 弹窗确认 outputDir 后，写入状态文件 + 行程计划文件\n> - `hike-log` 含疑似短信内容 → 弹窗确认后才解析并保存\n> - `hike-add / hike-del / hike-reorder` 等编辑命令 → 用户主动操作，直接覆写行程计划文件（不弹窗，等同于\"保存\"）\n>   - ⚠️ `hike-del` 删除日程后不可撤销，建议执行前手动备份行程计划文件\n>   - ⚠️ `hike-reorder` 重排后原顺序不可恢复\n> - `hike-select output` 切换输出目录 → 用户主动命令，直接写入 `{skillDir}/planner/config.json`（不弹窗）\n> - 所有持久化文件清单：`{skillDir}/planner/config.json`（全局配置）、`{outputDir}/.hike-planner-state.json`（行程状态）、`{outputDir}/upcoming/{tripId}/{planFilename}`（行程计划）\n\n---\n\n## 二、Skills 清单\n\n| Skill | 用途 | 触发场景 |\n|-------|------|---------|\n| hike-planner 内置 | 徒步路线搜索+行程地图渲染+GPX/KML轨迹解析 | \"搜索古蜀道路线\"、\"生成行程地图\"、\"导入GPX/KML轨迹\" |\n| `12306-train-assistant` | 火车票时刻/票价/经停站查询 | \"查火车票\"、\"D2008经停站\"（**强制使用**） |\n| `amap-lbs-skill` | 距离计算、路线规划、地理编码 | \"计算两地距离\"、\"校验路线\"（**强制使用**） |\n| 'flyai','飞艾','飞猪' | 机票/酒店查询比价 | 「搜剑门附近酒店」「搜北京到成都最便宜的机票」 |\n| `weather` | 天气预报 | \"徒步那天天气如何\" |\n| `web_search` / `tavily_search` | 实时信息查询 | \"五一川西路况\" |\n\n> ⚠️ **数据源分工规则**:\n> - **火车票** → 必须用 `12306-train-assistant`（flyai 的火车数据不如12306准确，曾出现直达车误显示为需换乘的错误）\n> - **机票/酒店/景点** → `flyai`（飞猪MCP）\n> - **距离/路线** → `amap-lbs-skill`（强制，禁止用经纬度公式估算）\n> - **目的地知识** → Wikipedia + 小红书（维基百科为主，小红书补充真实用户体验）\n> - **两步路/小红书均不可用时** → 明确告知用户信息源不可用，请用户人工提供路线信息或确认搜索结果的可靠性\n> - 禁止用非官方渠道查询火车票余票/经停站\n>\n> ⚠️ 不执行订票、下单、候补、支付等操作，但会保存行程、目的地、出行时间等信息。\n>\n> ⚠️ **先检索，再撰写**：禁止捏造信息。Wikipedia 用于地理/历史/人物事实，小红书用于真实用户体验/补给点/当季路况，12306 用于火车票，flyai 用于机票/酒店，amap-lbs-skill 用于距离/路线。\n\n---\n\n## 三、完整工作流\n\n### 3.1 行程规划流程（出发前）\n\n```\n收集需求 → 锁定大交通 → 起点顺排 → 终点倒排 → 安排小交通 → 填补日常安排\n```\n\n**第一步：收集需求（必须先做）**\n\n> ⚠️ 没有需求就没有规划，需求不清不进入下一步\n\n| 信息项 | 说明 | 示例 |\n|--------|------|------|\n| 出行日期 | 出发日期+返回日期（单程可不填返回）| \"5月13日去，5月16日回\" |\n| 出发地 | 出发城市/地点 | \"北京\"、\"成都\" |\n| 目的地 | 主要目的地 | \"剑门关\"、\"古蜀道\" |\n| 返程地 | 单程可不填 | \"回北京\" |\n| 人员数量 | 出行人数 | \"2人\"、\"1大1小\" |\n| 偏好 | 交通方式/住宿/餐饮/体力分配 | \"自驾\"、\"少走路\"、\"住亚朵\" |\n\n**步骤说明**:\n\n1. **收集需求（先问清楚）** — 日期、地点、人数、偏好，不清楚时必须询问用户，不能猜测\n2. **搜索路线** — 徒步轨迹搜索为 hike-planner 内置能力。两步路为主：访问 `https://www.2bulu.com/track` 搜索轨迹（如 web_fetch 无法访问，使用 browser 工具以真实浏览器打开该链接）；小红书/B站 补充图片和视频。如有用户提供的 GPX/KML 文件，优先解析获取精确坐标和实测距离。\n\n    **小红书搜索策略（强约束）**：\n    \n    a. **关键词组合模板**（每次必须覆盖）：\n    \n    | 类别 | 搜索关键词 | 目的 |\n    |------|-----------|------|\n    | 避坑 | `<目的地> 避坑` | 提前发现常见陷阱 |\n    | 时效攻略 | `<目的地> 最新攻略 <年份>` | 获取最新路线/路况 |\n    | 天气 | `<目的地> <月份> 天气` | 季节穿衣/装备参考 |\n    | 防宰 | `<目的地> 防宰` | 物价/餐饮/交通防坑 |\n    | 物价 | `<目的地> 物价` | 预算评估 |\n    | 景点评估 | `<景点名> 值不值得去` | 是否纳入行程 |\n    \n    b. **陷阱识别规则**：\n    - 90% \"精品一日游\" 帖子是商业推广 → 看评论区 + 发帖时间筛真实内容\n    - 帖子含 \"私信/加微信/进群\" → 直接标记为推广，降权\n    - 同一账号批量发同类帖 → 推广号\n    - 连续多个帖子字数高度相似 → 疑似AI生成，降权\n    - 仅配航拍/宣传图无手机随拍 → 商业文案\n    \n    c. **评论区必看**（评论区比正文更真实）：\n    - 负面评论 \"踩坑了/不值得\" → 重点分析原因\n    - 追问回复 \"求路线/怎么去\" → 实用信息源\n    - 时间类信息 \"排队XX小时\" → 安排 buffer\n    - \"推荐XX师傅/司机\" → 可能真实，需交叉验证\n    \n    d. **可信度评级标准**：\n    \n    | 信号 | 加分 | 减分 |\n    |------|------|------|\n    | 发帖时间 ≤ 3 个月 | +2 | — |\n    | 手机随拍 + 路线描述 | +2 | — |\n    | 花费明细 | +1 | — |\n    | 有槽点/负面评价 | +1 | — |\n    | 含 \"私信/加微信\" | — | -3 |\n    | 纯航拍/宣传图 | — | -2 |\n    | 账号无历史内容 | — | -2 |\n    | 全文只夸不批 | — | -1 |\n\n3. **接收并解析轨迹文件（如有）** — 如用户发送了 GPX/KML 轨迹文件（Garmin Connect/佳明/两步路导出/Google Earth等），解析并提取：\n\n    **必须提取的数据**：\n    - 起终点 GPS 坐标（lat/lng）— 用于地图渲染，直接定位，无需地理编码\n    - 关键节点的 GPS 坐标列表（waypoints）— 存入 `hikingRoutes[].waypoints`，地图渲染时优先使用\n    - 总距离、累计爬升/下降、海拔曲线\n\n    > ⚠️ **GPX/KML 为最高优先级数据源**：当网络搜索（两步路/小红书等）的路线数据与上传的 GPX/KML 轨迹存在偏差时，**以 GPX/KML 为准**。轨迹文件是实地记录的实测数据，距离、爬升、节点坐标均以轨迹文件数据覆盖搜索结果中的估算值。\n    >\n    > 🛰️ **GPS 坐标直接用于地图渲染**：从 GPX/KML 提取的 waypoint 坐标（lat/lng）无需经过高德地理编码，直接传给 `render-itinerary-map.js --coords` 生成精确路线图。只有没有 GPX/KML 时才走地理编码流程。\n    >\n    > GPX/KML 轨迹 ≠ 实际古道路线：GPS 记录的是用户走过的实际路径，可能绕行或偏移。但即便如此，轨迹数据仍是可获得的最高精度数据源。\n\n4. **锁定大交通（核心约束）** — 飞机、高铁等大交通时间是固定锚点，一切围绕它展开\n5. **起点顺排** — 从出发地开始，按时间顺序安排每段小交通+活动\n6. **终点倒排** — 从大交通终点回推，确保每个节点时间衔接合理\n7. **安排小交通** — 城际交通、包车、公交等基于前两步的时间窗口安排\n8. **填补日常安排** — 餐饮、休息、景点等填入时间空隙\n9. **生成行程地图** — 行程确认后，使用 `hike-planner/scripts/render-itinerary-map.js` 为每日行程生成高德地图可视化链接。\n\n    **地理编码消歧义（重要）**：同一地名可能存在于多个省份（如\"姜庄子村\"），地理编码前必须附加省市区县前缀。建议传入 `destinationRegion`（如 \"北京市延庆区\"）作为定位范围，消除重名歧义，确保路线计算正确。\n\n    调用时传入节点对应的省市区县前缀，例如：\n    ```bash\n    # 格式：节点列表 | 城市 | 路线类型 | 省市区县前缀列表\n    node render-itinerary-map.js --stops=\"姜庄子村,小海坨,大海陀村\" --routeType=\"walking,walking\" --region=\"北京市延庆区,北京市延庆区,河北省赤城县\"\n    ```\n\n10. **模板完整性检查** — 行程计划文件生成完成后，调用 `hike-planner.js` 的 `validatePlan(content, trip)` 函数对照 PLAN_TEMPLATE 检查所有板块是否完整。检查项包括：6 个顶级章节（总览/每日安排/行程详情/徒步路线详情/装备清单/待办事项）、文化分类 ≥3 个、每日地图链接、装备清单表格、待办事项等。如有缺失或警告，立即补齐后重新验证。\n\n    **导航类型规范**：\n    - 🥾 徒步段 → `walking`\n    - 🚗 出租/包车/自驾 → `driving`\n    - 🚌 公交段 → `driving`\n    - 🚄 火车 / ✈️ 飞机 → 直线连接（两点间用 straight line）\n\n### 3.2 时间规划核心原则\n\n> ⚠️ **大交通是锚点，是约束，是起点也是终点**\n\n**正确顺序**：\n1. 确认大交通时间（机票/火车票）\n2. 以大交通为锚点，**倒排**当天返程活动\n3. 以大交通为锚点，**顺排**去程活动\n4. 检查各节点时间衔接是否满足最小候车/候机时间\n\n**候车/候机时间规范**：\n- 高铁站：候车不超 30 分钟为佳\n- 机场：提前 1 小时到达办理登机\n\n### 3.3 行程执行流程（出发后）\n\n```\n用户查询状态 → 查看今日计划 → 记录实际进度 → 突发应变 → 行程收尾\n```\n\n> 所有查询均为用户驱动。用户可通过 `hike-status`（概览）、`hike-today`（今日时间线+地图）、`hike-log`（记录实际信息）主动获取和更新行程状态，Skill 不进行未经请求的主动推送。\n\n### 3.4 行程收尾流程（返回后）\n\n```\n记录实际出行数据 → 与计划对比 → 文件归档到 completed 目录\n```\n\n---\n\n## 四、启动检查清单\n\n每次行程规划启动前：\n\n- [ ] 理解用户出行目的（徒步/出差/家人游/个人探索）\n- [ ] 确认时间范围、交通偏好、住宿偏好（§3.1 第一步）\n- [ ] 创建行程目录前**征得用户明确同意**（告知输出路径和数据范围）\n- [ ] 创建行程目录（格式见 §5.1）\n- [ ] 查天气确认是否合适\n- [ ] 火车票用 12306 skill 验证（§七）\n- [ ] 城际/包车段距离用 amap-lbs-skill 校验（§八）\n- [ ] **向用户说明高德地图 API 调用会传输节点名称**\n- [ ] 生成行程计划文件并**用户确认后**才写入磁盘\n\n---\n\n## 五、行程规划标准文档结构\n\n### 5.1 文件路径\n\n- 即将出行：`{outputDir}/upcoming/<destination-slug>-<YYYY-MM>/<实际标题>.md`\n- 已完成：`{outputDir}/completed/<destination-slug>-<YYYY-MM>/<实际标题>.md`\n\n**命名规则**：\n\n| 组成部分 | 规则 | 示例 |\n|---------|------|------|\n| 目录名 | `<destination-slug>-<YYYY-MM>`（pinyin/英文小写 + 连字符，日期带分隔符） | `haituo-2026-06`、`japan-tokyo-kyoto-osaka-2026-08` |\n| 文件名 | `<实际标题>.md`（文档一级标题，去 emoji，保留 `·` `→` 等合法字符） | `海坨山姜庄子村小环线出行计划.md`、`日本·东京→京都→大阪 8天行程规划.md` |\n\n**示例**：\n\n| 目录 | 计划文件 |\n|------|---------|\n| `haituo-2026-06/` | `海坨山姜庄子村小环线出行计划.md` |\n| `wutaishan-2026-06/` | `五台山出行计划.md` |\n| `japan-tokyo-kyoto-osaka-2026-08/` | `日本·东京→京都→大阪 8天行程规划.md` |\n\n### 5.2 文档模板\n\n> 完整模板见 `PLAN_TEMPLATE.md`。以下为核心结构概要，详细内容和所有占位符说明以模板文件为准。\n\n| 章节 | 说明 |\n|------|------|\n| 总览 | 日期/星期/行程概要/出行方式/班次/酒店/含早/天气 汇总表 |\n| 每日安排 | DAY N 时间线表（时间/区间/节点详情/费用/备注） + 地图链接 + 本日费用 |\n| 行程详情 | 目的地文化分类 3-5 个（地理风貌/历史渊源/人文诗词/遗存遗迹/美食特产等）。**多日行程按日扩展**，每重要活动日独立一节 |\n| 徒步路线详情 | 距离/爬升/下降/预计用时/路线类型/路线分类/关键节点/轨迹来源（GPX/KML）/轨迹地图/提示 |\n| 装备清单 | 按类型分类（鞋/衣/包/导航/水/食物/防晒/药品/证件/电子/其他） |\n| 待办事项 | 订票/订酒店/装备/保险/离线地图 |\n\n### 5.3 模板使用规范\n\n| 规范 | 说明 |\n|------|------|\n| 同一酒店多日入住 | 不需要每天退房+再入住，行李寄存前台即可，表中只写\"续住\" |\n| 费用列 | 每行记录金额，末尾汇总本日费用 |\n| 火车信息 | **必须查12306获取**，禁止留\"待补充\"等占位符 |\n| 大交通格式 | 示例：D2008（成都东07:50→剑门关09:21），二等座¥104 |\n| 每日安排 | 包含从出发到入睡的完整时间线，节点紧凑 |\n| 海外费用 | **所有费用统一换算为人民币（¥）**估算，原币种金额在备注标注（如 `¥350 / $50`）。汇率使用当前实时汇率，标注换算日期 |\n| 多日行程详情 | **多日行程需为每个重要活动日扩展独立的行程详情**（文化分类、景点介绍、诗词引用等），避免只给一个笼统的目的地概述。每日常规移动日可简并 |\n\n---\n\n## 六、行程详情内容规范\n\n### 6.1 信息分级质量标准\n\n| 类别 | 要求 | 示例 |\n|------|------|------|\n| **事实类** | 简洁、清晰、正确、可验证 | D2008 成都东07:50→剑门关09:21，二等座¥104；小娅子→断碑梁 12.7km（GPS实测） |\n| **提示类** | 保证有效性和正确性，必须验证 | ⚠️ 石洞沟、抄手铺有补给（实测有商店）；⚠️ 全程无商店需自带干粮（必须实地确认） |\n| **介绍类** | 有趣、丰富、有学习价值，引用有据可查 | 古蜀道历史、金牛道典故、诗词原文+背景、美食文化 |\n\n> ⚠️ **提示类常见错误**：\n> - 说\"全程无商店\"但沿途实际有补给点 → 必须实地确认或查看真实攻略\n> - 说\"路况良好\"但实际是野路 → 查看近期真实用户评论\n> - 说\"没有野生动物\"但当地确实有 → 查阅官方信息\n\n### 6.2 目的地详情类别（按需选用）\n\n根据目的地特性选择 3-5 个最相关的类别，按相关性排序（参考小红书/马蜂窝/百度旅游热门标签）。\n\n| 类别 | 适用场景 | 典型目的地 |\n|------|---------|---------|\n| 地理风貌 | 地形、气候、植被、景观特色 | 所有目的地 |\n| 历史渊源 | 重要历史节点、战争、人物 | 古道、关隘、战场遗址 |\n| 文化典故 | 诗词、传说、著名典故发生地、人物故事 | 蜀道、庐山、岳飞庙 |\n| 人文与诗词 | 有诗词典故的目的地 | 蜀道、庐山、长江三峡 |\n| 遗存遗迹 | 路面、驿站、关隘、古建筑、古镇 | 古道、古城、古关 |\n| 美食特产 | 特色美食、风味小吃 | 所有目的地 |\n| 世界遗产 | 世界遗产/预备项目及核心价值 | 蜀道、故宫、莫高窟 |\n| 5A级景区 | 国家5A景区核心吸引物 | 剑门关、黄山、九寨沟 |\n| 宗教文化 | 著名宗教发源地、石窟、寺庙、道观 | 五台山、武当山、敦煌 |\n| 动植物 | 珍稀物种、生态特色 | 卧龙、大熊猫基地 |\n| 地质地貌 | 丹霞、卡斯特、沙漠、冰川等特殊地貌 | 张掖丹霞、黄龙 |\n| 民俗节庆 | 当地节日、习俗、手工艺 | 少数民族地区 |\n\n> **排序规则**：结合小红书/马蜂窝/百度旅游热门标签，按相关性高的优先展示。例如蜀道优先展示：遗存遗迹 > 历史渊源 > 人文与诗词 > 世界遗产 > 美食特产\n\n### 6.3 徒步路线分类\n\n| 分类 | 定义 | 示例 |\n|------|------|------|\n| 🚶 穿越 | 起终点不同，A点进B点出 | 大觉寺→阳台山→凤凰岭 |\n| 🔄 环线 | 起点=终点，路径不重复经过已走点 | 姜庄子村→大海坨→大海陀村→姜庄子村 |\n| 🔙 往返 | 起点=终点，原路返回途经已走路线 | 大觉寺→阳台山→大觉寺 |\n\n### 6.4 诗词引用规范\n\n- 标题：**《诗词名》** — 作者（朝代）\n- 原文：使用中文引号` `` `` `包裹原文\n- 背景：1-2句话说明创作时间、地点、背景\n- 赏析（可选）：1句话点出与目的地的关联\n\n### 6.5 隐私声明\n\n> 行程规划过程中会向 Wikipedia、web_search、xiaohongshu 等第三方服务发送目的地名称及关联查询（景点、路线、美食、酒店、日期关键词）。传输内容**不包含**人员数量、订单信息、姓名、身份证等个人行程数据；仅发送与目的地内容检索相关的最小必要查询词。\n\n---\n\n## 七、火车票查询规范（强制）\n\n**所有火车票查询必须使用 `12306-train-assistant` skill**\n\n### 7.1 工具位置\n\n```\n12306-train-assistant/client.py\n```\n\n### 7.2 查询命令（无需登录）\n\n> ⚠️ 用户指定日期 → 查询指定日期；未指定 → 查询今天+明天；返程日必须明确查询。\n\n```bash\n# 1. 余票查询（默认查明天）\npython3 client.py left-ticket --date YYYY-MM-DD --from 出发站 --to 到达站\n\n# 2. 经停站查询（验证车次是否正确）\npython3 client.py route --train-code 车次号 --date YYYY-MM-DD --from 出发站 --to 到达站\n\n# 3. 中转方案查询\npython3 client.py transfer-ticket --date YYYY-MM-DD --from 出发站 --to 到达站 --limit 10\n```\n\n### 7.3 验证清单\n\n- [ ] 车次号在 12306 可查到\n- [ ] 出发/到达站匹配用户需求\n- [ ] 余票充足（或已购票）\n- [ ] 经停站合理（不要坐过站）\n- [ ] 票价与 plan 一致\n\n### 7.4 已知限制\n\n- 12306 风控触发时，换日子再试，或使用 flyai 的机票/酒店功能\n- flyai 的火车票数据**不如12306准确**（例：D2008直达误显示为需绵阳换乘），**禁止用flyai替代12306查火车**\n- 如遇风控报错，稍后重试\n\n---\n\n## 八、路线距离校验规范（强制）\n\n**所有城际/乡级交通段和徒步段距离，必须用 `amap-lbs-skill` 校验**。\n\n### 8.1 工具脚本位置\n\n```\namap-lbs-skill/scripts/route-planning.js\namap-lbs-skill/scripts/poi-search.js\n```\n\n### 8.2 步骤一：地理编码（获取各节点经纬度）\n\n```bash\ncurl -s \"https://restapi.amap.com/v3/geocode/geo?address=节点名称&city=城市名&output=JSON&key=***\"\n```\n\n### 8.3 步骤二：驾车路线规划（城际/包车段）\n\n```bash\nnode amap-lbs-skill/scripts/route-planning.js \\\n  --type=driving \\\n  --origin=经度,纬度 \\\n  --destination=经度,纬度\n```\n\n### 8.4 步骤三：步行路线规划（徒步段）\n\n```bash\nnode amap-lbs-skill/scripts/route-planning.js \\\n  --type=walking \\\n  --origin=经度,纬度 \\\n  --destination=经度,纬度\n```\n\n> ⚠️ 高德步行路线走的是现代公路网，与古道/山野徒步路线不同。\n> - 古道实测距离 **<** 高德步行距离（古道是直接山野路径，高德绕行乡村公路）\n> - 应以 plan 中标注的古道实测距离为准，高德数据用于**时间偏差参考**\n\n### 8.5 校验触发条件\n\n在以下场景**必须**执行距离校验：\n- 城际包车/班车时间存疑时\n- 徒步路线距离无实测数据时\n- 行程节点衔接时间紧张时（需要确认是否可行）\n- 用户提出\"这个时间够不够\"时\n\n---\n\n**维护**: Hike Planner\n**下次审查**: 每次重要行程规划后更新\n\nFile v3.3.5:references/PLAN_TEMPLATE.md\n\n# <目的地> 出行计划\n\n**出行日期**：YYYY年MM月DD日 - MM月DD日\n**目的地**：<地点>\n**人员**：<人数>\n\n## 总览\n\n| 日期 | 星期 | 行程概要 | 出行方式 | 班次/车牌 | 住宿酒店 | 含早 | 天气 |\n|------|------|---------|---------|---------|---------|------|------|\n| MM/DD | 周X | <一句话描述> | <交通> | <班次/包车> | <酒店名> | <是/否> | <天气/气温> |\n| MM/DD | 周X | | | | | | |\n| MM/DD | 周X | | | | | | |\n\n## 每日安排\n\n### DAY X — MM/DD（周X）：<主题>\n\n| 时间 | 区间 | 节点详情 | 费用 | 备注 |\n|------|------|---------|------|------|\n| HH:MM | 出发 → 到达 | <节点名称> | ¥XX | <交通/里程/用时> |\n| HH:MM | 交通接驳 | <包车/地铁/步行> | ¥XX | <司机电话/票价> |\n| HH:MM-HH:MM | 🥾 徒步 | 路线名 距离XXkm 爬升XXXm 预计X小时 难度★★★/★★★★★ | | 轨迹/GPX/KML |\n| HH:MM | 抵达 | <节点名称> | | <食宿/活动安排> |\n\n> 🗺️ [查看地图](<高德地图链接>)\n> 💰 本日费用：<¥XX>\n\n### DAY X — MM/DD（周X）：<主题>\n\n| 时间 | 区间 | 节点详情 | 费用 | 备注 |\n|------|------|---------|------|------|\n| | | | | |\n\n> 🗺️ [查看地图]()\n> 💰 本日费用：\n\n## 行程详情\n\n> 生成规则见 hike-planner-sop 第六节\n\n### <目的地名称>\n\n根据目的地特性选择 3-5 个最相关的文化分类，类别定义见 `hike-planner-sop.md` §6.2。\n\n### 地理风貌\n\n<检索目的地所在区域的地形地貌特征、气候类型，以及最具代表性的自然景观。2-4段话。>\n\n### 历史渊源\n\n<检索目的地相关的1-2个关键历史事件，说明时间、人物、事件意义。2-4段话。>\n\n### 人文与诗词\n\n<引用1-2首诗词原文（准确引用），说明作者、朝代、创作背景。1句话点出与目的地的关联。>\n\n### 遗存遗迹\n\n<检索目的地现存的古建筑、古道、古关、石刻等遗迹实物。2-4段话。>\n\n### 世界遗产 / 5A级景区 / 宗教文化 / 民俗节庆\n\n<根据目的地特性选择相关章节，检索核心价值和吸引物。>\n\n### 美食特产\n\n<检索目的地最具代表性的地方美食1-2种，说明食材来源、烹饪特点、觅食地点。2-3段话。>\n\n### 出行建议\n\n> 生成规则见 hike-planner-sop 第六节\n\n#### 交通建议\n\n| 交通方式 | 建议 |\n|---------|------|\n| 到达交通 | <如何到达目的地：最近机场/高铁站 + 换乘方式> |\n| 离开交通 | <如何离开：最近机场/高铁站 + 班次建议> |\n| 当地交通 | <目的地内部出行：包车/公交/打车/租车建议> |\n\n#### 网红酒店推荐\n\n| 名称 | 特色 | 参考价格 |\n|------|------|---------|\n| <酒店1> | <特色描述：位置/景观/设施/风格> | <¥XX-XX/晚> |\n| <酒店2> | <特色描述> | <¥XX-XX/晚> |\n\n#### 网红景点推荐\n\n| 名称 | 亮点 | 建议时长 |\n|------|------|---------|\n| <景点1> | <必打卡理由：摄影/历史/奇观> | <XX小时> |\n| <景点2> | <必打卡理由> | <XX小时> |\n\n#### 网红活动推荐\n\n| 活动 | 特色 | 适合人群 |\n|------|------|---------|\n| <活动1> | <当地特色体验：手工艺/民俗/户外> | <适合谁> |\n| <活动2> | <当地特色体验> | <适合谁> |\n\n## 徒步路线详情\n\n> 路线分类定义见 hike-planner-sop §6.3\n\n#### <路线名>\n\n| 项目 | 数据 |\n|------|------|\n| 距离 | <XXkm> |\n| 爬升 | <XXXm> |\n| 下降 | <XXXm> |\n| 最高海拔 | <XXXXm> |\n| 预计用时 | <X-X小时> |\n| 路线类型 | <古道/山野/景区栈道/混合> |\n| 关键节点 | <起点→节点1→...→终点> |\n| 轨迹来源 | <来源+日期（GPX/KML）> |\n| ⚠️ 提示 | <补给点/危险/注意事项> |\n\n## 装备清单\n\n> 生成规则见 hike-planner-sop\n\n| 类型 | 物品 |\n|------|------|\n| 鞋 | <徒步鞋/越野跑鞋/登山靴，根据路线类型> |\n| 衣 | <速干衣裤、冲锋衣/雨衣、保暖层、换洗衣物> |\n| 包 | <徒步背包XXL、防水罩> |\n| 导航 | <手机+离线地图、GPS设备/手表、指南针> |\n| 水 | <水袋/保温杯XXL，沿途补给点> |\n| 食物 | <路餐X顿、能量棒/坚果、电解质冲剂> |\n| 防晒 | <防晒霜SPF50+、遮阳帽、太阳镜、头巾> |\n| 药品 | <创可贴、云南白药、肠胃药、感冒药、个人药品> |\n| 证件 | <身份证、学生证/老年证（如有优惠）> |\n| 电子 | <充电宝、数据线、相机/无人机（如需）> |\n| 其他 | <登山杖、头灯/手电、急救毯、现金> |\n\n## 待办事项\n\n> 生成规则见 hike-planner-sop\n\n1. [ ] 订火车票/机票（确认出发日期和班次）\n2. [ ] 订酒店（确认入住日期和房型）\n3. [ ] 检查装备清单并补齐缺失物品\n4. [ ] 购买户外保险\n5. [ ] 下载离线地图和GPX/KML轨迹\n\n> 💡 用户可通过 `todo N done` 快速标记完成（如 `todo 1 done`）。\n\n*创建日期：YYYY-MM-DD*\n\nFile v3.3.5:skill-card.md\n\n## Description:\n\nHike Planner helps agents create user-requested hiking trip plans with routes, transportation, lodging, local context, equipment lists, GPX/KML track analysis, and map links without booking, ordering, waitlisting, or paying.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[updatedb](https://clawhub.ai/user/updatedb)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users and travel-planning agents use this skill to plan hiking-oriented trips after the user provides dates, destination, and activity type. It can maintain local trip state, import GPX/KML tracks, generate itinerary Markdown, and update plans from user-provided travel details.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill stores detailed trip, order, media, and GPS data locally.\n\nMitigation: Use a private output directory with appropriate file permissions, especially on shared systems.\n\nRisk: Map and query workflows can send station names, destination details, or precise GPS coordinates to third-party services.\n\nMitigation: Review map-generation requests before use and avoid importing or sharing tracks that reveal sensitive locations.\n\nRisk: Generated map HTML may expose embedded route coordinates if published or served broadly.\n\nMitigation: Keep generated map files local or access-controlled and do not expose them on public web servers.\n\nRisk: Security evidence reports possible command execution or writes outside the intended trip folder in edge cases.\n\nMitigation: Review before installing and fix shell-command and path-boundary issues before use in shared or high-trust environments.\n\nRisk: Optional helper skills and imported GPX/KML or media files can expand trust and input-handling risk.\n\nMitigation: Install helper skills only from trusted publishers and versions, and avoid importing untrusted GPX/KML or media files.\n\n## Reference(s):\n\n- [Hike Planner SOP](references/hike-planner-sop.md)\n- [Plan Template](references/PLAN_TEMPLATE.md)\n- [ClawHub Skill Page](https://clawhub.ai/updatedb/skills/hike-planner)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, code, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown itinerary plans, JSON trip state, generated HTML map files, and command-oriented guidance]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May write trip plans, state files, imported media, GPX/KML copies, and track-map HTML under the configured output directory.]\n\n## Skill Version(s):\n\n3.3.5 (source: server release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v3.3.5:planner/config.json\n\n{\n  \"outputDir\": \"\",\n  \"webBaseUrl\": \"http://localhost\"\n}\n\nArchive v3.3.4: 11 files, 70567 bytes\n\nFiles: _meta.json (131b), assets/gpx-parser.py (5837b), assets/kml-parser.py (9718b), planner/config.json (57b), references/hike-planner-sop.md (20145b), references/PLAN_TEMPLATE.md (4873b), scripts/generate-track-map.py (31318b), scripts/hike-planner.js (112677b), scripts/render-itinerary-map.js (13524b), skill-card.md (2706b), SKILL.md (7915b)\n\nFile v3.3.4:SKILL.md\n\n---\nname: Hike Planner\ndescription: 一站式徒步出行规划。根据用户明确指令生成行程计划（含徒步路线/交通/住宿/人文/装备）。支持查询票务/酒店信息，不执行订票/下单/候补/支付。多源交叉验证（12306/两步路/高德/小红书/GPX/KML文件）。行程状态持久化到本地文件，编辑命令自动写入，短信解析需用户确认。\npermissions:\n  filesystem: 在用户指定的 outputDir 下读写行程状态文件\n  network: restapi.amap.com, is.autonavi.com, a.amap.com, wikipedia.org, 2bulu.com, xiaohongshu.com, bilibili.com, unpkg.com\n  environment: AMAP_WEBSERVICE_KEY\n  execution: curl, python3, node\n---\n\n# hike-planner\n\n> 从0开始逐步完善的智能行程规划工具。**需要用户明确提供出行日期、目的地和活动类型**才会开始规划。详细执行规范见 `hike-planner-sop.md`。\n\n## 能力\n\n| 能力维度 | 说明 |\n|---------|------|\n| 🚀 便捷 | 输入日期、目的地、活动类型，10 分钟内生成含大交通、酒店、徒步路线、人文介绍、装备清单的完整计划 |\n| 🔍 可靠 | 12306 / flyai 校验机票火车票，两步路 / 小红书查询路线，接受 GPX/KML 轨迹文件补充，高德地图保证里程准确 |\n| ⏱️ 精准 | 锁定大交通时间 + 锁定徒步路线时间为双锚点，按时间顺排倒排，确保节点衔接无冲突 |\n| 🗺️ 可视 | 每日行程自动生成高德地图链接，节点标注 + 交通路线一目了然。GPX/KML 轨迹渲染为交互式地图，支持多路线对比分析 |\n| 📚 有料 | 人文信息按目的地特性自动分类检索，与行程强关联（诗词对应徒步路段，美食定位补给点） |\n\n### 内置能力\n\n| 能力 | 说明 |\n|------|------|\n| 徒步路线搜索 | 两步路 + 小红书攻略 + B站视频（搜索策略详见 SOP §3.1）|\n| 行程地图渲染 | 高德地图可视化链接（依赖 amap-lbs-skill）。⚠️ 行程站点名称会通过网络发送给高德地图（Amap）API。 |\n| 人文信息收集 | Wikipedia + web_search + xiaohongshu |\n| 行程计划生成 | 按 PLAN_TEMPLATE 标准格式输出 |\n| 行中记录/行后汇总 | 实际 vs 计划对比 + 归档 |\n\n## 命令\n\n| 命令 | 说明 |\n|------|------|\n| `hike [目的地] [活动?]` | 查询目的地介绍+推荐经典徒步路线。不创建行程、不管理状态。示例：`hike 四姑娘山` |\n| `hike-init [日期] [目的地] [活动]` | 启动规划。日期/目的地/活动为必填，直接从参数解析。首次使用将征得您同意确认保存到 outputDir。示例：`hike-init 2026-06-01 古蜀道 徒步+文化探访`。若未提供完整参数则交互补问缺失项。 |\n| `hike-list` | 列出所有未完成行程；`hike-list <tripId>` 归档并汇总指定行程 |\n| `hike-select output <路径>` | 设置/切换默认输出目录（持久化到 `{skillDir}/planner/config.json`） |\n| `hike-select baseurl <URL>` | 设置 Web 基础 URL（用于轨迹地图链接，默认 `http://localhost`）。不传参数查看当前值。 |\n| `hike-select <行程名>` | 激活/选择某个行程进行管理。匹配 tripId 或目的地关键词（模糊匹配）。选择后 hike-status/today/log 都作用于该行程。 |\n| `hike-status` | 查看当前行程状态与概览（作用于 hike-select 选中的行程） |\n| `hike-log [内容]` | 记录行程最新信息：🚄 订好车票 / ✈️ 订好机票 / 🏨 订了酒店 / 💰 支出花销。粘贴 12306/航司/酒店 OTA 订单短信自动解析并更新行程。⚠️ 解析前会弹窗确认，仅提取订单关键字段（车次/航班/站点/日期），不保留原始短信全文。 |\n| `hike-today` | 查看今日计划（时间线 + 地图，作用于选中行程） |\n| `hike-add [dayN] [路线A-B]` | 添加 A-B 行程段到 DayN，后续行程自动推后 |\n| `hike-del [dayN]` | ⚠️ 删除 DayN 整个日程，立即写入磁盘且不可撤销。后续日程自动移前。 |\n| `hike-reorder [dayN] after\\|before\\|to [dayM]` | ⚠️ 重排日程顺序，立即写入磁盘。将 DayN 移到 DayM 之后/之前，或让 DayN 成为新的 DayM。 |\n| `todo [N] done` | ✅ 通过编号快速完成待办。示例：`todo 1 done`、`TODO 3 done`。 |\n\n## 示例\n\n```text\nhike 四姑娘山 徒步\n```\n\n> 纯查询模式，不创建行程。返回目的地文化介绍（地理/历史/人文/美食等 3-5 个分类）和经典徒步路线详情（路线名/距离/爬升/难度/关键节点/提示）。\n\n```text\nhike-init 2026-06-01 古蜀道 徒步+文化探访\n```\n\nAgent 交互收集需求后，自动执行搜索与生成。以「古蜀道 5/13-5/16」真实输出为例：\n\n**总览**：\n\n| 日期 | 星期 | 行程概要 | 出行方式 | 班次/车牌 | 住宿酒店 | 含早 | 天气 |\n|------|------|---------|---------|---------|---------|------|------|\n| 5/13 | 周三 | 抵达成都，逛宽窄巷子/锦里 | ✈️ | CA4117 北京→成都 | 维也纳国际酒店(成都东站) | 否 | 晴 |\n| 5/14 | 周四 | 成都东→剑门关→小娅子徒步→普安镇 | 🚄+🚗+🥾 | D2008+包车 | 剑阁瑞山酒店 | 是 | ☀️31°C/16°C |\n| 5/15 | 周五 | 汉阳镇→普安镇徒步10km | 🥾+🚗 | 包车+徒步 | 剑阁瑞山酒店 | 是 | 多云28°C/18°C |\n| 5/16 | 周六 | 拦马墙→剑门关→成都→北京 | 🥾+🚄+✈️ | D1973+CA4117 | | | 晴29°C/17°C |\n\n**DAY 3 — 5/16（周六）：拦马墙→返程北京**：\n\n| 时间 | 区间 | 节点详情 | 费用 | 备注 |\n|------|------|---------|------|------|\n| 07:00 | 起床退房 | 行李寄存前台 | | 必须早起 |\n| 07:00-07:30 | 早餐 | 酒店含早 | | |\n| 07:30-07:40 | 🚗 包车 | 酒店→拦马墙起点 | ¥30-50 | 约10min |\n| 07:40-10:10 | 🥾 徒步 | 拦马墙→普安镇（折返） | | 7.5km，约2.5h |\n| 10:10-10:30 | 取行李+简餐 | 普安镇 | ¥15 | 20min |\n| 10:30-11:00 | 🚗 包车 | 普安镇→剑门关站 | ¥80-100 | |\n| 11:00 | 到达剑门关站 | 候车29分钟 | | 🟢 刚好 |\n| 11:29-12:56 | 🚄 D1973 | 剑门关→成都东 | ¥104 | 已购票 |\n| 12:56 | 抵达成都东 | | | |\n| 13:00-15:00 | 午餐 | 苏坦土耳其餐厅（玉林店） | ¥100 | 请上海来的朋友 |\n| 15:00-15:40 | 🚇 地铁 | 东站→双流机场（7号线） | ¥8-9 | |\n| 17:00-20:00 | ✈️ CA4117 | 双流→首都T3 | 已购票 | 2h24m |\n\n> ⚠️ 时间紧，务必早起！候车不超过30分钟\n> 🗺️ [查看地图](https://a.amap.com/...)\n> 💰 本日费用：约¥300-400（包车+午餐+地铁）\n\n**徒步路线详情 — 路线二：汉阳镇→普安镇**：\n\n| 项目 | 数据 |\n|------|------|\n| 距离 | 10.05km |\n| 爬升 | 286m |\n| 下降 | 327m |\n| 预计用时 | 3.5-4小时 |\n| 路线类型 | 古道+乡村公路 |\n| 关键节点 | 汉阳镇体育中心→石洞沟→抄手铺→碑梁村→卧龙社区→普安镇 |\n| ⚠️ 提示 | 石洞沟、抄手铺有补给；抄手铺的钟婆婆抄手售咖啡 |\n\n## 外部依赖\n\n以下 Skill 为可选依赖。hike-init 启动时自动检测，若未安装则提示用户。\n\n| 依赖 | 用途 | 安装 |\n|------|------|------|\n| `12306-train-assistant` | 火车票余票/价格/时刻查询 | `npx clawhub install 12306-train-assistant` |\n| `amap-lbs-skill` | 距离/路线/地图 | `npx clawhub install amap-lbs-skill` |\n| `flyai` | 机票/酒店查询 | `npx clawhub install flyai`（安装后需到 [open.fly.ai](https://open.fly.ai/console) 获取 API Key） |\n| `xiaohongshu` | 小红书攻略搜索（需先登录） | `npx clawhub install xiaohongshu` |\n\n> 💡 hike-init 时会检测依赖可用性。缺失时提示用户安装或手动输入信息。不可用时的保底策略见 `hike-planner-sop.md`。\n\n## 不做\n\n- 🔒 自动订票 / 下单 / 支付\n\n> ⚠️ 不执行订票、下单、候补、支付等操作，但会保存行程、目的地、出行时间等信息。\n\nFile v3.3.4:_meta.json\n\n{\n  \"ownerId\": \"kn73h0b3vxspe7143ad7dk07xn822pwv\",\n  \"slug\": \"hike-planner\",\n  \"version\": \"3.3.4\",\n  \"publishedAt\": 1780046302477\n}\n\nFile v3.3.4:references/hike-planner-sop.md\n\n# Hike Planner SOP — 徒步行程规划助手\n\n**版本**: v3.1\n**创建日期**: 2026-05-14\n**最后更新**: 2026-05-29（裁剪：移除订票/购买/候补/日历/邮件/记忆/主动推送等 scope creep，不执行订票/下单/候补/支付+用户驱动原则）\n\n---\n\n## 一、职责定位\n\n**角色**: 徒步行程规划助手\n\n**核心职责**:\n- ✅ **行程前** — 根据用户明确指令规划徒步路线，查询可用的票务、酒店信息（不执行订票/下单/候补/支付），输出行程计划到本地文件\n- ✅ **行程中** — 根据用户提供的短信/订单信息更新行程状态，记录实际出行日志\n- ✅ **行程后** — 汇总实际行程数据，归档到 completed 目录\n\n> ⚠️ **文件写入规则**：\n> - `hike-init` 首次创建行程 → 弹窗确认 outputDir 后，写入状态文件 + 行程计划文件\n> - `hike-log` 含疑似短信内容 → 弹窗确认后才解析并保存\n> - `hike-add / hike-del / hike-reorder` 等编辑命令 → 用户主动操作，直接覆写行程计划文件（不弹窗，等同于\"保存\"）\n>   - ⚠️ `hike-del` 删除日程后不可撤销，建议执行前手动备份行程计划文件\n>   - ⚠️ `hike-reorder` 重排后原顺序不可恢复\n> - `hike-select output` 切换输出目录 → 用户主动命令，直接写入 `{skillDir}/planner/config.json`（不弹窗）\n> - 所有持久化文件清单：`{skillDir}/planner/config.json`（全局配置）、`{outputDir}/.hike-planner-state.json`（行程状态）、`{outputDir}/upcoming/{tripId}/{planFilename}`（行程计划）\n\n---\n\n## 二、Skills 清单\n\n| Skill | 用途 | 触发场景 |\n|-------|------|---------|\n| hike-planner 内置 | 徒步路线搜索+行程地图渲染+GPX/KML轨迹解析 | \"搜索古蜀道路线\"、\"生成行程地图\"、\"导入GPX/KML轨迹\" |\n| `12306-train-assistant` | 火车票时刻/票价/经停站查询 | \"查火车票\"、\"D2008经停站\"（**强制使用**） |\n| `amap-lbs-skill` | 距离计算、路线规划、地理编码 | \"计算两地距离\"、\"校验路线\"（**强制使用**） |\n| 'flyai','飞艾','飞猪' | 机票/酒店查询比价 | 「搜剑门附近酒店」「搜北京到成都最便宜的机票」 |\n| `weather` | 天气预报 | \"徒步那天天气如何\" |\n| `web_search` / `tavily_search` | 实时信息查询 | \"五一川西路况\" |\n\n> ⚠️ **数据源分工规则**:\n> - **火车票** → 必须用 `12306-train-assistant`（flyai 的火车数据不如12306准确，曾出现直达车误显示为需换乘的错误）\n> - **机票/酒店/景点** → `flyai`（飞猪MCP）\n> - **距离/路线** → `amap-lbs-skill`（强制，禁止用经纬度公式估算）\n> - **目的地知识** → Wikipedia + 小红书（维基百科为主，小红书补充真实用户体验）\n> - **两步路/小红书均不可用时** → 明确告知用户信息源不可用，请用户人工提供路线信息或确认搜索结果的可靠性\n> - 禁止用非官方渠道查询火车票余票/经停站\n>\n> ⚠️ 不执行订票、下单、候补、支付等操作，但会保存行程、目的地、出行时间等信息。\n>\n> ⚠️ **先检索，再撰写**：禁止捏造信息。Wikipedia 用于地理/历史/人物事实，小红书用于真实用户体验/补给点/当季路况，12306 用于火车票，flyai 用于机票/酒店，amap-lbs-skill 用于距离/路线。\n\n---\n\n## 三、完整工作流\n\n### 3.1 行程规划流程（出发前）\n\n```\n收集需求 → 锁定大交通 → 起点顺排 → 终点倒排 → 安排小交通 → 填补日常安排\n```\n\n**第一步：收集需求（必须先做）**\n\n> ⚠️ 没有需求就没有规划，需求不清不进入下一步\n\n| 信息项 | 说明 | 示例 |\n|--------|------|------|\n| 出行日期 | 出发日期+返回日期（单程可不填返回）| \"5月13日去，5月16日回\" |\n| 出发地 | 出发城市/地点 | \"北京\"、\"成都\" |\n| 目的地 | 主要目的地 | \"剑门关\"、\"古蜀道\" |\n| 返程地 | 单程可不填 | \"回北京\" |\n| 人员数量 | 出行人数 | \"2人\"、\"1大1小\" |\n| 偏好 | 交通方式/住宿/餐饮/体力分配 | \"自驾\"、\"少走路\"、\"住亚朵\" |\n\n**步骤说明**:\n\n1. **收集需求（先问清楚）** — 日期、地点、人数、偏好，不清楚时必须询问用户，不能猜测\n2. **搜索路线** — 徒步轨迹搜索为 hike-planner 内置能力。两步路为主：访问 `https://www.2bulu.com/track` 搜索轨迹（如 web_fetch 无法访问，使用 browser 工具以真实浏览器打开该链接）；小红书/B站 补充图片和视频。如有用户提供的 GPX/KML 文件，优先解析获取精确坐标和实测距离。\n\n    **小红书搜索策略（强约束）**：\n    \n    a. **关键词组合模板**（每次必须覆盖）：\n    \n    | 类别 | 搜索关键词 | 目的 |\n    |------|-----------|------|\n    | 避坑 | `<目的地> 避坑` | 提前发现常见陷阱 |\n    | 时效攻略 | `<目的地> 最新攻略 <年份>` | 获取最新路线/路况 |\n    | 天气 | `<目的地> <月份> 天气` | 季节穿衣/装备参考 |\n    | 防宰 | `<目的地> 防宰` | 物价/餐饮/交通防坑 |\n    | 物价 | `<目的地> 物价` | 预算评估 |\n    | 景点评估 | `<景点名> 值不值得去` | 是否纳入行程 |\n    \n    b. **陷阱识别规则**：\n    - 90% \"精品一日游\" 帖子是商业推广 → 看评论区 + 发帖时间筛真实内容\n    - 帖子含 \"私信/加微信/进群\" → 直接标记为推广，降权\n    - 同一账号批量发同类帖 → 推广号\n    - 连续多个帖子字数高度相似 → 疑似AI生成，降权\n    - 仅配航拍/宣传图无手机随拍 → 商业文案\n    \n    c. **评论区必看**（评论区比正文更真实）：\n    - 负面评论 \"踩坑了/不值得\" → 重点分析原因\n    - 追问回复 \"求路线/怎么去\" → 实用信息源\n    - 时间类信息 \"排队XX小时\" → 安排 buffer\n    - \"推荐XX师傅/司机\" → 可能真实，需交叉验证\n    \n    d. **可信度评级标准**：\n    \n    | 信号 | 加分 | 减分 |\n    |------|------|------|\n    | 发帖时间 ≤ 3 个月 | +2 | — |\n    | 手机随拍 + 路线描述 | +2 | — |\n    | 花费明细 | +1 | — |\n    | 有槽点/负面评价 | +1 | — |\n    | 含 \"私信/加微信\" | — | -3 |\n    | 纯航拍/宣传图 | — | -2 |\n    | 账号无历史内容 | — | -2 |\n    | 全文只夸不批 | — | -1 |\n\n3. **接收并解析轨迹文件（如有）** — 如用户发送了 GPX/KML 轨迹文件（Garmin Connect/佳明/两步路导出/Google Earth等），解析并提取：\n\n    **必须提取的数据**：\n    - 起终点 GPS 坐标（lat/lng）— 用于地图渲染，直接定位，无需地理编码\n    - 关键节点的 GPS 坐标列表（waypoints）— 存入 `hikingRoutes[].waypoints`，地图渲染时优先使用\n    - 总距离、累计爬升/下降、海拔曲线\n\n    > ⚠️ **GPX/KML 为最高优先级数据源**：当网络搜索（两步路/小红书等）的路线数据与上传的 GPX/KML 轨迹存在偏差时，**以 GPX/KML 为准**。轨迹文件是实地记录的实测数据，距离、爬升、节点坐标均以轨迹文件数据覆盖搜索结果中的估算值。\n    >\n    > 🛰️ **GPS 坐标直接用于地图渲染**：从 GPX/KML 提取的 waypoint 坐标（lat/lng）无需经过高德地理编码，直接传给 `render-itinerary-map.js --coords` 生成精确路线图。只有没有 GPX/KML 时才走地理编码流程。\n    >\n    > GPX/KML 轨迹 ≠ 实际古道路线：GPS 记录的是用户走过的实际路径，可能绕行或偏移。但即便如此，轨迹数据仍是可获得的最高精度数据源。\n\n4. **锁定大交通（核心约束）** — 飞机、高铁等大交通时间是固定锚点，一切围绕它展开\n5. **起点顺排** — 从出发地开始，按时间顺序安排每段小交通+活动\n6. **终点倒排** — 从大交通终点回推，确保每个节点时间衔接合理\n7. **安排小交通** — 城际交通、包车、公交等基于前两步的时间窗口安排\n8. **填补日常安排** — 餐饮、休息、景点等填入时间空隙\n9. **生成行程地图** — 行程确认后，使用 `hike-planner/scripts/render-itinerary-map.js` 为每日行程生成高德地图可视化链接。\n\n    **地理编码消歧义（重要）**：同一地名可能存在于多个省份（如\"姜庄子村\"），地理编码前必须附加省市区县前缀。建议传入 `destinationRegion`（如 \"北京市延庆区\"）作为定位范围，消除重名歧义，确保路线计算正确。\n\n    调用时传入节点对应的省市区县前缀，例如：\n    ```bash\n    # 格式：节点列表 | 城市 | 路线类型 | 省市区县前缀列表\n    node render-itinerary-map.js --stops=\"姜庄子村,小海坨,大海陀村\" --routeType=\"walking,walking\" --region=\"北京市延庆区,北京市延庆区,河北省赤城县\"\n    ```\n\n10. **模板完整性检查** — 行程计划文件生成完成后，调用 `hike-planner.js` 的 `validatePlan(content, trip)` 函数对照 PLAN_TEMPLATE 检查所有板块是否完整。检查项包括：6 个顶级章节（总览/每日安排/行程详情/徒步路线详情/装备清单/待办事项）、文化分类 ≥3 个、每日地图链接、装备清单表格、待办事项等。如有缺失或警告，立即补齐后重新验证。\n\n    **导航类型规范**：\n    - 🥾 徒步段 → `walking`\n    - 🚗 出租/包车/自驾 → `driving`\n    - 🚌 公交段 → `driving`\n    - 🚄 火车 / ✈️ 飞机 → 直线连接（两点间用 straight line）\n\n### 3.2 时间规划核心原则\n\n> ⚠️ **大交通是锚点，是约束，是起点也是终点**\n\n**正确顺序**：\n1. 确认大交通时间（机票/火车票）\n2. 以大交通为锚点，**倒排**当天返程活动\n3. 以大交通为锚点，**顺排**去程活动\n4. 检查各节点时间衔接是否满足最小候车/候机时间\n\n**候车/候机时间规范**：\n- 高铁站：候车不超 30 分钟为佳\n- 机场：提前 1 小时到达办理登机\n\n### 3.3 行程执行流程（出发后）\n\n```\n用户查询状态 → 查看今日计划 → 记录实际进度 → 突发应变 → 行程收尾\n```\n\n> 所有查询均为用户驱动。用户可通过 `hike-status`（概览）、`hike-today`（今日时间线+地图）、`hike-log`（记录实际信息）主动获取和更新行程状态，Skill 不进行未经请求的主动推送。\n\n### 3.4 行程收尾流程（返回后）\n\n```\n记录实际出行数据 → 与计划对比 → 文件归档到 completed 目录\n```\n\n---\n\n## 四、启动检查清单\n\n每次行程规划启动前：\n\n- [ ] 理解用户出行目的（徒步/出差/家人游/个人探索）\n- [ ] 确认时间范围、交通偏好、住宿偏好（§3.1 第一步）\n- [ ] 创建行程目录前**征得用户明确同意**（告知输出路径和数据范围）\n- [ ] 创建行程目录（格式见 §5.1）\n- [ ] 查天气确认是否合适\n- [ ] 火车票用 12306 skill 验证（§七）\n- [ ] 城际/包车段距离用 amap-lbs-skill 校验（§八）\n- [ ] **向用户说明高德地图 API 调用会传输节点名称**\n- [ ] 生成行程计划文件并**用户确认后**才写入磁盘\n\n---\n\n## 五、行程规划标准文档结构\n\n### 5.1 文件路径\n\n- 即将出行：`{outputDir}/upcoming/<destination-slug>-<YYYY-MM>/<实际标题>.md`\n- 已完成：`{outputDir}/completed/<destination-slug>-<YYYY-MM>/<实际标题>.md`\n\n**命名规则**：\n\n| 组成部分 | 规则 | 示例 |\n|---------|------|------|\n| 目录名 | `<destination-slug>-<YYYY-MM>`（pinyin/英文小写 + 连字符，日期带分隔符） | `haituo-2026-06`、`japan-tokyo-kyoto-osaka-2026-08` |\n| 文件名 | `<实际标题>.md`（文档一级标题，去 emoji，保留 `·` `→` 等合法字符） | `海坨山姜庄子村小环线出行计划.md`、`日本·东京→京都→大阪 8天行程规划.md` |\n\n**示例**：\n\n| 目录 | 计划文件 |\n|------|---------|\n| `haituo-2026-06/` | `海坨山姜庄子村小环线出行计划.md` |\n| `wutaishan-2026-06/` | `五台山出行计划.md` |\n| `japan-tokyo-kyoto-osaka-2026-08/` | `日本·东京→京都→大阪 8天行程规划.md` |\n\n### 5.2 文档模板\n\n> 完整模板见 `PLAN_TEMPLATE.md`。以下为核心结构概要，详细内容和所有占位符说明以模板文件为准。\n\n| 章节 | 说明 |\n|------|------|\n| 总览 | 日期/星期/行程概要/出行方式/班次/酒店/含早/天气 汇总表 |\n| 每日安排 | DAY N 时间线表（时间/区间/节点详情/费用/备注） + 地图链接 + 本日费用 |\n| 行程详情 | 目的地文化分类 3-5 个（地理风貌/历史渊源/人文诗词/遗存遗迹/美食特产等）。**多日行程按日扩展**，每重要活动日独立一节 |\n| 徒步路线详情 | 距离/爬升/下降/预计用时/路线类型/路线分类/关键节点/轨迹来源（GPX/KML）/轨迹地图/提示 |\n| 装备清单 | 按类型分类（鞋/衣/包/导航/水/食物/防晒/药品/证件/电子/其他） |\n| 待办事项 | 订票/订酒店/装备/保险/离线地图 |\n\n### 5.3 模板使用规范\n\n| 规范 | 说明 |\n|------|------|\n| 同一酒店多日入住 | 不需要每天退房+再入住，行李寄存前台即可，表中只写\"续住\" |\n| 费用列 | 每行记录金额，末尾汇总本日费用 |\n| 火车信息 | **必须查12306获取**，禁止留\"待补充\"等占位符 |\n| 大交通格式 | 示例：D2008（成都东07:50→剑门关09:21），二等座¥104 |\n| 每日安排 | 包含从出发到入睡的完整时间线，节点紧凑 |\n| 海外费用 | **所有费用统一换算为人民币（¥）**估算，原币种金额在备注标注（如 `¥350 / $50`）。汇率使用当前实时汇率，标注换算日期 |\n| 多日行程详情 | **多日行程需为每个重要活动日扩展独立的行程详情**（文化分类、景点介绍、诗词引用等），避免只给一个笼统的目的地概述。每日常规移动日可简并 |\n\n---\n\n## 六、行程详情内容规范\n\n### 6.1 信息分级质量标准\n\n| 类别 | 要求 | 示例 |\n|------|------|------|\n| **事实类** | 简洁、清晰、正确、可验证 | D2008 成都东07:50→剑门关09:21，二等座¥104；小娅子→断碑梁 12.7km（GPS实测） |\n| **提示类** | 保证有效性和正确性，必须验证 | ⚠️ 石洞沟、抄手铺有补给（实测有商店）；⚠️ 全程无商店需自带干粮（必须实地确认） |\n| **介绍类** | 有趣、丰富、有学习价值，引用有据可查 | 古蜀道历史、金牛道典故、诗词原文+背景、美食文化 |\n\n> ⚠️ **提示类常见错误**：\n> - 说\"全程无商店\"但沿途实际有补给点 → 必须实地确认或查看真实攻略\n> - 说\"路况良好\"但实际是野路 → 查看近期真实用户评论\n> - 说\"没有野生动物\"但当地确实有 → 查阅官方信息\n\n### 6.2 目的地详情类别（按需选用）\n\n根据目的地特性选择 3-5 个最相关的类别，按相关性排序（参考小红书/马蜂窝/百度旅游热门标签）。\n\n| 类别 | 适用场景 | 典型目的地 |\n|------|---------|---------|\n| 地理风貌 | 地形、气候、植被、景观特色 | 所有目的地 |\n| 历史渊源 | 重要历史节点、战争、人物 | 古道、关隘、战场遗址 |\n| 文化典故 | 诗词、传说、著名典故发生地、人物故事 | 蜀道、庐山、岳飞庙 |\n| 人文与诗词 | 有诗词典故的目的地 | 蜀道、庐山、长江三峡 |\n| 遗存遗迹 | 路面、驿站、关隘、古建筑、古镇 | 古道、古城、古关 |\n| 美食特产 | 特色美食、风味小吃 | 所有目的地 |\n| 世界遗产 | 世界遗产/预备项目及核心价值 | 蜀道、故宫、莫高窟 |\n| 5A级景区 | 国家5A景区核心吸引物 | 剑门关、黄山、九寨沟 |\n| 宗教文化 | 著名宗教发源地、石窟、寺庙、道观 | 五台山、武当山、敦煌 |\n| 动植物 | 珍稀物种、生态特色 | 卧龙、大熊猫基地 |\n| 地质地貌 | 丹霞、卡斯特、沙漠、冰川等特殊地貌 | 张掖丹霞、黄龙 |\n| 民俗节庆 | 当地节日、习俗、手工艺 | 少数民族地区 |\n\n> **排序规则**：结合小红书/马蜂窝/百度旅游热门标签，按相关性高的优先展示。例如蜀道优先展示：遗存遗迹 > 历史渊源 > 人文与诗词 > 世界遗产 > 美食特产\n\n### 6.3 徒步路线分类\n\n| 分类 | 定义 | 示例 |\n|------|------|------|\n| 🚶 穿越 | 起终点不同，A点进B点出 | 大觉寺→阳台山→凤凰岭 |\n| 🔄 环线 | 起点=终点，路径不重复经过已走点 | 姜庄子村→大海坨→大海陀村→姜庄子村 |\n| 🔙 往返 | 起点=终点，原路返回途经已走路线 | 大觉寺→阳台山→大觉寺 |\n\n### 6.4 诗词引用规范\n\n- 标题：**《诗词名》** — 作者（朝代）\n- 原文：使用中文引号` `` `` `包裹原文\n- 背景：1-2句话说明创作时间、地点、背景\n- 赏析（可选）：1句话点出与目的地的关联\n\n### 6.5 隐私声明\n\n> 行程规划过程中会向 Wikipedia、web_search、xiaohongshu 等第三方服务发送目的地名称及关联查询（景点、路线、美食、酒店、日期关键词）。传输内容**不包含**人员数量、订单信息、姓名、身份证等个人行程数据；仅发送与目的地内容检索相关的最小必要查询词。\n\n---\n\n## 七、火车票查询规范（强制）\n\n**所有火车票查询必须使用 `12306-train-assistant` skill**\n\n### 7.1 工具位置\n\n```\n12306-train-assistant/client.py\n```\n\n### 7.2 查询命令（无需登录）\n\n> ⚠️ 用户指定日期 → 查询指定日期；未指定 → 查询今天+明天；返程日必须明确查询。\n\n```bash\n# 1. 余票查询（默认查明天）\npython3 client.py left-ticket --date YYYY-MM-DD --from 出发站 --to 到达站\n\n# 2. 经停站查询（验证车次是否正确）\npython3 client.py route --train-code 车次号 --date YYYY-MM-DD --from 出发站 --to 到达站\n\n# 3. 中转方案查询\npython3 client.py transfer-ticket --date YYYY-MM-DD --from 出发站 --to 到达站 --limit 10\n```\n\n### 7.3 验证清单\n\n- [ ] 车次号在 12306 可查到\n- [ ] 出发/到达站匹配用户需求\n- [ ] 余票充足（或已购票）\n- [ ] 经停站合理（不要坐过站）\n- [ ] 票价与 plan 一致\n\n### 7.4 已知限制\n\n- 12306 风控触发时，换日子再试，或使用 flyai 的机票/酒店功能\n- flyai 的火车票数据**不如12306准确**（例：D2008直达误显示为需绵阳换乘），**禁止用flyai替代12306查火车**\n- 如遇风控报错，稍后重试\n\n---\n\n## 八、路线距离校验规范（强制）\n\n**所有城际/乡级交通段和徒步段距离，必须用 `amap-lbs-skill` 校验**。\n\n### 8.1 工具脚本位置\n\n```\namap-lbs-skill/scripts/route-planning.js\namap-lbs-skill/scripts/poi-search.js\n```\n\n### 8.2 步骤一：地理编码（获取各节点经纬度）\n\n```bash\ncurl -s \"https://restapi.amap.com/v3/geocode/geo?address=节点名称&city=城市名&output=JSON&key=***\"\n```\n\n### 8.3 步骤二：驾车路线规划（城际/包车段）\n\n```bash\nnode amap-lbs-skill/scripts/route-planning.js \\\n  --type=driving \\\n  --origin=经度,纬度 \\\n  --destination=经度,纬度\n```\n\n### 8.4 步骤三：步行路线规划（徒步段）\n\n```bash\nnode amap-lbs-skill/scripts/route-planning.js \\\n  --type=walking \\\n  --origin=经度,纬度 \\\n  --destination=经度,纬度\n```\n\n> ⚠️ 高德步行路线走的是现代公路网，与古道/山野徒步路线不同。\n> - 古道实测距离 **<** 高德步行距离（古道是直接山野路径，高德绕行乡村公路）\n> - 应以 plan 中标注的古道实测距离为准，高德数据用于**时间偏差参考**\n\n### 8.5 校验触发条件\n\n在以下场景**必须**执行距离校验：\n- 城际包车/班车时间存疑时\n- 徒步路线距离无实测数据时\n- 行程节点衔接时间紧张时（需要确认是否可行）\n- 用户提出\"这个时间够不够\"时\n\n---\n\n**维护**: Hike Planner\n**下次审查**: 每次重要行程规划后更新\n\nFile v3.3.4:references/PLAN_TEMPLATE.md\n\n# <目的地> 出行计划\n\n**出行日期**：YYYY年MM月DD日 - MM月DD日\n**目的地**：<地点>\n**人员**：<人数>\n\n## 总览\n\n| 日期 | 星期 | 行程概要 | 出行方式 | 班次/车牌 | 住宿酒店 | 含早 | 天气 |\n|------|------|---------|---------|---------|---------|------|------|\n| MM/DD | 周X | <一句话描述> | <交通> | <班次/包车> | <酒店名> | <是/否> | <天气/气温> |\n| MM/DD | 周X | | | | | | |\n| MM/DD | 周X | | | | | | |\n\n## 每日安排\n\n### DAY X — MM/DD（周X）：<主题>\n\n| 时间 | 区间 | 节点详情 | 费用 | 备注 |\n|------|------|---------|------|------|\n| HH:MM | 出发 → 到达 | <节点名称> | ¥XX | <交通/里程/用时> |\n| HH:MM | 交通接驳 | <包车/地铁/步行> | ¥XX | <司机电话/票价> |\n| HH:MM-HH:MM | 🥾 徒步 | 路线名 距离XXkm 爬升XXXm 预计X小时 难度★★★/★★★★★ | | 轨迹/GPX/KML |\n| HH:MM | 抵达 | <节点名称> | | <食宿/活动安排> |\n\n> 🗺️ [查看地图](<高德地图链接>)\n> 💰 本日费用：<¥XX>\n\n### DAY X — MM/DD（周X）：<主题>\n\n| 时间 | 区间 | 节点详情 | 费用 | 备注 |\n|------|------|---------|------|------|\n| | | | | |\n\n> 🗺️ [查看地图]()\n> 💰 本日费用：\n\n## 行程详情\n\n> 生成规则见 hike-planner-sop 第六节\n\n### <目的地名称>\n\n根据目的地特性选择 3-5 个最相关的文化分类，类别定义见 `hike-planner-sop.md` §6.2。\n\n### 地理风貌\n\n<检索目的地所在区域的地形地貌特征、气候类型，以及最具代表性的自然景观。2-4段话。>\n\n### 历史渊源\n\n<检索目的地相关的1-2个关键历史事件，说明时间、人物、事件意义。2-4段话。>\n\n### 人文与诗词\n\n<引用1-2首诗词原文（准确引用），说明作者、朝代、创作背景。1句话点出与目的地的关联。>\n\n### 遗存遗迹\n\n<检索目的地现存的古建筑、古道、古关、石刻等遗迹实物。2-4段话。>\n\n### 世界遗产 / 5A级景区 / 宗教文化 / 民俗节庆\n\n<根据目的地特性选择相关章节，检索核心价值和吸引物。>\n\n### 美食特产\n\n<检索目的地最具代表性的地方美食1-2种，说明食材来源、烹饪特点、觅食地点。2-3段话。>\n\n### 出行建议\n\n> 生成规则见 hike-planner-sop 第六节\n\n#### 交通建议\n\n| 交通方式 | 建议 |\n|---------|------|\n| 到达交通 | <如何到达目的地：最近机场/高铁站 + 换乘方式> |\n| 离开交通 | <如何离开：最近机场/高铁站 + 班次建议> |\n| 当地交通 | <目的地内部出行：包车/公交/打车/租车建议> |\n\n#### 网红酒店推荐\n\n| 名称 | 特色 | 参考价格 |\n|------|------|---------|\n| <酒店1> | <特色描述：位置/景观/设施/风格> | <¥XX-XX/晚> |\n| <酒店2> | <特色描述> | <¥XX-XX/晚> |\n\n#### 网红景点推荐\n\n| 名称 | 亮点 | 建议时长 |\n|------|------|---------|\n| <景点1> | <必打卡理由：摄影/历史/奇观> | <XX小时> |\n| <景点2> | <必打卡理由> | <XX小时> |\n\n#### 网红活动推荐\n\n| 活动 | 特色 | 适合人群 |\n|------|------|---------|\n| <活动1> | <当地特色体验：手工艺/民俗/户外> | <适合谁> |\n| <活动2> | <当地特色体验> | <适合谁> |\n\n## 徒步路线详情\n\n> 路线分类定义见 hike-planner-sop §6.3\n\n#### <路线名>\n\n| 项目 | 数据 |\n|------|------|\n| 距离 | <XXkm> |\n| 爬升 | <XXXm> |\n| 下降 | <XXXm> |\n| 最高海拔 | <XXXXm> |\n| 预计用时 | <X-X小时> |\n| 路线类型 | <古道/山野/景区栈道/混合> |\n| 关键节点 | <起点→节点1→...→终点> |\n| 轨迹来源 | <来源+日期（GPX/KML）> |\n| ⚠️ 提示 | <补给点/危险/注意事项> |\n\n## 装备清单\n\n> 生成规则见 hike-planner-sop\n\n| 类型 | 物品 |\n|------|------|\n| 鞋 | <徒步鞋/越野跑鞋/登山靴，根据路线类型> |\n| 衣 | <速干衣裤、冲锋衣/雨衣、保暖层、换洗衣物> |\n| 包 | <徒步背包XXL、防水罩> |\n| 导航 | <手机+离线地图、GPS设备/手表、指南针> |\n| 水 | <水袋/保温杯XXL，沿途补给点> |\n| 食物 | <路餐X顿、能量棒/坚果、电解质冲剂> |\n| 防晒 | <防晒霜SPF50+、遮阳帽、太阳镜、头巾> |\n| 药品 | <创可贴、云南白药、肠胃药、感冒药、个人药品> |\n| 证件 | <身份证、学生证/老年证（如有优惠）> |\n| 电子 | <充电宝、数据线、相机/无人机（如需）> |\n| 其他 | <登山杖、头灯/手电、急救毯、现金> |\n\n## 待办事项\n\n> 生成规则见 hike-planner-sop\n\n1. [ ] 订火车票/机票（确认出发日期和班次）\n2. [ ] 订酒店（确认入住日期和房型）\n3. [ ] 检查装备清单并补齐缺失物品\n4. [ ] 购买户外保险\n5. [ ] 下载离线地图和GPX/KML轨迹\n\n> 💡 用户可通过 `todo N done` 快速标记完成（如 `todo 1 done`）。\n\n*创建日期：YYYY-MM-DD*\n\nFile v3.3.4:skill-card.md\n\n## Description: <br>\n一站式徒步出行规划：生成含徒步路线、交通、住宿、人文和装备的完整行程计划，支持 GPX/KML 轨迹解析与地图渲染。 <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[updatedb](https://clawhub.ai/user/updatedb) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nExternal users and travel-planning agents use this skill to plan hiking trips, compare routes, assemble transportation and lodging details, parse GPX/KML tracks, and maintain local itinerary state. It is designed for user-directed planning and does not book tickets, place orders, join waitlists, or make payments. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The security summary flags under-scoped local file access and unsafe command execution paths. <br>\nMitigation: Use a dedicated output directory, avoid providing paths to unrelated private files, and review local helper command behavior before installation or execution. <br>\nRisk: The skill can persist itinerary, order, media, and route data locally. <br>\nMitigation: Store outputs in a location intended for travel planning data and review saved files before sharing or archiving them. <br>\nRisk: Generated map links and HTML can contain precise route coordinates or trip locations. <br>\nMitigation: Treat generated maps and links as sensitive location data and share them only with intended recipients. <br>\nRisk: The skill uses a sensitive Amap credential for map and geocoding workflows. <br>\nMitigation: Provide only the required AMAP_WEBSERVICE_KEY value and manage it outside shared itinerary outputs. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill page](https://clawhub.ai/updatedb/hike-planner) <br>\n- [Hike Planner SOP](references/hike-planner-sop.md) <br>\n- [Plan Template](references/PLAN_TEMPLATE.md) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, code, shell commands, configuration, guidance, files] <br>\n**Output Format:** [Markdown itinerary plans, JSON route statistics, HTML map files, and command/configuration guidance.] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [May persist itinerary state, generated plans, parsed route data, and map artifacts in the configured output directory.] <br>\n\n## Skill Version(s): <br>\n3.3.4 (source: server release metadata) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nFile v3.3.4:planner/config.json\n\n{\n  \"outputDir\": \"\",\n  \"webBaseUrl\": \"http://localhost\"\n}\n\nArchive v3.3.3: 11 files, 70189 bytes\n\nFiles: _meta.json (131b), assets/gpx-parser.py (5703b), assets/kml-parser.py (9572b), planner/config.json (57b), references/hike-planner-sop.md (20145b), references/PLAN_TEMPLATE.md (4873b), scripts/generate-track-map.py (30541b), scripts/hike-planner.js (112677b), scripts/render-itinerary-map.js (13524b), skill-card.md (2810b), SKILL.md (7915b)\n\nFile v3.3.3:SKILL.md\n\n---\nname: Hike Planner\ndescription: 一站式徒步出行规划。根据用户明确指令生成行程计划（含徒步路线/交通/住宿/人文/装备）。支持查询票务/酒店信息，不执行订票/下单/候补/支付。多源交叉验证（12306/两步路/高德/小红书/GPX/KML文件）。行程状态持久化到本地文件，编辑命令自动写入，短信解析需用户确认。\npermissions:\n  filesystem: 在用户指定的 outputDir 下读写行程状态文件\n  network: restapi.amap.com, is.autonavi.com, a.amap.com, wikipedia.org, 2bulu.com, xiaohongshu.com, bilibili.com, unpkg.com\n  environment: AMAP_WEBSERVICE_KEY\n  execution: curl, python3, node\n---\n\n# hike-planner\n\n> 从0开始逐步完善的智能行程规划工具。**需要用户明确提供出行日期、目的地和活动类型**才会开始规划。详细执行规范见 `hike-planner-sop.md`。\n\n## 能力\n\n| 能力维度 | 说明 |\n|---------|------|\n| 🚀 便捷 | 输入日期、目的地、活动类型，10 分钟内生成含大交通、酒店、徒步路线、人文介绍、装备清单的完整计划 |\n| 🔍 可靠 | 12306 / flyai 校验机票火车票，两步路 / 小红书查询路线，接受 GPX/KML 轨迹文件补充，高德地图保证里程准确 |\n| ⏱️ 精准 | 锁定大交通时间 + 锁定徒步路线时间为双锚点，按时间顺排倒排，确保节点衔接无冲突 |\n| 🗺️ 可视 | 每日行程自动生成高德地图链接，节点标注 + 交通路线一目了然。GPX/KML 轨迹渲染为交互式地图，支持多路线对比分析 |\n| 📚 有料 | 人文信息按目的地特性自动分类检索，与行程强关联（诗词对应徒步路段，美食定位补给点） |\n\n### 内置能力\n\n| 能力 | 说明 |\n|------|------|\n| 徒步路线搜索 | 两步路 + 小红书攻略 + B站视频（搜索策略详见 SOP §3.1）|\n| 行程地图渲染 | 高德地图可视化链接（依赖 amap-lbs-skill）。⚠️ 行程站点名称会通过网络发送给高德地图（Amap）API。 |\n| 人文信息收集 | Wikipedia + web_search + xiaohongshu |\n| 行程计划生成 | 按 PLAN_TEMPLATE 标准格式输出 |\n| 行中记录/行后汇总 | 实际 vs 计划对比 + 归档 |\n\n## 命令\n\n| 命令 | 说明 |\n|------|------|\n| `hike [目的地] [活动?]` | 查询目的地介绍+推荐经典徒步路线。不创建行程、不管理状态。示例：`hike 四姑娘山` |\n| `hike-init [日期] [目的地] [活动]` | 启动规划。日期/目的地/活动为必填，直接从参数解析。首次使用将征得您同意确认保存到 outputDir。示例：`hike-init 2026-06-01 古蜀道 徒步+文化探访`。若未提供完整参数则交互补问缺失项。 |\n| `hike-list` | 列出所有未完成行程；`hike-list <tripId>` 归档并汇总指定行程 |\n| `hike-select output <路径>` | 设置/切换默认输出目录（持久化到 `{skillDir}/planner/config.json`） |\n| `hike-select baseurl <URL>` | 设置 Web 基础 URL（用于轨迹地图链接，默认 `http://localhost`）。不传参数查看当前值。 |\n| `hike-select <行程名>` | 激活/选择某个行程进行管理。匹配 tripId 或目的地关键词（模糊匹配）。选择后 hike-status/today/log 都作用于该行程。 |\n| `hike-status` | 查看当前行程状态与概览（作用于 hike-select 选中的行程） |\n| `hike-log [内容]` | 记录行程最新信息：🚄 订好车票 / ✈️ 订好机票 / 🏨 订了酒店 / 💰 支出花销。粘贴 12306/航司/酒店 OTA 订单短信自动解析并更新行程。⚠️ 解析前会弹窗确认，仅提取订单关键字段（车次/航班/站点/日期），不保留原始短信全文。 |\n| `hike-today` | 查看今日计划（时间线 + 地图，作用于选中行程） |\n| `hike-add [dayN] [路线A-B]` | 添加 A-B 行程段到 DayN，后续行程自动推后 |\n| `hike-del [dayN]` | ⚠️ 删除 DayN 整个日程，立即写入磁盘且不可撤销。后续日程自动移前。 |\n| `hike-reorder [dayN] after\\|before\\|to [dayM]` | ⚠️ 重排日程顺序，立即写入磁盘。将 DayN 移到 DayM 之后/之前，或让 DayN 成为新的 DayM。 |\n| `todo [N] done` | ✅ 通过编号快速完成待办。示例：`todo 1 done`、`TODO 3 done`。 |\n\n## 示例\n\n```text\nhike 四姑娘山 徒步\n```\n\n> 纯查询模式，不创建行程。返回目的地文化介绍（地理/历史/人文/美食等 3-5 个分类）和经典徒步路线详情（路线名/距离/爬升/难度/关键节点/提示）。\n\n```text\nhike-init 2026-06-01 古蜀道 徒步+文化探访\n```\n\nAgent 交互收集需求后，自动执行搜索与生成。以「古蜀道 5/13-5/16」真实输出为例：\n\n**总览**：\n\n| 日期 | 星期 | 行程概要 | 出行方式 | 班次/车牌 | 住宿酒店 | 含早 | 天气 |\n|------|------|---------|---------|---------|---------|------|------|\n| 5/13 | 周三 | 抵达成都，逛宽窄巷子/锦里 | ✈️ | CA4117 北京→成都 | 维也纳国际酒店(成都东站) | 否 | 晴 |\n| 5/14 | 周四 | 成都东→剑门关→小娅子徒步→普安镇 | 🚄+🚗+🥾 | D2008+包车 | 剑阁瑞山酒店 | 是 | ☀️31°C/16°C |\n| 5/15 | 周五 | 汉阳镇→普安镇徒步10km | 🥾+🚗 | 包车+徒步 | 剑阁瑞山酒店 | 是 | 多云28°C/18°C |\n| 5/16 | 周六 | 拦马墙→剑门关→成都→北京 | 🥾+🚄+✈️ | D1973+CA4117 | | | 晴29°C/17°C |\n\n**DAY 3 — 5/16（周六）：拦马墙→返程北京**：\n\n| 时间 | 区间 | 节点详情 | 费用 | 备注 |\n|------|------|---------|------|------|\n| 07:00 | 起床退房 | 行李寄存前台 | | 必须早起 |\n| 07:00-07:30 | 早餐 | 酒店含早 | | |\n| 07:30-07:40 | 🚗 包车 | 酒店→拦马墙起点 | ¥30-50 | 约10min |\n| 07:40-10:10 | 🥾 徒步 | 拦马墙→普安镇（折返） | | 7.5km，约2.5h |\n| 10:10-10:30 | 取行李+简餐 | 普安镇 | ¥15 | 20min |\n| 10:30-11:00 | 🚗 包车 | 普安镇→剑门关站 | ¥80-100 | |\n| 11:00 | 到达剑门关站 | 候车29分钟 | | 🟢 刚好 |\n| 11:29-12:56 | 🚄 D1973 | 剑门关→成都东 | ¥104 | 已购票 |\n| 12:56 | 抵达成都东 | | | |\n| 13:00-15:00 | 午餐 | 苏坦土耳其餐厅（玉林店） | ¥100 | 请上海来的朋友 |\n| 15:00-15:40 | 🚇 地铁 | 东站→双流机场（7号线） | ¥8-9 | |\n| 17:00-20:00 | ✈️ CA4117 | 双流→首都T3 | 已购票 | 2h24m |\n\n> ⚠️ 时间紧，务必早起！候车不超过30分钟\n> 🗺️ [查看地图](https://a.amap.com/...)\n> 💰 本日费用：约¥300-400（包车+午餐+地铁）\n\n**徒步路线详情 — 路线二：汉阳镇→普安镇**：\n\n| 项目 | 数据 |\n|------|------|\n| 距离 | 10.05km |\n| 爬升 | 286m |\n| 下降 | 327m |\n| 预计用时 | 3.5-4小时 |\n| 路线类型 | 古道+乡村公路 |\n| 关键节点 | 汉阳镇体育中心→石洞沟→抄手铺→碑梁村→卧龙社区→普安镇 |\n| ⚠️ 提示 | 石洞沟、抄手铺有补给；抄手铺的钟婆婆抄手售咖啡 |\n\n## 外部依赖\n\n以下 Skill 为可选依赖。hike-init 启动时自动检测，若未安装则提示用户。\n\n| 依赖 | 用途 | 安装 |\n|------|------|------|\n| `12306-train-assistant` | 火车票余票/价格/时刻查询 | `npx clawhub install 12306-train-assistant` |\n| `amap-lbs-skill` | 距离/路线/地图 | `npx clawhub install amap-lbs-skill` |\n| `flyai` | 机票/酒店查询 | `npx clawhub install flyai`（安装后需到 [open.fly.ai](https://open.fly.ai/console) 获取 API Key） |\n| `xiaohongshu` | 小红书攻略搜索（需先登录） | `npx clawhub install xiaohongshu` |\n\n> 💡 hike-init 时会检测依赖可用性。缺失时提示用户安装或手动输入信息。不可用时的保底策略见 `hike-planner-sop.md`。\n\n## 不做\n\n- 🔒 自动订票 / 下单 / 支付\n\n> ⚠️ 不执行订票、下单、候补、支付等操作，但会保存行程、目的地、出行时间等信息。\n\nFile v3.3.3:_meta.json\n\n{\n  \"ownerId\": \"kn73h0b3vxspe7143ad7dk07xn822pwv\",\n  \"slug\": \"hike-planner\",\n  \"version\": \"3.3.3\",\n  \"publishedAt\": 1780044716637\n}\n\nFile v3.3.3:references/hike-planner-sop.md\n\n# Hike Planner SOP — 徒步行程规划助手\n\n**版本**: v3.1\n**创建日期**: 2026-05-14\n**最后更新**: 2026-05-29（裁剪：移除订票/购买/候补/日历/邮件/记忆/主动推送等 scope creep，不执行订票/下单/候补/支付+用户驱动原则）\n\n---\n\n## 一、职责定位\n\n**角色**: 徒步行程规划助手\n\n**核心职责**:\n- ✅ **行程前** — 根据用户明确指令规划徒步路线，查询可用的票务、酒店信息（不执行订票/下单/候补/支付），输出行程计划到本地文件\n- ✅ **行程中** — 根据用户提供的短信/订单信息更新行程状态，记录实际出行日志\n- ✅ **行程后** — 汇总实际行程数据，归档到 completed 目录\n\n> ⚠️ **文件写入规则**：\n> - `hike-init` 首次创建行程 → 弹窗确认 outputDir 后，写入状态文件 + 行程计划文件\n> - `hike-log` 含疑似短信内容 → 弹窗确认后才解析并保存\n> - `hike-add / hike-del / hike-reorder` 等编辑命令 → 用户主动操作，直接覆写行程计划文件（不弹窗，等同于\"保存\"）\n>   - ⚠️ `hike-del` 删除日程后不可撤销，建议执行前手动备份行程计划文件\n>   - ⚠️ `hike-reorder` 重排后原顺序不可恢复\n> - `hike-select output` 切换输出目录 → 用户主动命令，直接写入 `{skillDir}/planner/config.json`（不弹窗）\n> - 所有持久化文件清单：`{skillDir}/planner/config.json`（全局配置）、`{outputDir}/.hike-planner-state.json`（行程状态）、`{outputDir}/upcoming/{tripId}/{planFilename}`（行程计划）\n\n---\n\n## 二、Skills 清单\n\n| Skill | 用途 | 触发场景 |\n|-------|------|---------|\n| hike-planner 内置 | 徒步路线搜索+行程地图渲染+GPX/KML轨迹解析 | \"搜索古蜀道路线\"、\"生成行程地图\"、\"导入GPX/KML轨迹\" |\n| `12306-train-assistant` | 火车票时刻/票价/经停站查询 | \"查火车票\"、\"D2008经停站\"（**强制使用**） |\n| `amap-lbs-skill` | 距离计算、路线规划、地理编码 | \"计算两地距离\"、\"校验路线\"（**强制使用**） |\n| 'flyai','飞艾','飞猪' | 机票/酒店查询比价 | 「搜剑门附近酒店」「搜北京到成都最便宜的机票」 |\n| `weather` | 天气预报 | \"徒步那天天气如何\" |\n| `web_search` / `tavily_search` | 实时信息查询 | \"五一川西路况\" |\n\n> ⚠️ **数据源分工规则**:\n> - **火车票** → 必须用 `12306-train-assistant`（flyai 的火车数据不如12306准确，曾出现直达车误显示为需换乘的错误）\n> - **机票/酒店/景点** → `flyai`（飞猪MCP）\n> - **距离/路线** → `amap-lbs-skill`（强制，禁止用经纬度公式估算）\n> - **目的地知识** → Wikipedia + 小红书（维基百科为主，小红书补充真实用户体验）\n> - **两步路/小红书均不可用时** → 明确告知用户信息源不可用，请用户人工提供路线信息或确认搜索结果的可靠性\n> - 禁止用非官方渠道查询火车票余票/经停站\n>\n> ⚠️ 不执行订票、下单、候补、支付等操作，但会保存行程、目的地、出行时间等信息。\n>\n> ⚠️ **先检索，再撰写**：禁止捏造信息。Wikipedia 用于地理/历史/人物事实，小红书用于真实用户体验/补给点/当季路况，12306 用于火车票，flyai 用于机票/酒店，amap-lbs-skill 用于距离/路线。\n\n---\n\n## 三、完整工作流\n\n### 3.1 行程规划流程（出发前）\n\n```\n收集需求 → 锁定大交通 → 起点顺排 → 终点倒排 → 安排小交通 → 填补日常安排\n```\n\n**第一步：收集需求（必须先做）**\n\n> ⚠️ 没有需求就没有规划，需求不清不进入下一步\n\n| 信息项 | 说明 | 示例 |\n|--------|------|------|\n| 出行日期 | 出发日期+返回日期（单程可不填返回）| \"5月13日去，5月16日回\" |\n| 出发地 | 出发城市/地点 | \"北京\"、\"成都\" |\n| 目的地 | 主要目的地 | \"剑门关\"、\"古蜀道\" |\n| 返程地 | 单程可不填 | \"回北京\" |\n| 人员数量 | 出行人数 | \"2人\"、\"1大1小\" |\n| 偏好 | 交通方式/住宿/餐饮/体力分配 | \"自驾\"、\"少走路\"、\"住亚朵\" |\n\n**步骤说明**:\n\n1. **收集需求（先问清楚）** — 日期、地点、人数、偏好，不清楚时必须询问用户，不能猜测\n2. **搜索路线** — 徒步轨迹搜索为 hike-planner 内置能力。两步路为主：访问 `https://www.2bulu.com/track` 搜索轨迹（如 web_fetch 无法访问，使用 browser 工具以真实浏览器打开该链接）；小红书/B站 补充图片和视频。如有用户提供的 GPX/KML 文件，优先解析获取精确坐标和实测距离。\n\n    **小红书搜索策略（强约束）**：\n    \n    a. **关键词组合模板**（每次必须覆盖）：\n    \n    | 类别 | 搜索关键词 | 目的 |\n    |------|-----------|------|\n    | 避坑 | `<目的地> 避坑` | 提前发现常见陷阱 |\n    | 时效攻略 | `<目的地> 最新攻略 <年份>` | 获取最新路线/路况 |\n    | 天气 | `<目的地> <月份> 天气` | 季节穿衣/装备参考 |\n    | 防宰 | `<目的地> 防宰` | 物价/餐饮/交通防坑 |\n    | 物价 | `<目的地> 物价` | 预算评估 |\n    | 景点评估 | `<景点名> 值不值得去` | 是否纳入行程 |\n    \n    b. **陷阱识别规则**：\n    - 90% \"精品一日游\" 帖子是商业推广 → 看评论区 + 发帖时间筛真实内容\n    - 帖子含 \"私信/加微信/进群\" → 直接标记为推广，降权\n    - 同一账号批量发同类帖 → 推广号\n    - 连续多个帖子字数高度相似 → 疑似AI生成，降权\n    - 仅配航拍/宣传图无手机随拍 → 商业文案\n    \n    c. **评论区必看**（评论区比正文更真实）：\n    - 负面评论 \"踩坑了/不值得\" → 重点分析原因\n    - 追问回复 \"求路线/怎么去\" → 实用信息源\n    - 时间类信息 \"排队XX小时\" → 安排 buffer\n    - \"推荐XX师傅/司机\" → 可能真实，需交叉验证\n    \n    d. **可信度评级标准**：\n    \n    | 信号 | 加分 | 减分 |\n    |------|------|------|\n    | 发帖时间 ≤ 3 个月 | +2 | — |\n    | 手机随拍 + 路线描述 | +2 | — |\n    | 花费明细 | +1 | — |\n    | 有槽点/负面评价 | +1 | — |\n    | 含 \"私信/加微信\" | — | -3 |\n    | 纯航拍/宣传图 | — | -2 |\n    | 账号无历史内容 | — | -2 |\n    | 全文只夸不批 | — | -1 |\n\n3. **接收并解析轨迹文件（如有）** — 如用户发送了 GPX/KML 轨迹文件（Garmin Connect/佳明/两步路导出/Google Earth等），解析并提取：\n\n    **必须提取的数据**：\n    - 起终点 GPS 坐标（lat/lng）— 用于地图渲染，直接定位，无需地理编码\n    - 关键节点的 GPS 坐标列表（waypoints）— 存入 `hikingRoutes[].waypoints`，地图渲染时优先使用\n    - 总距离、累计爬升/下降、海拔曲线\n\n    > ⚠️ **GPX/KML 为最高优先级数据源**：当网络搜索（两步路/小红书等）的路线数据与上传的 GPX/KML 轨迹存在偏差时，**以 GPX/KML 为准**。轨迹文件是实地记录的实测数据，距离、爬升、节点坐标均以轨迹文件数据覆盖搜索结果中的估算值。\n    >\n    > 🛰️ **GPS 坐标直接用于地图渲染**：从 GPX/KML 提取的 waypoint 坐标（lat/lng）无需经过高德地理编码，直接传给 `render-itinerary-map.js --coords` 生成精确路线图。只有没有 GPX/KML 时才走地理编码流程。\n    >\n    > GPX/KML 轨迹 ≠ 实际古道路线：GPS 记录的是用户走过的实际路径，可能绕行或偏移。但即便如此，轨迹数据仍是可获得的最高精度数据源。\n\n4. **锁定大交通（核心约束）** — 飞机、高铁等大交通时间是固定锚点，一切围绕它展开\n5. **起点顺排** — 从出发地开始，按时间顺序安排每段小交通+活动\n6. **终点倒排** — 从大交通终点回推，确保每个节点时间衔接合理\n7. **安排小交通** — 城际交通、包车、公交等基于前两步的时间窗口安排\n8. **填补日常安排** — 餐饮、休息、景点等填入时间空隙\n9. **生成行程地图** — 行程确认后，使用 `hike-planner/scripts/render-itinerary-map.js` 为每日行程生成高德地图可视化链接。\n\n    **地理编码消歧义（重要）**：同一地名可能存在于多个省份（如\"姜庄子村\"），地理编码前必须附加省市区县前缀。建议传入 `destinationRegion`（如 \"北京市延庆区\"）作为定位范围，消除重名歧义，确保路线计算正确。\n\n    调用时传入节点对应的省市区县前缀，例如：\n    ```bash\n    # 格式：节点列表 | 城市 | 路线类型 | 省市区县前缀列表\n    node render-itinerary-map.js --stops=\"姜庄子村,小海坨,大海陀村\" --routeType=\"walking,walking\" --region=\"北京市延庆区,北京市延庆区,河北省赤城县\"\n    ```\n\n10. **模板完整性检查** — 行程计划文件生成完成后，调用 `hike-planner.js` 的 `validatePlan(content, trip)` 函数对照 PLAN_TEMPLATE 检查所有板块是否完整。检查项包括：6 个顶级章节（总览/每日安排/行程详情/徒步路线详情/装备清单/待办事项）、文化分类 ≥3 个、每日地图链接、装备清单表格、待办事项等。如有缺失或警告，立即补齐后重新验证。\n\n    **导航类型规范**：\n    - 🥾 徒步段 → `walking`\n    - 🚗 出租/包车/自驾 → `driving`\n    - 🚌 公交段 → `driving`\n    - 🚄 火车 / ✈️ 飞机 → 直线连接（两点间用 straight line）\n\n### 3.2 时间规划核心原则\n\n> ⚠️ **大交通是锚点，是约束，是起点也是终点**\n\n**正确顺序**：\n1. 确认大交通时间（机票/火车票）\n2. 以大交通为锚点，**倒排**当天返程活动\n3. 以大交通为锚点，**顺排**去程活动\n4. 检查各节点时间衔接是否满足最小候车/候机时间\n\n**候车/候机时间规范**：\n- 高铁站：候车不超 30 分钟为佳\n- 机场：提前 1 小时到达办理登机\n\n### 3.3 行程执行流程（出发后）\n\n```\n用户查询状态 → 查看今日计划 → 记录实际进度 → 突发应变 → 行程收尾\n```\n\n> 所有查询均为用户驱动。用户可通过 `hike-status`（概览）、`hike-today`（今日时间线+地图）、`hike-log`（记录实际信息）主动获取和更新行程状态，Skill 不进行未经请求的主动推送。\n\n### 3.4 行程收尾流程（返回后）\n\n```\n记录实际出行数据 → 与计划对比 → 文件归档到 completed 目录\n```\n\n---\n\n## 四、启动检查清单\n\n每次行程规划启动前：\n\n- [ ] 理解用户出行目的（徒步/出差/家人游/个人探索）\n- [ ] 确认时间范围、交通偏好、住宿偏好（§3.1 第一步）\n- [ ] 创建行程目录前**征得用户明确同意**（告知输出路径和数据范围）\n- [ ] 创建行程目录（格式见 §5.1）\n- [ ] 查天气确认是否合适\n- [ ] 火车票用 12306 skill 验证（§七）\n- [ ] 城际/包车段距离用 amap-lbs-skill 校验（§八）\n- [ ] **向用户说明高德地图 API 调用会传输节点名称**\n- [ ] 生成行程计划文件并**用户确认后**才写入磁盘\n\n---\n\n## 五、行程规划标准文档结构\n\n### 5.1 文件路径\n\n- 即将出行：`{outputDir}/upcoming/<destination-slug>-<YYYY-MM>/<实际标题>.md`\n- 已完成：`{outputDir}/completed/<destination-slug>-<YYYY-MM>/<实际标题>.md`\n\n**命名规则**：\n\n| 组成部分 | 规则 | 示例 |\n|---------|------|------|\n| 目录名 | `<destination-slug>-<YYYY-MM>`（pinyin/英文小写 + 连字符，日期带分隔符） | `haituo-2026-06`、`japan-tokyo-kyoto-osaka-2026-08` |\n| 文件名 | `<实际标题>.md`（文档一级标题，去 emoji，保留 `·` `→` 等合法字符） | `海坨山姜庄子村小环线出行计划.md`、`日本·东京→京都→大阪 8天行程规划.md` |\n\n**示例**：\n\n| 目录 | 计划文件 |\n|------|---------|\n| `haituo-2026-06/` | `海坨山姜庄子村小环线出行计划.md` |\n| `wutaishan-2026-06/` | `五台山出行计划.md` |\n| `japan-tokyo-kyoto-osaka-2026-08/` | `日本·东京→京都→大阪 8天行程规划.md` |\n\n### 5.2 文档模板\n\n> 完整模板见 `PLAN_TEMPLATE.md`。以下为核心结构概要，详细内容和所有占位符说明以模板文件为准。\n\n| 章节 | 说明 |\n|------|------|\n| 总览 | 日期/星期/行程概要/出行方式/班次/酒店/含早/天气 汇总表 |\n| 每日安排 | DAY N 时间线表（时间/区间/节点详情/费用/备注） + 地图链接 + 本日费用 |\n| 行程详情 | 目的地文化分类 3-5 个（地理风貌/历史渊源/人文诗词/遗存遗迹/美食特产等）。**多日行程按日扩展**，每重要活动日独立一节 |\n| 徒步路线详情 | 距离/爬升/下降/预计用时/路线类型/路线分类/关键节点/轨迹来源（GPX/KML）/轨迹地图/提示 |\n| 装备清单 | 按类型分类（鞋/衣/包/导航/水/食物/防晒/药品/证件/电子/其他） |\n| 待办事项 | 订票/订酒店/装备/保险/离线地图 |\n\n### 5.3 模板使用规范\n\n| 规范 | 说明 |\n|------|------|\n| 同一酒店多日入住 | 不需要每天退房+再入住，行李寄存前台即可，表中只写\"续住\" |\n| 费用列 | 每行记录金额，末尾汇总本日费用 |\n| 火车信息 | **必须查12306获取**，禁止留\"待补充\"等占位符 |\n| 大交通格式 | 示例：D2008（成都东07:50→剑门关09:21），二等座¥104 |\n| 每日安排 | 包含从出发到入睡的完整时间线，节点紧凑 |\n| 海外费用 | **所有费用统一换算为人民币（¥）**估算，原币种金额在备注标注（如 `¥350 / $50`）。汇率使用当前实时汇率，标注换算日期 |\n| 多日行程详情 | **多日行程需为每个重要活动日扩展独立的行程详情**（文化分类、景点介绍、诗词引用等），避免只给一个笼统的目的地概述。每日常规移动日可简并 |\n\n---\n\n## 六、行程详情内容规范\n\n### 6.1 信息分级质量标准\n\n| 类别 | 要求 | 示例 |\n|------|------|------|\n| **事实类** | 简洁、清晰、正确、可验证 | D2008 成都东07:50→剑门关09:21，二等座¥104；小娅子→断碑梁 12.7km（GPS实测） |\n| **提示类** | 保证有效性和正确性，必须验证 | ⚠️ 石洞沟、抄手铺有补给（实测有商店）；⚠️ 全程无商店需自带干粮（必须实地确认） |\n| **介绍类** | 有趣、丰富、有学习价值，引用有据可查 | 古蜀道历史、金牛道典故、诗词原文+背景、美食文化 |\n\n> ⚠️ **提示类常见错误**：\n> - 说\"全程无商店\"但沿途实际有补给点 → 必须实地确认或查看真实攻略\n> - 说\"路况良好\"但实际是野路 → 查看近期真实用户评论\n> - 说\"没有野生动物\"但当地确实有 → 查阅官方信息\n\n### 6.2 目的地详情类别（按需选用）\n\n根据目的地特性选择 3-5 个最相关的类别，按相关性排序（参考小红书/马蜂窝/百度旅游热门标签）。\n\n| 类别 | 适用场景 | 典型目的地 |\n|------|---------|---------|\n| 地理风貌 | 地形、气候、植被、景观特色 | 所有目的地 |\n| 历史渊源 | 重要历史节点、战争、人物 | 古道、关隘、战场遗址 |\n| 文化典故 | 诗词、传说、著名典故发生地、人物故事 | 蜀道、庐山、岳飞庙 |\n| 人文与诗词 | 有诗词典故的目的地 | 蜀道、庐山、长江三峡 |\n| 遗存遗迹 | 路面、驿站、关隘、古建筑、古镇 | 古道、古城、古关 |\n| 美食特产 | 特色美食、风味小吃 | 所有目的地 |\n| 世界遗产 | 世界遗产/预备项目及核心价值 | 蜀道、故宫、莫高窟 |\n| 5A级景区 | 国家5A景区核心吸引物 | 剑门关、黄山、九寨沟 |\n| 宗教文化 | 著名宗教发源地、石窟、寺庙、道观 | 五台山、武当山、敦煌 |\n| 动植物 | 珍稀物种、生态特色 | 卧龙、大熊猫基地 |\n| 地质地貌 | 丹霞、卡斯特、沙漠、冰川等特殊地貌 | 张掖丹霞、黄龙 |\n| 民俗节庆 | 当地节日、习俗、手工艺 | 少数民族地区 |\n\n> **排序规则**：结合小红书/马蜂窝/百度旅游热门标签，按相关性高的优先展示。例如蜀道优先展示：遗存遗迹 > 历史渊源 > 人文与诗词 > 世界遗产 > 美食特产\n\n### 6.3 徒步路线分类\n\n| 分类 | 定义 | 示例 |\n|------|------|------|\n| 🚶 穿越 | 起终点不同，A点进B点出 | 大觉寺→阳台山→凤凰岭 |\n| 🔄 环线 | 起点=终点，路径不重复经过已走点 | 姜庄子村→大海坨→大海陀村→姜庄子村 |\n| 🔙 往返 | 起点=终点，原路返回途经已走路线 | 大觉寺→阳台山→大觉寺 |\n\n### 6.4 诗词引用规范\n\n- 标题：**《诗词名》** — 作者（朝代）\n- 原文：使用中文引号` `` `` `包裹原文\n- 背景：1-2句话说明创作时间、地点、背景\n- 赏析（可选）：1句话点出与目的地的关联\n\n### 6.5 隐私声明\n\n> 行程规划过程中会向 Wikipedia、web_search、xiaohongshu 等第三方服务发送目的地名称及关联查询（景点、路线、美食、酒店、日期关键词）。传输内容**不包含**人员数量、订单信息、姓名、身份证等个人行程数据；仅发送与目的地内容检索相关的最小必要查询词。\n\n---\n\n## 七、火车票查询规范（强制）\n\n**所有火车票查询必须使用 `12306-train-assistant` skill**\n\n### 7.1 工具位置\n\n```\n12306-train-assistant/client.py\n```\n\n### 7.2 查询命令（无需登录）\n\n> ⚠️ 用户指定日期 → 查询指定日期；未指定 → 查询今天+明天；返程日必须明确查询。\n\n```bash\n# 1. 余票查询（默认查明天）\npython3 client.py left-ticket --date YYYY-MM-DD --from 出发站 --to 到达站\n\n# 2. 经停站查询（验证车次是否正确）\npython3 client.py route --train-code 车次号 --date YYYY-MM-DD --from 出发站 --to 到达站\n\n# 3. 中转方案查询\npython3 client.py transfer-ticket --date YYYY-MM-DD --from 出发站 --to 到达站 --limit 10\n```\n\n### 7.3 验证清单\n\n- [ ] 车次号在 12306 可查到\n- [ ] 出发/到达站匹配用户需求\n- [ ] 余票充足（或已购票）\n- [ ] 经停站合理（不要坐过站）\n- [ ] 票价与 plan 一致\n\n### 7.4 已知限制\n\n- 12306 风控触发时，换日子再试，或使用 flyai 的机票/酒店功能\n- flyai 的火车票数据**不如12306准确**（例：D2008直达误显示为需绵阳换乘），**禁止用flyai替代12306查火车**\n- 如遇风控报错，稍后重试\n\n---\n\n## 八、路线距离校验规范（强制）\n\n**所有城际/乡级交通段和徒步段距离，必须用 `amap-lbs-skill` 校验**。\n\n### 8.1 工具脚本位置\n\n```\namap-lbs-skill/scripts/route-planning.js\namap-lbs-skill/scripts/poi-search.js\n```\n\n### 8.2 步骤一：地理编码（获取各节点经纬度）\n\n```bash\ncurl -s \"https://restapi.amap.com/v3/geocode/geo?address=节点名称&city=城市名&output=JSON&key=***\"\n```\n\n### 8.3 步骤二：驾车路线规划（城际/包车段）\n\n```bash\nnode amap-lbs-skill/scripts/route-planning.js \\\n  --type=driving \\\n  --origin=经度,纬度 \\\n  --destination=经度,纬度\n```\n\n### 8.4 步骤三：步行路线规划（徒步段）\n\n```bash\nnode amap-lbs-skill/scripts/route-planning.js \\\n  --type=walking \\\n  --origin=经度,纬度 \\\n  --destination=经度,纬度\n```\n\n> ⚠️ 高德步行路线走的是现代公路网，与古道/山野徒步路线不同。\n> - 古道实测距离 **<** 高德步行距离（古道是直接山野路径，高德绕行乡村公路）\n> - 应以 plan 中标注的古道实测距离为准，高德数据用于**时间偏差参考**\n\n### 8.5 校验触发条件\n\n在以下场景**必须**执行距离校验：\n- 城际包车/班车时间存疑时\n- 徒步路线距离无实测数据时\n- 行程节点衔接时间紧张时（需要确认是否可行）\n- 用户提出\"这个时间够不够\"时\n\n---\n\n**维护**: Hike Planner\n**下次审查**: 每次重要行程规划后更新\n\nFile v3.3.3:references/PLAN_TEMPLATE.md\n\n# <目的地> 出行计划\n\n**出行日期**：YYYY年MM月DD日 - MM月DD日\n**目的地**：<地点>\n**人员**：<人数>\n\n## 总览\n\n| 日期 | 星期 | 行程概要 | 出行方式 | 班次/车牌 | 住宿酒店 | 含早 | 天气 |\n|------|------|---------|---------|---------|---------|------|------|\n| MM/DD | 周X | <一句话描述> | <交通> | <班次/包车> | <酒店名> | <是/否> | <天气/气温> |\n| MM/DD | 周X | | | | | | |\n| MM/DD | 周X | | | | | | |\n\n## 每日安排\n\n### DAY X — MM/DD（周X）：<主题>\n\n| 时间 | 区间 | 节点详情 | 费用 | 备注 |\n|------|------|---------|------|------|\n| HH:MM | 出发 → 到达 | <节点名称> | ¥XX | <交通/里程/用时> |\n| HH:MM | 交通接驳 | <包车/地铁/步行> | ¥XX | <司机电话/票价> |\n| HH:MM-HH:MM | 🥾 徒步 | 路线名 距离XXkm 爬升XXXm 预计X小时 难度★★★/★★★★★ | | 轨迹/GPX/KML |\n| HH:MM | 抵达 | <节点名称> | | <食宿/活动安排> |\n\n> 🗺️ [查看地图](<高德地图链接>)\n> 💰 本日费用：<¥XX>\n\n### DAY X — MM/DD（周X）：<主题>\n\n| 时间 | 区间 | 节点详情 | 费用 | 备注 |\n|------|------|---------|------|------|\n| | | | | |\n\n> 🗺️ [查看地图]()\n> 💰 本日费用：\n\n## 行程详情\n\n> 生成规则见 hike-planner-sop 第六节\n\n### <目的地名称>\n\n根据目的地特性选择 3-5 个最相关的文化分类，类别定义见 `hike-planner-sop.md` §6.2。\n\n### 地理风貌\n\n<检索目的地所在区域的地形地貌特征、气候类型，以及最具代表性的自然景观。2-4段话。>\n\n### 历史渊源\n\n<检索目的地相关的1-2个关键历史事件，说明时间、人物、事件意义。2-4段话。>\n\n### 人文与诗词\n\n<引用1-2首诗词原文（准确引用），说明作者、朝代、创作背景。1句话点出与目的地的关联。>\n\n### 遗存遗迹\n\n<检索目的地现存的古建筑、古道、古关、石刻等遗迹实物。2-4段话。>\n\n### 世界遗产 / 5A级景区 / 宗教文化 / 民俗节庆\n\n<根据目的地特性选择相关章节，检索核心价值和吸引物。>\n\n### 美食特产\n\n<检索目的地最具代表性的地方美食1-2种，说明食材来源、烹饪特点、觅食地点。2-3段话。>\n\n### 出行建议\n\n> 生成规则见 hike-planner-sop 第六节\n\n#### 交通建议\n\n| 交通方式 | 建议 |\n|---------|------|\n| 到达交通 | <如何到达目的地：最近机场/高铁站 + 换乘方式> |\n| 离开交通 | <如何离开：最近机场/高铁站 + 班次建议> |\n| 当地交通 | <目的地内部出行：包车/公交/打车/租车建议> |\n\n#### 网红酒店推荐\n\n| 名称 | 特色 | 参考价格 |\n|------|------|---------|\n| <酒店1> | <特色描述：位置/景观/设施/风格> | <¥XX-XX/晚> |\n| <酒店2> | <特色描述> | <¥XX-XX/晚> |\n\n#### 网红景点推荐\n\n| 名称 | 亮点 | 建议时长 |\n|------|------|---------|\n| <景点1> | <必打卡理由：摄影/历史/奇观> | <XX小时> |\n| <景点2> | <必打卡理由> | <XX小时> |\n\n#### 网红活动推荐\n\n| 活动 | 特色 | 适合人群 |\n|------|------|---------|\n| <活动1> | <当地特色体验：手工艺/民俗/户外> | <适合谁> |\n| <活动2> | <当地特色体验> | <适合谁> |\n\n## 徒步路线详情\n\n> 路线分类定义见 hike-planner-sop §6.3\n\n#### <路线名>\n\n| 项目 | 数据 |\n|------|------|\n| 距离 | <XXkm> |\n| 爬升 | <XXXm> |\n| 下降 | <XXXm> |\n| 最高海拔 | <XXXXm> |\n| 预计用时 | <X-X小时> |\n| 路线类型 | <古道/山野/景区栈道/混合> |\n| 关键节点 | <起点→节点1→...→终点> |\n| 轨迹来源 | <来源+日期（GPX/KML）> |\n| ⚠️ 提示 | <补给点/危险/注意事项> |\n\n## 装备清单\n\n> 生成规则见 hike-planner-sop\n\n| 类型 | 物品 |\n|------|------|\n| 鞋 | <徒步鞋/越野跑鞋/登山靴，根据路线类型> |\n| 衣 | <速干衣裤、冲锋衣/雨衣、保暖层、换洗衣物> |\n| 包 | <徒步背包XXL、防水罩> |\n| 导航 | <手机+离线地图、GPS设备/手表、指南针> |\n| 水 | <水袋/保温杯XXL，沿途补给点> |\n| 食物 | <路餐X顿、能量棒/坚果、电解质冲剂> |\n| 防晒 | <防晒霜SPF50+、遮阳帽、太阳镜、头巾> |\n| 药品 | <创可贴、云南白药、肠胃药、感冒药、个人药品> |\n| 证件 | <身份证、学生证/老年证（如有优惠）> |\n| 电子 | <充电宝、数据线、相机/无人机（如需）> |\n| 其他 | <登山杖、头灯/手电、急救毯、现金> |\n\n## 待办事项\n\n> 生成规则见 hike-planner-sop\n\n1. [ ] 订火车票/机票（确认出发日期和班次）\n2. [ ] 订酒店（确认入住日期和房型）\n3. [ ] 检查装备清单并补齐缺失物品\n4. [ ] 购买户外保险\n5. [ ] 下载离线地图和GPX/KML轨迹\n\n> 💡 用户可通过 `todo N done` 快速标记完成（如 `todo 1 done`）。\n\n*创建日期：YYYY-MM-DD*\n\nFile v3.3.3:skill-card.md\n\n## Description: <br>\n一站式徒步出行规划。根据用户明确指令生成行程计划（含徒步路线/交通/住宿/人文/装备）。支持查询票务/酒店信息，不执行订票/下单/候补/支付。多源交叉验证（12306/两步路/高德/小红书/GPX/KML文件）。行程状态持久化到本地文件，编辑命令自动写入，短信解析需用户确认。 <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[updatedb](https://clawhub.ai/user/updatedb) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nExternal users and travel-planning agents use this skill to plan hiking trips, compare routes, collect transport and lodging options, generate itinerary files, and update trip status from user-provided information. It is designed for planning and record keeping only, not for booking, purchasing, waitlisting, or payment. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The skill runs shell commands with user-influenced trip and file data. <br>\nMitigation: Review before installation and execution; prefer safe argument-array command execution before deployment. <br>\nRisk: Trip state, uploaded route/media files, and generated artifacts may persist in the configured output directory. <br>\nMitigation: Use a private output directory and avoid uploading sensitive images or documents unless retention and deletion expectations are clear. <br>\nRisk: Generated map HTML and route rendering can load third-party map or CDN resources. <br>\nMitigation: Treat map outputs as third-party-resource content and review network exposure before sharing or opening them in sensitive environments. <br>\n\n\n## Reference(s): <br>\n- [Hike Planner SOP](references/hike-planner-sop.md) <br>\n- [Plan Template](references/PLAN_TEMPLATE.md) <br>\n- [ClawHub Skill Page](https://clawhub.ai/updatedb/hike-planner) <br>\n- [Publisher Profile](https://clawhub.ai/user/updatedb) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, files, shell commands, configuration, guidance] <br>\n**Output Format:** [Markdown itinerary plans, text status summaries, map links, and local JSON/HTML trip artifacts] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [May read and write trip state under a configured output directory, call external travel/map sources, and require AMAP_WEBSERVICE_KEY for map rendering.] <br>\n\n## Skill Version(s): <br>\n3.3.3 (source: server release metadata) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nFile v3.3.3:planner/config.json\n\n{\n  \"outputDir\": \"\",\n  \"webBaseUrl\": \"http://localhost\"\n}\n\nArchive v3.3.2: 11 files, 69967 bytes\n\nFiles: _meta.json (131b), assets/gpx-parser.py (5703b), assets/kml-parser.py (9572b), planner/config.json (57b), references/hike-planner-sop.md (20145b), references/PLAN_TEMPLATE.md (4873b), scripts/generate-track-map.py (30323b), scripts/hike-planner.js (112677b), scripts/render-itinerary-map.js (13524b), skill-card.md (2845b), SKILL.md (7915b)\n\nFile v3.3.2:SKILL.md\n\n---\nname: Hike Planner\ndescription: 一站式徒步出行规划。根据用户明确指令生成行程计划（含徒步路线/交通/住宿/人文/装备）。支持查询票务/酒店信息，不执行订票/下单/候补/支付。多源交叉验证（12306/两步路/高德/小红书/GPX/KML文件）。行程状态持久化到本地文件，编辑命令自动写入，短信解析需用户确认。\npermissions:\n  filesystem: 在用户指定的 outputDir 下读写行程状态文件\n  network: restapi.amap.com, is.autonavi.com, a.amap.com, wikipedia.org, 2bulu.com, xiaohongshu.com, bilibili.com, unpkg.com\n  environment: AMAP_WEBSERVICE_KEY\n  execution: curl, python3, node\n---\n\n# hike-planner\n\n> 从0开始逐步完善的智能行程规划工具。**需要用户明确提供出行日期、目的地和活动类型**才会开始规划。详细执行规范见 `hike-planner-sop.md`。\n\n## 能力\n\n| 能力维度 | 说明 |\n|---------|------|\n| 🚀 便捷 | 输入日期、目的地、活动类型，10 分钟内生成含大交通、酒店、徒步路线、人文介绍、装备清单的完整计划 |\n| 🔍 可靠 | 12306 / flyai 校验机票火车票，两步路 / 小红书查询路线，接受 GPX/KML 轨迹文件补充，高德地图保证里程准确 |\n| ⏱️ 精准 | 锁定大交通时间 + 锁定徒步路线时间为双锚点，按时间顺排倒排，确保节点衔接无冲突 |\n| 🗺️ 可视 | 每日行程自动生成高德地图链接，节点标注 + 交通路线一目了然。GPX/KML 轨迹渲染为交互式地图，支持多路线对比分析 |\n| 📚 有料 | 人文信息按目的地特性自动分类检索，与行程强关联（诗词对应徒步路段，美食定位补给点） |\n\n### 内置能力\n\n| 能力 | 说明 |\n|------|------|\n| 徒步路线搜索 | 两步路 + 小红书攻略 + B站视频（搜索策略详见 SOP §3.1）|\n| 行程地图渲染 | 高德地图可视化链接（依赖 amap-lbs-skill）。⚠️ 行程站点名称会通过网络发送给高德地图（Amap）API。 |\n| 人文信息收集 | Wikipedia + web_search + xiaohongshu |\n| 行程计划生成 | 按 PLAN_TEMPLATE 标准格式输出 |\n| 行中记录/行后汇总 | 实际 vs 计划对比 + 归档 |\n\n## 命令\n\n| 命令 | 说明 |\n|------|------|\n| `hike [目的地] [活动?]` | 查询目的地介绍+推荐经典徒步路线。不创建行程、不管理状态。示例：`hike 四姑娘山` |\n| `hike-init [日期] [目的地] [活动]` | 启动规划。日期/目的地/活动为必填，直接从参数解析。首次使用将征得您同意确认保存到 outputDir。示例：`hike-init 2026-06-01 古蜀道 徒步+文化探访`。若未提供完整参数则交互补问缺失项。 |\n| `hike-list` | 列出所有未完成行程；`hike-list <tripId>` 归档并汇总指定行程 |\n| `hike-select output <路径>` | 设置/切换默认输出目录（持久化到 `{skillDir}/planner/config.json`） |\n| `hike-select baseurl <URL>` | 设置 Web 基础 URL（用于轨迹地图链接，默认 `http://localhost`）。不传参数查看当前值。 |\n| `hike-select <行程名>` | 激活/选择某个行程进行管理。匹配 tripId 或目的地关键词（模糊匹配）。选择后 hike-status/today/log 都作用于该行程。 |\n| `hike-status` | 查看当前行程状态与概览（作用于 hike-select 选中的行程） |\n| `hike-log [内容]` | 记录行程最新信息：🚄 订好车票 / ✈️ 订好机票 / 🏨 订了酒店 / 💰 支出花销。粘贴 12306/航司/酒店 OTA 订单短信自动解析并更新行程。⚠️ 解析前会弹窗确认，仅提取订单关键字段（车次/航班/站点/日期），不保留原始短信全文。 |\n| `hike-today` | 查看今日计划（时间线 + 地图，作用于选中行程） |\n| `hike-add [dayN] [路线A-B]` | 添加 A-B 行程段到 DayN，后续行程自动推后 |\n| `hike-del [dayN]` | ⚠️ 删除 DayN 整个日程，立即写入磁盘且不可撤销。后续日程自动移前。 |\n| `hike-reorder [dayN] after\\|before\\|to [dayM]` | ⚠️ 重排日程顺序，立即写入磁盘。将 DayN 移到 DayM 之后/之前，或让 DayN 成为新的 DayM。 |\n| `todo [N] done` | ✅ 通过编号快速完成待办。示例：`todo 1 done`、`TODO 3 done`。 |\n\n## 示例\n\n```text\nhike 四姑娘山 徒步\n```\n\n> 纯查询模式，不创建行程。返回目的地文化介绍（地理/历史/人文/美食等 3-5 个分类）和经典徒步路线详情（路线名/距离/爬升/难度/关键节点/提示）。\n\n```text\nhike-init 2026-06-01 古蜀道 徒步+文化探访\n```\n\nAgent 交互收集需求后，自动执行搜索与生成。以「古蜀道 5/13-5/16」真实输出为例：\n\n**总览**：\n\n| 日期 | 星期 | 行程概要 | 出行方式 | 班次/车牌 | 住宿酒店 | 含早 | 天气 |\n|------|------|---------|---------|---------|---------|------|------|\n| 5/13 | 周三 | 抵达成都，逛宽窄巷子/锦里 | ✈️ | CA4117 北京→成都 | 维也纳国际酒店(成都东站) | 否 | 晴 |\n| 5/14 | 周四 | 成都东→剑门关→小娅子徒步→普安镇 | 🚄+🚗+🥾 | D2008+包车 | 剑阁瑞山酒店 | 是 | ☀️31°C/16°C |\n| 5/15 | 周五 | 汉阳镇→普安镇徒步10km | 🥾+🚗 | 包车+徒步 | 剑阁瑞山酒店 | 是 | 多云28°C/18°C |\n| 5/16 | 周六 | 拦马墙→剑门关→成都→北京 | 🥾+🚄+✈️ | D1973+CA4117 | | | 晴29°C/17°C |\n\n**DAY 3 — 5/16（周六）：拦马墙→返程北京**：\n\n| 时间 | 区间 | 节点详情 | 费用 | 备注 |\n|------|------|---------|------|------|\n| 07:00 | 起床退房 | 行李寄存前台 | | 必须早起 |\n| 07:00-07:30 | 早餐 | 酒店含早 | | |\n| 07:30-07:40 | 🚗 包车 | 酒店→拦马墙起点 | ¥30-50 | 约10min |\n| 07:40-10:10 | 🥾 徒步 | 拦马墙→普安镇（折返） | | 7.5km，约2.5h |\n| 10:10-10:30 | 取行李+简餐 | 普安镇 | ¥15 | 20min |\n| 10:30-11:00 | 🚗 包车 | 普安镇→剑门关站 | ¥80-100 | |\n| 11:00 | 到达剑门关站 | 候车29分钟 | | 🟢 刚好 |\n| 11:29-12:56 | 🚄 D1973 | 剑门关→成都东 | ¥104 | 已购票 |\n| 12:56 | 抵达成都东 | | | |\n| 13:00-15:00 | 午餐 | 苏坦土耳其餐厅（玉林店） | ¥100 | 请上海来的朋友 |\n| 15:00-15:40 | 🚇 地铁 | 东站→双流机场（7号线） | ¥8-9 | |\n| 17:00-20:00 | ✈️ CA4117 | 双流→首都T3 | 已购票 | 2h24m |\n\n> ⚠️ 时间紧，务必早起！候车不超过30分钟\n> 🗺️ [查看地图](https://a.amap.com/...)\n> 💰 本日费用：约¥300-400（包车+午餐+地铁）\n\n**徒步路线详情 — 路线二：汉阳镇→普安镇**：\n\n| 项目 | 数据 |\n|------|------|\n| 距离 | 10.05km |\n| 爬升 | 286m |\n| 下降 | 327m |\n| 预计用时 | 3.5-4小时 |\n| 路线类型 | 古道+乡村公路 |\n| 关键节点 | 汉阳镇体育中心→石洞沟→抄手铺→碑梁村→卧龙社区→普安镇 |\n| ⚠️ 提示 | 石洞沟、抄手铺有补给；抄手铺的钟婆婆抄手售咖啡 |\n\n## 外部依赖\n\n以下 Skill 为可选依赖。hike-init 启动时自动检测，若未安装则提示用户。\n\n| 依赖 | 用途 | 安装 |\n|------|------|------|\n| `12306-train-assistant` | 火车票余票/价格/时刻查询 | `npx clawhub install 12306-train-assistant` |\n| `amap-lbs-skill` | 距离/路线/地图 | `npx clawhub install amap-lbs-skill` |\n| `flyai` | 机票/酒店查询 | `npx clawhub install flyai`（安装后需到 [open.fly.ai](https://open.fly.ai/console) 获取 API Key） |\n| `xiaohongshu` | 小红书攻略搜索（需先登录） | `npx clawhub install xiaohongshu` |\n\n> 💡 hike-init 时会检测依赖可用性。缺失时提示用户安装或手动输入信息。不可用时的保底策略见 `hike-planner-sop.md`。\n\n## 不做\n\n- 🔒 自动订票 / 下单 / 支付\n\n> ⚠️ 不执行订票、下单、候补、支付等操作，但会保存行程、目的地、出行时间等信息。\n\nFile v3.3.2:_meta.json\n\n{\n  \"ownerId\": \"kn73h0b3vxspe7143ad7dk07xn822pwv\",\n  \"slug\": \"hike-planner\",\n  \"version\": \"3.3.2\",\n  \"publishedAt\": 1780043288037\n}\n\nFile v3.3.2:references/hike-planner-sop.md\n\n# Hike Planner SOP — 徒步行程规划助手\n\n**版本**: v3.1\n**创建日期**: 2026-05-14\n**最后更新**: 2026-05-29（裁剪：移除订票/购买/候补/日历/邮件/记忆/主动推送等 scope creep，不执行订票/下单/候补/支付+用户驱动原则）\n\n---\n\n## 一、职责定位\n\n**角色**: 徒步行程规划助手\n\n**核心职责**:\n- ✅ **行程前** — 根据用户明确指令规划徒步路线，查询可用的票务、酒店信息（不执行订票/下单/候补/支付），输出行程计划到本地文件\n- ✅ **行程中** — 根据用户提供的短信/订单信息更新行程状态，记录实际出行日志\n- ✅ **行程后** — 汇总实际行程数据，归档到 completed 目录\n\n> ⚠️ **文件写入规则**：\n> - `hike-init` 首次创建行程 → 弹窗确认 outputDir 后，写入状态文件 + 行程计划文件\n> - `hike-log` 含疑似短信内容 → 弹窗确认后才解析并保存\n> - `hike-add / hike-del / hike-reorder` 等编辑命令 → 用户主动操作，直接覆写行程计划文件（不弹窗，等同于\"保存\"）\n>   - ⚠️ `hike-del` 删除日程后不可撤销，建议执行前手动备份行程计划文件\n>   - ⚠️ `hike-reorder` 重排后原顺序不可恢复\n> - `hike-select output` 切换输出目录 → 用户主动命令，直接写入 `{skillDir}/planner/config.json`（不弹窗）\n> - 所有持久化文件清单：`{skillDir}/planner/config.json`（全局配置）、`{outputDir}/.hike-planner-state.json`（行程状态）、`{outputDir}/upcoming/{tripId}/{planFilename}`（行程计划）\n\n---\n\n## 二、Skills 清单\n\n| Skill | 用途 | 触发场景 |\n|-------|------|---------|\n| hike-planner 内置 | 徒步路线搜索+行程地图渲染+GPX/KML轨迹解析 | \"搜索古蜀道路线\"、\"生成行程地图\"、\"导入GPX/KML轨迹\" |\n| `12306-train-assistant` | 火车票时刻/票价/经停站查询 | \"查火车票\"、\"D2008经停站\"（**强制使用**） |\n| `amap-lbs-skill` | 距离计算、路线规划、地理编码 | \"计算两地距离\"、\"校验路线\"（**强制使用**） |\n| 'flyai','飞艾','飞猪' | 机票/酒店查询比价 | 「搜剑门附近酒店」「搜北京到成都最便宜的机票」 |\n| `weather` | 天气预报 | \"徒步那天天气如何\" |\n| `web_search` / `tavily_search` | 实时信息查询 | \"五一川西路况\" |\n\n> ⚠️ **数据源分工规则**:\n> - **火车票** → 必须用 `12306-train-assistant`（flyai 的火车数据不如12306准确，曾出现直达车误显示为需换乘的错误）\n> - **机票/酒店/景点** → `flyai`（飞猪MCP）\n> - **距离/路线** → `amap-lbs-skill`（强制，禁止用经纬度公式估算）\n> - **目的地知识** → Wikipedia + 小红书（维基百科为主，小红书补充真实用户体验）\n> - **两步路/小红书均不可用时** → 明确告知用户信息源不可用，请用户人工提供路线信息或确认搜索结果的可靠性\n> - 禁止用非官方渠道查询火车票余票/经停站\n>\n> ⚠️ 不执行订票、下单、候补、支付等操作，但会保存行程、目的地、出行时间等信息。\n>\n> ⚠️ **先检索，再撰写**：禁止捏造信息。Wikipedia 用于地理/历史/人物事实，小红书用于真实用户体验/补给点/当季路况，12306 用于火车票，flyai 用于机票/酒店，amap-lbs-skill 用于距离/路线。\n\n---\n\n## 三、完整工作流\n\n### 3.1 行程规划流程（出发前）\n\n```\n收集需求 → 锁定大交通 → 起点顺排 → 终点倒排 → 安排小交通 → 填补日常安排\n```\n\n**第一步：收集需求（必须先做）**\n\n> ⚠️ 没有需求就没有规划，需求不清不进入下一步\n\n| 信息项 | 说明 | 示例 |\n|--------|------|------|\n| 出行日期 | 出发日期+返回日期（单程可不填返回）| \"5月13日去，5月16日回\" |\n| 出发地 | 出发城市/地点 | \"北京\"、\"成都\" |\n| 目的地 | 主要目的地 | \"剑门关\"、\"古蜀道\" |\n| 返程地 | 单程可不填 | \"回北京\" |\n| 人员数量 | 出行人数 | \"2人\"、\"1大1小\" |\n| 偏好 | 交通方式/住宿/餐饮/体力分配 | \"自驾\"、\"少走路\"、\"住亚朵\" |\n\n**步骤说明**:\n\n1. **收集需求（先问清楚）** — 日期、地点、人数、偏好，不清楚时必须询问用户，不能猜测\n2. **搜索路线** — 徒步轨迹搜索为 hike-planner 内置能力。两步路为主：访问 `https://www.2bulu.com/track` 搜索轨迹（如 web_fetch 无法访问，使用 browser 工具以真实浏览器打开该链接）；小红书/B站 补充图片和视频。如有用户提供的 GPX/KML 文件，优先解析获取精确坐标和实测距离。\n\n    **小红书搜索策略（强约束）**：\n    \n    a. **关键词组合模板**（每次必须覆盖）：\n    \n    | 类别 | 搜索关键词 | 目的 |\n    |------|-----------|------|\n    | 避坑 | `<目的地> 避坑` | 提前发现常见陷阱 |\n    | 时效攻略 | `<目的地> 最新攻略 <年份>` | 获取最新路线/路况 |\n    | 天气 | `<目的地> <月份> 天气` | 季节穿衣/装备参考 |\n    | 防宰 | `<目的地> 防宰` | 物价/餐饮/交通防坑 |\n    | 物价 | `<目的地> 物价` | 预算评估 |\n    | 景点评估 | `<景点名> 值不值得去` | 是否纳入行程 |\n    \n    b. **陷阱识别规则**：\n    - 90% \"精品一日游\" 帖子是商业推广 → 看评论区 + 发帖时间筛真实内容\n    - 帖子含 \"私信/加微信/进群\" → 直接标记为推广，降权\n    - 同一账号批量发同类帖 → 推广号\n    - 连续多个帖子字数高度相似 → 疑似AI生成，降权\n    - 仅配航拍/宣传图无手机随拍 → 商业文案\n    \n    c. **评论区必看**（评论区比正文更真实）：\n    - 负面评论 \"踩坑了/不值得\" → 重点分析原因\n    - 追问回复 \"求路线/怎么去\" → 实用信息源\n    - 时间类信息 \"排队XX小时\" → 安排 buffer\n    - \"推荐XX师傅/司机\" → 可能真实，需交叉验证\n    \n    d. **可信度评级标准**：\n    \n    | 信号 | 加分 | 减分 |\n    |------|------|------|\n    | 发帖时间 ≤ 3 个月 | +2 | — |\n    | 手机随拍 + 路线描述 | +2 | — |\n    | 花费明细 | +1 | — |\n    | 有槽点/负面评价 | +1 | — |\n    | 含 \"私信/加微信\" | — | -3 |\n    | 纯航拍/宣传图 | — | -2 |\n    | 账号无历史内容 | — | -2 |\n    | 全文只夸不批 | — | -1 |\n\n3. **接收并解析轨迹文件（如有）** — 如用户发送了 GPX/KML 轨迹文件（Garmin Connect/佳明/两步路导出/Google Earth等），解析并提取：\n\n    **必须提取的数据**：\n    - 起终点 GPS 坐标（lat/lng）— 用于地图渲染，直接定位，无需地理编码\n    - 关键节点的 GPS 坐标列表（waypoints）— 存入 `hikingRoutes[].waypoints`，地图渲染时优先使用\n    - 总距离、累计爬升/下降、海拔曲线\n\n    > ⚠️ **GPX/KML 为最高优先级数据源**：当网络搜索（两步路/小红书等）的路线数据与上传的 GPX/KML 轨迹存在偏差时，**以 GPX/KML 为准**。轨迹文件是实地记录的实测数据，距离、爬升、节点坐标均以轨迹文件数据覆盖搜索结果中的估算值。\n    >\n    > 🛰️ **GPS 坐标直接用于地图渲染**：从 GPX/KML 提取的 waypoint 坐标（lat/lng）无需经过高德地理编码，直接传给 `render-itinerary-map.js --coords` 生成精确路线图。只有没有 GPX/KML 时才走地理编码流程。\n    >\n    > GPX/KML 轨迹 ≠ 实际古道路线：GPS 记录的是用户走过的实际路径，可能绕行或偏移。但即便如此，轨迹数据仍是可获得的最高精度数据源。\n\n4. **锁定大交通（核心约束）** — 飞机、高铁等大交通时间是固定锚点，一切围绕它展开\n5. **起点顺排** — 从出发地开始，按时间顺序安排每段小交通+活动\n6. **终点倒排** — 从大交通终点回推，确保每个节点时间衔接合理\n7. **安排小交通** — 城际交通、包车、公交等基于前两步的时间窗口安排\n8. **填补日常安排** — 餐饮、休息、景点等填入时间空隙\n9. **生成行程地图** — 行程确认后，使用 `hike-planner/scripts/render-itinerary-map.js` 为每日行程生成高德地图可视化链接。\n\n    **地理编码消歧义（重要）**：同一地名可能存在于多个省份（如\"姜庄子村\"），地理编码前必须附加省市区县前缀。建议传入 `destinationRegion`（如 \"北京市延庆区\"）作为定位范围，消除重名歧义，确保路线计算正确。\n\n    调用时传入节点对应的省市区县前缀，例如：\n    ```bash\n    # 格式：节点列表 | 城市 | 路线类型 | 省市区县前缀列表\n    node render-itinerary-map.js --stops=\"姜庄子村,小海坨,大海陀村\" --routeType=\"walking,walking\" --region=\"北京市延庆区,北京市延庆区,河北省赤城县\"\n    ```\n\n10. **模板完整性检查** — 行程计划文件生成完成后，调用 `hike-planner.js` 的 `validatePlan(content, trip)` 函数对照 PLAN_TEMPLATE 检查所有板块是否完整。检查项包括：6 个顶级章节（总览/每日安排/行程详情/徒步路线详情/装备清单/待办事项）、文化分类 ≥3 个、每日地图链接、装备清单表格、待办事项等。如有缺失或警告，立即补齐后重新验证。\n\n    **导航类型规范**：\n    - 🥾 徒步段 → `walking`\n    - 🚗 出租/包车/自驾 → `driving`\n    - 🚌 公交段 → `driving`\n    - 🚄 火车 / ✈️ 飞机 → 直线连接（两点间用 straight line）\n\n### 3.2 时间规划核心原则\n\n> ⚠️ **大交通是锚点，是约束，是起点也是终点**\n\n**正确顺序**：\n1. 确认大交通时间（机票/火车票）\n2. 以大交通为锚点，**倒排**当天返程活动\n3. 以大交通为锚点，**顺排**去程活动\n4. 检查各节点时间衔接是否满足最小候车/候机时间\n\n**候车/候机时间规范**：\n- 高铁站：候车不超 30 分钟为佳\n- 机场：提前 1 小时到达办理登机\n\n### 3.3 行程执行流程（出发后）\n\n```\n用户查询状态 → 查看今日计划 → 记录实际进度 → 突发应变 → 行程收尾\n```\n\n> 所有查询均为用户驱动。用户可通过 `hike-status`（概览）、`hike-today`（今日时间线+地图）、`hike-log`（记录实际信息）主动获取和更新行程状态，Skill 不进行未经请求的主动推送。\n\n### 3.4 行程收尾流程（返回后）\n\n```\n记录实际出行数据 → 与计划对比 → 文件归档到 completed 目录\n```\n\n---\n\n## 四、启动检查清单\n\n每次行程规划启动前：\n\n- [ ] 理解用户出行目的（徒步/出差/家人游/个人探索）\n- [ ] 确认时间范围、交通偏好、住宿偏好（§3.1 第一步）\n- [ ] 创建行程目录前**征得用户明确同意**（告知输出路径和数据范围）\n- [ ] 创建行程目录（格式见 §5.1）\n- [ ] 查天气确认是否合适\n- [ ] 火车票用 12306 skill 验证（§七）\n- [ ] 城际/包车段距离用 amap-lbs-skill 校验（§八）\n- [ ] **向用户说明高德地图 API 调用会传输节点名称**\n- [ ] 生成行程计划文件并**用户确认后**才写入磁盘\n\n---\n\n## 五、行程规划标准文档结构\n\n### 5.1 文件路径\n\n- 即将出行：`{outputDir}/upcoming/<destination-slug>-<YYYY-MM>/<实际标题>.md`\n- 已完成：`{outputDir}/completed/<destination-slug>-<YYYY-MM>/<实际标题>.md`\n\n**命名规则**：\n\n| 组成部分 | 规则 | 示例 |\n|---------|------|------|\n| 目录名 | `<destination-slug>-<YYYY-MM>`（pinyin/英文小写 + 连字符，日期带分隔符） | `haituo-2026-06`、`japan-tokyo-kyoto-osaka-2026-08` |\n| 文件名 | `<实际标题>.md`（文档一级标题，去 emoji，保留 `·` `→` 等合法字符） | `海坨山姜庄子村小环线出行计划.md`、`日本·东京→京都→大阪 8天行程规划.md` |\n\n**示例**：\n\n| 目录 | 计划文件 |\n|------|---------|\n| `haituo-2026-06/` | `海坨山姜庄子村小环线出行计划.md` |\n| `wutaishan-2026-06/` | `五台山出行计划.md` |\n| `japan-tokyo-kyoto-osaka-2026-08/` | `日本·东京→京都→大阪 8天行程规划.md` |\n\n### 5.2 文档模板\n\n> 完整模板见 `PLAN_TEMPLATE.md`。以下为核心结构概要，详细内容和所有占位符说明以模板文件为准。\n\n| 章节 | 说明 |\n|------|------|\n| 总览 | 日期/星期/行程概要/出行方式/班次/酒店/含早/天气 汇总表 |\n| 每日安排 | DAY N 时间线表（时间/区间/节点详情/费用/备注） + 地图链接 + 本日费用 |\n| 行程详情 | 目的地文化分类 3-5 个（地理风貌/历史渊源/人文诗词/遗存遗迹/美食特产等）。**多日行程按日扩展**，每重要活动日独立一节 |\n| 徒步路线详情 | 距离/爬升/下降/预计用时/路线类型/路线分类/关键节点/轨迹来源（GPX/KML）/轨迹地图/提示 |\n| 装备清单 | 按类型分类（鞋/衣/包/导航/水/食物/防晒/药品/证件/电子/其他） |\n| 待办事项 | 订票/订酒店/装备/保险/离线地图 |\n\n### 5.3 模板使用规范\n\n| 规范 | 说明 |\n|------|------|\n| 同一酒店多日入住 | 不需要每天退房+再入住，行李寄存前台即可，表中只写\"续住\" |\n| 费用列 | 每行记录金额，末尾汇总本日费用 |\n| 火车信息 | **必须查12306获取**，禁止留\"待补充\"等占位符 |\n| 大交通格式 | 示例：D2008（成都东07:50→剑门关09:21），二等座¥104 |\n| 每日安排 | 包含从出发到入睡的完整时间线，节点紧凑 |\n| 海外费用 | **所有费用统一换算为人民币（¥）**估算，原币种金额在备注标注（如 `¥350 / $50`）。汇率使用当前实时汇率，标注换算日期 |\n| 多日行程详情 | **多日行程需为每个重要活动日扩展独立的行程详情**（文化分类、景点介绍、诗词引用等），避免只给一个笼统的目的地概述。每日常规移动日可简并 |\n\n---\n\n## 六、行程详情内容规范\n\n### 6.1 信息分级质量标准\n\n| 类别 | 要求 | 示例 |\n|------|------|------|\n| **事实类** | 简洁、清晰、正确、可验证 | D2008 成都东07:50→剑门关09:21，二等座¥104；小娅子→断碑梁 12.7km（GPS实测） |\n| **提示类** | 保证有效性和正确性，必须验证 | ⚠️ 石洞沟、抄手铺有补给（实测有商店）；⚠️ 全程无商店需自带干粮（必须实地确认） |\n| **介绍类** | 有趣、丰富、有学习价值，引用有据可查 | 古蜀道历史、金牛道典故、诗词原文+背景、美食文化 |\n\n> ⚠️ **提示类常见错误**：\n> - 说\"全程无商店\"但沿途实际有补给点 → 必须实地确认或查看真实攻略\n> - 说\"路况良好\"但实际是野路 → 查看近期真实用户评论\n> - 说\"没有野生动物\"但当地确实有 → 查阅官方信息\n\n### 6.2 目的地详情类别（按需选用）\n\n根据目的地特性选择 3-5 个最相关的类别，按相关性排序（参考小红书/马蜂窝/百度旅游热门标签）。\n\n| 类别 | 适用场景 | 典型目的地 |\n|------|---------|---------|\n| 地理风貌 | 地形、气候、植被、景观特色 | 所有目的地 |\n| 历史渊源 | 重要历史节点、战争、人物 | 古道、关隘、战场遗址 |\n| 文化典故 | 诗词、传说、著名典故发生地、人物故事 | 蜀道、庐山、岳飞庙 |\n| 人文与诗词 | 有诗词典故的目的地 | 蜀道、庐山、长江三峡 |\n| 遗存遗迹 | 路面、驿站、关隘、古建筑、古镇 | 古道、古城、古关 |\n| 美食特产 | 特色美食、风味小吃 | 所有目的地 |\n| 世界遗产 | 世界遗产/预备项目及核心价值 | 蜀道、故宫、莫高窟 |\n| 5A级景区 | 国家5A景区核心吸引物 | 剑门关、黄山、九寨沟 |\n| 宗教文化 | 著名宗教发源地、石窟、寺庙、道观 | 五台山、武当山、敦煌 |\n| 动植物 | 珍稀物种、生态特色 | 卧龙、大熊猫基地 |\n| 地质地貌 | 丹霞、卡斯特、沙漠、冰川等特殊地貌 | 张掖丹霞、黄龙 |\n| 民俗节庆 | 当地节日、习俗、手工艺 | 少数民族地区 |\n\n> **排序规则**：结合小红书/马蜂窝/百度旅游热门标签，按相关性高的优先展示。例如蜀道优先展示：遗存遗迹 > 历史渊源 > 人文与诗词 > 世界遗产 > 美食特产\n\n### 6.3 徒步路线分类\n\n| 分类 | 定义 | 示例 |\n|------|------|------|\n| 🚶 穿越 | 起终点不同，A点进B点出 | 大觉寺→阳台山→凤凰岭 |\n| 🔄 环线 | 起点=终点，路径不重复经过已走点 | 姜庄子村→大海坨→大海陀村→姜庄子村 |\n| 🔙 往返 | 起点=终点，原路返回途经已走路线 | 大觉寺→阳台山→大觉寺 |\n\n### 6.4 诗词引用规范\n\n- 标题：**《诗词名》** — 作者（朝代）\n- 原文：使用中文引号` `` `` `包裹原文\n- 背景：1-2句话说明创作时间、地点、背景\n- 赏析（可选）：1句话点出与目的地的关联\n\n### 6.5 隐私声明\n\n> 行程规划过程中会向 Wikipedia、web_search、xiaohongshu 等第三方服务发送目的地名称及关联查询（景点、路线、美食、酒店、日期关键词）。传输内容**不包含**人员数量、订单信息、姓名、身份证等个人行程数据；仅发送与目的地内容检索相关的最小必要查询词。\n\n---\n\n## 七、火车票查询规范（强制）\n\n**所有火车票查询必须使用 `12306-train-assistant` skill**\n\n### 7.1 工具位置\n\n```\n12306-train-assistant/client.py\n```\n\n### 7.2 查询命令（无需登录）\n\n> ⚠️ 用户指定日期 → 查询指定日期；未指定 → 查询今天+明天；返程日必须明确查询。\n\n```bash\n# 1. 余票查询（默认查明天）\npython3 client.py left-ticket --date YYYY-MM-DD --from 出发站 --to 到达站\n\n# 2. 经停站查询（验证车次是否正确）\npython3 client.py route --train-code 车次号 --date YYYY-MM-DD --from 出发站 --to 到达站\n\n# 3. 中转方案查询\npython3 client.py transfer-ticket --date YYYY-MM-DD --from 出发站 --to 到达站 --limit 10\n```\n\n### 7.3 验证清单\n\n- [ ] 车次号在 12306 可查到\n- [ ] 出发/到达站匹配用户需求\n- [ ] 余票充足（或已购票）\n- [ ] 经停站合理（不要坐过站）\n- [ ] 票价与 plan 一致\n\n### 7.4 已知限制\n\n- 12306 风控触发时，换日子再试，或使用 flyai 的机票/酒店功能\n- flyai 的火车票数据**不如12306准确**（例：D2008直达误显示为需绵阳换乘），**禁止用flyai替代12306查火车**\n- 如遇风控报错，稍后重试\n\n---\n\n## 八、路线距离校验规范（强制）\n\n**所有城际/乡级交通段和徒步段距离，必须用 `amap-lbs-skill` 校验**。\n\n### 8.1 工具脚本位置\n\n```\namap-lbs-skill/scripts/route-planning.js\namap-lbs-skill/scripts/poi-search.js\n```\n\n### 8.2 步骤一：地理编码（获取各节点经纬度）\n\n```bash\ncurl -s \"https://restapi.amap.com/v3/geocode/geo?address=节点名称&city=城市名&output=JSON&key=***\"\n```\n\n### 8.3 步骤二：驾车路线规划（城际/包车段）\n\n```bash\nnode amap-lbs-skill/scripts/route-planning.js \\\n  --type=driving \\\n  --origin=经度,纬度 \\\n  --destination=经度,纬度\n```\n\n### 8.4 步骤三：步行路线规划（徒步段）\n\n```bash\nnode amap-lbs-skill/scripts/route-planning.js \\\n  --type=walking \\\n  --origin=经度,纬度 \\\n  --destination=经度,纬度\n```\n\n> ⚠️ 高德步行路线走的是现代公路网，与古道/山野徒步路线不同。\n> - 古道实测距离 **<** 高德步行距离（古道是直接山野路径，高德绕行乡村公路）\n> - 应以 plan 中标注的古道实测距离为准，高德数据用于**时间偏差参考**\n\n### 8.5 校验触发条件\n\n在以下场景**必须**执行距离校验：\n- 城际包车/班车时间存疑时\n- 徒步路线距离无实测数据时\n- 行程节点衔接时间紧张时（需要确认是否可行）\n- 用户提出\"这个时间够不够\"时\n\n---\n\n**维护**: Hike Planner\n**下次审查**: 每次重要行程规划后更新\n\nFile v3.3.2:references/PLAN_TEMPLATE.md\n\n# <目的地> 出行计划\n\n**出行日期**：YYYY年MM月DD日 - MM月DD日\n**目的地**：<地点>\n**人员**：<人数>\n\n## 总览\n\n| 日期 | 星期 | 行程概要 | 出行方式 | 班次/车牌 | 住宿酒店 | 含早 | 天气 |\n|------|------|---------|---------|---------|---------|------|------|\n| MM/DD | 周X | <一句话描述> | <交通> | <班次/包车> | <酒店名> | <是/否> | <天气/气温> |\n| MM/DD | 周X | | | | | | |\n| MM/DD | 周X | | | | | | |\n\n## 每日安排\n\n### DAY X — MM/DD（周X）：<主题>\n\n| 时间 | 区间 | 节点详情 | 费用 | 备注 |\n|------|------|---------|------|------|\n| HH:MM | 出发 → 到达 | <节点名称> | ¥XX | <交通/里程/用时> |\n| HH:MM | 交通接驳 | <包车/地铁/步行> | ¥XX | <司机电话/票价> |\n| HH:MM-HH:MM | 🥾 徒步 | 路线名 距离XXkm 爬升XXXm 预计X小时 难度★★★/★★★★★ | | 轨迹/GPX/KML |\n| HH:MM | 抵达 | <节点名称> | | <食宿/活动安排> |\n\n> 🗺️ [查看地图](<高德地图链接>)\n> 💰 本日费用：<¥XX>\n\n### DAY X — MM/DD（周X）：<主题>\n\n| 时间 | 区间 | 节点详情 | 费用 | 备注 |\n|------|------|---------|------|------|\n| | | | | |\n\n> 🗺️ [查看地图]()\n> 💰 本日费用：\n\n## 行程详情\n\n> 生成规则见 hike-planner-sop 第六节\n\n### <目的地名称>\n\n根据目的地特性选择 3-5 个最相关的文化分类，类别定义见 `hike-planner-sop.md` §6.2。\n\n### 地理风貌\n\n<检索目的地所在区域的地形地貌特征、气候类型，以及最具代表性的自然景观。2-4段话。>\n\n### 历史渊源\n\n<检索目的地相关的1-2个关键历史事件，说明时间、人物、事件意义。2-4段话。>\n\n### 人文与诗词\n\n<引用1-2首诗词原文（准确引用），说明作者、朝代、创作背景。1句话点出与目的地的关联。>\n\n### 遗存遗迹\n\n<检索目的地现存的古建筑、古道、古关、石刻等遗迹实物。2-4段话。>\n\n### 世界遗产 / 5A级景区 / 宗教文化 / 民俗节庆\n\n<根据目的地特性选择相关章节，检索核心价值和吸引物。>\n\n### 美食特产\n\n<检索目的地最具代表性的地方美食1-2种，说明食材来源、烹饪特点、觅食地点。2-3段话。>\n\n### 出行建议\n\n> 生成规则见 hike-planner-sop 第六节\n\n#### 交通建议\n\n| 交通方式 | 建议 |\n|---------|------|\n| 到达交通 | <如何到达目的地：最近机场/高铁站 + 换乘方式> |\n| 离开交通 | <如何离开：最近机场/高铁站 + 班次建议> |\n| 当地交通 | <目的地内部出行：包车/公交/打车/租车建议> |\n\n#### 网红酒店推荐\n\n| 名称 | 特色 | 参考价格 |\n|------|------|---------|\n| <酒店1> | <特色描述：位置/景观/设施/风格> | <¥XX-XX/晚> |\n| <酒店2> | <特色描述> | <¥XX-XX/晚> |\n\n#### 网红景点推荐\n\n| 名称 | 亮点 | 建议时长 |\n|------|------|---------|\n| <景点1> | <必打卡理由：摄影/历史/奇观> | <XX小时> |\n| <景点2> | <必打卡理由> | <XX小时> |\n\n#### 网红活动推荐\n\n| 活动 | 特色 | 适合人群 |\n|------|------|---------|\n| <活动1> | <当地特色体验：手工艺/民俗/户外> | <适合谁> |\n| <活动2> | <当地特色体验> | <适合谁> |\n\n## 徒步路线详情\n\n> 路线分类定义见 hike-planner-sop §6.3\n\n#### <路线名>\n\n| 项目 | 数据 |\n|------|------|\n| 距离 | <XXkm> |\n| 爬升 | <XXXm> |\n| 下降 | <XXXm> |\n| 最高海拔 | <XXXXm> |\n| 预计用时 | <X-X小时> |\n| 路线类型 | <古道/山野/景区栈道/混合> |\n| 关键节点 | <起点→节点1→...→终点> |\n| 轨迹来源 | <来源+日期（GPX/KML）> |\n| ⚠️ 提示 | <补给点/危险/注意事项> |\n\n## 装备清单\n\n> 生成规则见 hike-planner-sop\n\n| 类型 | 物品 |\n|------|------|\n| 鞋 | <徒步鞋/越野跑鞋/登山靴，根据路线类型> |\n| 衣 | <速干衣裤、冲锋衣/雨衣、保暖层、换洗衣物> |\n| 包 | <徒步背包XXL、防水罩> |\n| 导航 | <手机+离线地图、GPS设备/手表、指南针> |\n| 水 | <水袋/保温杯XXL，沿途补给点> |\n| 食物 | <路餐X顿、能量棒/坚果、电解质冲剂> |\n| 防晒 | <防晒霜SPF50+、遮阳帽、太阳镜、头巾> |\n| 药品 | <创可贴、云南白药、肠胃药、感冒药、个人药品> |\n| 证件 | <身份证、学生证/老年证（如有优惠）> |\n| 电子 | <充电宝、数据线、相机/无人机（如需）> |\n| 其他 | <登山杖、头灯/手电、急救毯、现金> |\n\n## 待办事项\n\n> 生成规则见 hike-planner-sop\n\n1. [ ] 订火车票/机票（确认出发日期和班次）\n2. [ ] 订酒店（确认入住日期和房型）\n3. [ ] 检查装备清单并补齐缺失物品\n4. [ ] 购买户外保险\n5. [ ] 下载离线地图和GPX/KML轨迹\n\n> 💡 用户可通过 `todo N done` 快速标记完成（如 `todo 1 done`）。\n\n*创建日期：YYYY-MM-DD*\n\nFile v3.3.2:skill-card.md\n\n## Description: <br>\nHike Planner helps an agent create hiking trip plans with route, transportation, lodging, local context, equipment, GPX/KML track parsing, and map rendering, while avoiding booking, ordering, waitlisting, or payment actions. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[updatedb](https://clawhub.ai/user/updatedb) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nTravelers and planning agents use this skill to assemble hiking itineraries from user-provided dates, destinations, preferences, route tracks, and travel updates. It is suited for planning and trip-state tracking, not for purchasing tickets, booking lodging, waitlisting, or making payments. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Trip dates, destinations, GPX/KML tracks, uploaded media, and order-message details may be stored in the configured output directory. <br>\nMitigation: Use a private output directory with appropriate filesystem permissions, review saved trip files, and avoid pasting sensitive order messages unless the data retention behavior is acceptable. <br>\nRisk: Some helper execution paths are reported to build shell commands from user-controlled file or route names. <br>\nMitigation: Avoid untrusted GPX/KML filenames and itinerary names until helper execution is changed to argument-array invocation or equivalent shell-safe handling. <br>\nRisk: Route and place names may be sent to external travel, map, and content services during planning and map generation. <br>\nMitigation: Confirm that sharing destination, route, and waypoint names with the configured external services is acceptable before using network-backed planning features. <br>\n\n\n## Reference(s): <br>\n- [Hike Planner ClawHub page](https://clawhub.ai/updatedb/hike-planner) <br>\n- [Hike Planner SOP](references/hike-planner-sop.md) <br>\n- [Plan Template](references/PLAN_TEMPLATE.md) <br>\n- [2bulu Track Search](https://www.2bulu.com/track) <br>\n- [FlyAI Console](https://open.fly.ai/console) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance] <br>\n**Output Format:** [Markdown itinerary plans, local JSON state, map links, and text guidance] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Writes trip plans and state under the user-selected output directory; map generation depends on AMAP_WEBSERVICE_KEY.] <br>\n\n## Skill Version(s): <br>\n3.3.2 (source: server release evidence) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nFile v3.3.2:planner/config.json\n\n{\n  \"outputDir\": \"\",\n  \"webBaseUrl\": \"http://localhost\"\n}\n\nArchive v3.3.1: 11 files, 70175 bytes\n\nFiles: _meta.json (131b), assets/gpx-parser.py (5703b), assets/kml-parser.py (9572b), planner/config.json (68b), references/hike-planner-sop.md (20145b), references/PLAN_TEMPLATE.md (4873b), scripts/generate-track-map.py (30323b), scripts/hike-planner.js (113759b), scripts/render-itinerary-map.js (13524b), skill-card.md (2677b), SKILL.md (7915b)\n\nFile v3.3.1:SKILL.md\n\n---\nname: Hike Planner\ndescription: 一站式徒步出行规划。根据用户明确指令生成行程计划（含徒步路线/交通/住宿/人文/装备）。支持查询票务/酒店信息，不执行订票/下单/候补/支付。多源交叉验证（12306/两步路/高德/小红书/GPX/KML文件）。行程状态持久化到本地文件，编辑命令自动写入，短信解析需用户确认。\npermissions:\n  filesystem: 在用户指定的 outputDir 下读写行程状态文件\n  network: restapi.amap.com, is.autonavi.com, a.amap.com, wikipedia.org, 2bulu.com, xiaohongshu.com, bilibili.com, unpkg.com\n  environment: AMAP_WEBSERVICE_KEY\n  execution: curl, python3, node\n---\n\n# hike-planner\n\n> 从0开始逐步完善的智能行程规划工具。**需要用户明确提供出行日期、目的地和活动类型**才会开始规划。详细执行规范见 `hike-planner-sop.md`。\n\n## 能力\n\n| 能力维度 | 说明 |\n|---------|------|\n| 🚀 便捷 | 输入日期、目的地、活动类型，10 分钟内生成含大交通、酒店、徒步路线、人文介绍、装备清单的完整计划 |\n| 🔍 可靠 | 12306 / flyai 校验机票火车票，两步路 / 小红书查询路线，接受 GPX/KML 轨迹文件补充，高德地图保证里程准确 |\n| ⏱️ 精准 | 锁定大交通时间 + 锁定徒步路线时间为双锚点，按时间顺排倒排，确保节点衔接无冲突 |\n| 🗺️ 可视 | 每日行程自动生成高德地图链接，节点标注 + 交通路线一目了然。GPX/KML 轨迹渲染为交互式地图，支持多路线对比分析 |\n| 📚 有料 | 人文信息按目的地特性自动分类检索，与行程强关联（诗词对应徒步路段，美食定位补给点） |\n\n### 内置能力\n\n| 能力 | 说明 |\n|------|------|\n| 徒步路线搜索 | 两步路 + 小红书攻略 + B站视频（搜索策略详见 SOP §3.1）|\n| 行程地图渲染 | 高德地图可视化链接（依赖 amap-lbs-skill）。⚠️ 行程站点名称会通过网络发送给高德地图（Amap）API。 |\n| 人文信息收集 | Wikipedia + web_search + xiaohongshu |\n| 行程计划生成 | 按 PLAN_TEMPLATE 标准格式输出 |\n| 行中记录/行后汇总 | 实际 vs 计划对比 + 归档 |\n\n## 命令\n\n| 命令 | 说明 |\n|------|------|\n| `hike [目的地] [活动?]` | 查询目的地介绍+推荐经典徒步路线。不创建行程、不管理状态。示例：`hike 四姑娘山` |\n| `hike-init [日期] [目的地] [活动]` | 启动规划。日期/目的地/活动为必填，直接从参数解析。首次使用将征得您同意确认保存到 outputDir。示例：`hike-init 2026-06-01 古蜀道 徒步+文化探访`。若未提供完整参数则交互补问缺失项。 |\n| `hike-list` | 列出所有未完成行程；`hike-list <tripId>` 归档并汇总指定行程 |\n| `hike-select output <路径>` | 设置/切换默认输出目录（持久化到 `{skillDir}/planner/config.json`） |\n| `hike-select baseurl <URL>` | 设置 Web 基础 URL（用于轨迹地图链接，默认 `http://localhost`）。不传参数查看当前值。 |\n| `hike-select <行程名>` | 激活/选择某个行程进行管理。匹配 tripId 或目的地关键词（模糊匹配）。选择后 hike-status/today/log 都作用于该行程。 |\n| `hike-status` | 查看当前行程状态与概览（作用于 hike-select 选中的行程） |\n| `hike-log [内容]` | 记录行程最新信息：🚄 订好车票 / ✈️ 订好机票 / 🏨 订了酒店 / 💰 支出花销。粘贴 12306/航司/酒店 OTA 订单短信自动解析并更新行程。⚠️ 解析前会弹窗确认，仅提取订单关键字段（车次/航班/站点/日期），不保留原始短信全文。 |\n| `hike-today` | 查看今日计划（时间线 + 地图，作用于选中行程） |\n| `hike-add [dayN] [路线A-B]` | 添加 A-B 行程段到 DayN，后续行程自动推后 |\n| `hike-del [dayN]` | ⚠️ 删除 DayN 整个日程，立即写入磁盘且不可撤销。后续日程自动移前。 |\n| `hike-reorder [dayN] after\\|before\\|to [dayM]` | ⚠️ 重排日程顺序，立即写入磁盘。将 DayN 移到 DayM 之后/之前，或让 DayN 成为新的 DayM。 |\n| `todo [N] done` | ✅ 通过编号快速完成待办。示例：`todo 1 done`、`TODO 3 done`。 |\n\n## 示例\n\n```text\nhike 四姑娘山 徒步\n```\n\n> 纯查询模式，不创建行程。返回目的地文化介绍（地理/历史/人文/美食等 3-5 个分类）和经典徒步路线详情（路线名/距离/爬升/难度/关键节点/提示）。\n\n```text\nhike-init 2026-06-01 古蜀道 徒步+文化探访\n```\n\nAgent 交互收集需求后，自动执行搜索与生成。以「古蜀道 5/13-5/16」真实输出为例：\n\n**总览**：\n\n| 日期 | 星期 | 行程概要 | 出行方式 | 班次/车牌 | 住宿酒店 | 含早 | 天气 |\n|------|------|---------|---------|---------|---------|------|------|\n| 5/13 | 周三 | 抵达成都，逛宽窄巷子/锦里 | ✈️ | CA4117 北京→成都 | 维也纳国际酒店(成都东站) | 否 | 晴 |\n| 5/14 | 周四 | 成都东→剑门关→小娅子徒步→普安镇 | 🚄+🚗+🥾 | D2008+包车 | 剑阁瑞山酒店 | 是 | ☀️31°C/16°C |\n| 5/15 | 周五 | 汉阳镇→普安镇徒步10km | 🥾+🚗 | 包车+徒步 | 剑阁瑞山酒店 | 是 | 多云28°C/18°C |\n| 5/16 | 周六 | 拦马墙→剑门关→成都→北京 | 🥾+🚄+✈️ | D1973+CA4117 | | | 晴29°C/17°C |\n\n**DAY 3 — 5/16（周六）：拦马墙→返程北京**：\n\n| 时间 | 区间 | 节点详情 | 费用 | 备注 |\n|------|------|---------|------|------|\n| 07:00 | 起床退房 | 行李寄存前台 | | 必须早起 |\n| 07:00-07:30 | 早餐 | 酒店含早 | | |\n| 07:30-07:40 | 🚗 包车 | 酒店→拦马墙起点 | ¥30-50 | 约10min |\n| 07:40-10:10 | 🥾 徒步 | 拦马墙→普安镇（折返） | | 7.5km，约2.5h |\n| 10:10-10:30 | 取行李+简餐 | 普安镇 | ¥15 | 20min |\n| 10:30-11:00 | 🚗 包车 | 普安镇→剑门关站 | ¥80-100 | |\n| 11:00 | 到达剑门关站 | 候车29分钟 | | 🟢 刚好 |\n| 11:29-12:56 | 🚄 D1973 | 剑门关→成都东 | ¥104 | 已购票 |\n| 12:56 | 抵达成都东 | | | |\n| 13:00-15:00 | 午餐 | 苏坦土耳其餐厅（玉林店） | ¥100 | 请上海来的朋友 |\n| 15:00-15:40 | 🚇 地铁 | 东站→双流机场（7号线） | ¥8-9 | |\n| 17:00-20:00 | ✈️ CA4117 | 双流→首都T3 | 已购票 | 2h24m |\n\n> ⚠️ 时间紧，务必早起！候车不超过30分钟\n> 🗺️ [查看地图](https://a.amap.com/...)\n> 💰 本日费用：约¥300-400（包车+午餐+地铁）\n\n**徒步路线详情 — 路线二：汉阳镇→普安镇**：\n\n| 项目 | 数据 |\n|------|------|\n| 距离 | 10.05km |\n| 爬升 | 286m |\n| 下降 | 327m |\n| 预计用时 | 3.5-4小时 |\n| 路线类型 | 古道+乡村公路 |\n| 关键节点 | 汉阳镇体育中心→石洞沟→抄手铺→碑梁村→卧龙社区→普安镇 |\n| ⚠️ 提示 | 石洞沟、抄手铺有补给；抄手铺的钟婆婆抄手售咖啡 |\n\n## 外部依赖\n\n以下 Skill 为可选依赖。hike-init 启动时自动检测，若未安装则提示用户。\n\n| 依赖 | 用途 | 安装 |\n|------|------|------|\n| `12306-train-assistant` | 火车票余票/价格/时刻查询 | `npx clawhub install 12306-train-assistant` |\n| `amap-lbs-skill` | 距离/路线/地图 | `npx clawhub install amap-lbs-skill` |\n| `flyai` | 机票/酒店查询 | `npx clawhub install flyai`（安装后需到 [open.fly.ai](https://open.fly.ai/console) 获取 API Key） |\n| `xiaohongshu` | 小红书攻略搜索（需先登录） | `npx clawhub install xiaohongshu` |\n\n> 💡 hike-init 时会检测依赖可用性。缺失时提示用户安装或手动输入信息。不可用时的保底策略见 `hike-planner-sop.md`。\n\n## 不做\n\n- 🔒 自动订票 / 下单 / 支付\n\n> ⚠️ 不执行订票、下单、候补、支付等操作，但会保存行程、目的地、出行时间等信息。\n\nFile v3.3.1:_meta.json\n\n{\n  \"ownerId\": \"kn73h0b3vxspe7143ad7dk07xn822pwv\",\n  \"slug\": \"hike-planner\",\n  \"version\": \"3.3.1\",\n  \"publishedAt\": 1780043068693\n}\n\nFile v3.3.1:references/hike-planner-sop.md\n\n# Hike Planner SOP — 徒步行程规划助手\n\n**版本**: v3.1\n**创建日期**: 2026-05-14\n**最后更新**: 2026-05-29（裁剪：移除订票/购买/候补/日历/邮件/记忆/主动推送等 scope creep，不执行订票/下单/候补/支付+用户驱动原则）\n\n---\n\n## 一、职责定位\n\n**角色**: 徒步行程规划助手\n\n**核心职责**:\n- ✅ **行程前** — 根据用户明确指令规划徒步路线，查询可用的票务、酒店信息（不执行订票/下单/候补/支付），输出行程计划到本地文件\n- ✅ **行程中** — 根据用户提供的短信/订单信息更新行程状态，记录实际出行日志\n- ✅ **行程后** — 汇总实际行程数据，归档到 completed 目录\n\n> ⚠️ **文件写入规则**：\n> - `hike-init` 首次创建行程 → 弹窗确认 outputDir 后，写入状态文件 + 行程计划文件\n> - `hike-log` 含疑似短信内容 → 弹窗确认后才解析并保存\n> - `hike-add / hike-del / hike-reorder` 等编辑命令 → 用户主动操作，直接覆写行程计划文件（不弹窗，等同于\"保存\"）\n>   - ⚠️ `hike-del` 删除日程后不可撤销，建议执行前手动备份行程计划文件\n>   - ⚠️ `hike-reorder` 重排后原顺序不可恢复\n> - `hike-select output` 切换输出目录 → 用户主动命令，直接写入 `{skillDir}/planner/config.json`（不弹窗）\n> - 所有持久化文件清单：`{skillDir}/planner/config.json`（全局配置）、`{outputDir}/.hike-planner-state.json`（行程状态）、`{outputDir}/upcoming/{tripId}/{planFilename}`（行程计划）\n\n---\n\n## 二、Skills 清单\n\n| Skill | 用途 | 触发场景 |\n|-------|------|---------|\n| hike-planner 内置 | 徒步路线搜索+行程地图渲染+GPX/KML轨迹解析 | \"搜索古蜀道路线\"、\"生成行程地图\"、\"导入GPX/KML轨迹\" |\n| `12306-train-assistant` | 火车票时刻/票价/经停站查询 | \"查火车票\"、\"D2008经停站\"（**强制使用**） |\n| `amap-lbs-skill` | 距离计算、路线规划、地理编码 | \"计算两地距离\"、\"校验路线\"（**强制使用**） |\n| 'flyai','飞艾','飞猪' | 机票/酒店查询比价 | 「搜剑门附近酒店」「搜北京到成都最便宜的机票」 |\n| `weather` | 天气预报 | \"徒步那天天气如何\" |\n| `web_search` / `tavily_search` | 实时信息查询 | \"五一川西路况\" |\n\n> ⚠️ **数据源分工规则**:\n> - **火车票** → 必须用 `12306-train-assistant`（flyai 的火车数据不如12306准确，曾出现直达车误显示为需换乘的错误）\n> - **机票/酒店/景点** → `flyai`（飞猪MCP）\n> - **距离/路线** → `amap-lbs-skill`（强制，禁止用经纬度公式估算）\n> - **目的地知识** → Wikipedia + 小红书（维基百科为主，小红书补充真实用户体验）\n> - **两步路/小红书均不可用时** → 明确告知用户信息源不可用，请用户人工提供路线信息或确认搜索结果的可靠性\n> - 禁止用非官方渠道查询火车票余票/经停站\n>\n> ⚠️ 不执行订票、下单、候补、支付等操作，但会保存行程、目的地、出行时间等信息。\n>\n> ⚠️ **先检索，再撰写**：禁止捏造信息。Wikipedia 用于地理/历史/人物事实，小红书用于真实用户体验/补给点/当季路况，12306 用于火车票，flyai 用于机票/酒店，amap-lbs-skill 用于距离/路线。\n\n---\n\n## 三、完整工作流\n\n### 3.1 行程规划流程（出发前）\n\n```\n收集需求 → 锁定大交通 → 起点顺排 → 终点倒排 → 安排小交通 → 填补日常安排\n```\n\n**第一步：收集需求（必须先做）**\n\n> ⚠️ 没有需求就没有规划，需求不清不进入下一步\n\n| 信息项 | 说明 | 示例 |\n|--------|------|------|\n| 出行日期 | 出发日期+返回日期（单程可不填返回）| \"5月13日去，5月16日回\" |\n| 出发地 | 出发城市/地点 | \"北京\"、\"成都\" |\n| 目的地 | 主要目的地 | \"剑门关\"、\"古蜀道\" |\n| 返程地 | 单程可不填 | \"回北京\" |\n| 人员数量 | 出行人数 | \"2人\"、\"1大1小\" |\n| 偏好 | 交通方式/住宿/餐饮/体力分配 | \"自驾\"、\"少走路\"、\"住亚朵\" |\n\n**步骤说明**:\n\n1. **收集需求（先问清楚）** — 日期、地点、人数、偏好，不清楚时必须询问用户，不能猜测\n2. **搜索路线** — 徒步轨迹搜索为 hike-planner 内置能力。两步路为主：访问 `https://www.2bulu.com/track` 搜索轨迹（如 web_fetch 无法访问，使用 browser 工具以真实浏览器打开该链接）；小红书/B站 补充图片和视频。如有用户提供的 GPX/KML 文件，优先解析获取精确坐标和实测距离。\n\n    **小红书搜索策略（强约束）**：\n    \n    a. **关键词组合模板**（每次必须覆盖）：\n    \n    | 类别 | 搜索关键词 | 目的 |\n    |------|-----------|------|\n    | 避坑 | `<目的地> 避坑` | 提前发现常见陷阱 |\n    | 时效攻略 | `<目的地> 最新攻略 <年份>` | 获取最新路线/路况 |\n    | 天气 | `<目的地> <月份> 天气` | 季节穿衣/装备参考 |\n    | 防宰 | `<目的地> 防宰` | 物价/餐饮/交通防坑 |\n    | 物价 | `<目的地> 物价` | 预算评估 |\n    | 景点评估 | `<景点名> 值不值得去` | 是否纳入行程 |\n    \n    b. **陷阱识别规则**：\n    - 90% \"精品一日游\" 帖子是商业推广 → 看评论区 + 发帖时间筛真实内容\n    - 帖子含 \"私信/加微信/进群\" → 直接标记为推广，降权\n    - 同一账号批量发同类帖 → 推广号\n    - 连续多个帖子字数高度相似 → 疑似AI生成，降权\n    - 仅配航拍/宣传图无手机随拍 → 商业文案\n    \n    c. **评论区必看**（评论区比正文更真实）：\n    - 负面评论 \"踩坑了/不值得\" → 重点分析原因\n    - 追问回复 \"求路线/怎么去\" → 实用信息源\n    - 时间类信息 \"排队XX小时\" → 安排 buffer\n    - \"推荐XX师傅/司机\" → 可能真实，需交叉验证\n    \n    d. **可信度评级标准**：\n    \n    | 信号 | 加分 | 减分 |\n    |------|------|------|\n    | 发帖时间 ≤ 3 个月 | +2 | — |\n    | 手机随拍 + 路线描述 | +2 | — |\n    | 花费明细 | +1 | — |\n    | 有槽点/负面评价 | +1 | — |\n    | 含 \"私信/加微信\" | — | -3 |\n    | 纯航拍/宣传图 | — | -2 |\n    | 账号无历史内容 | — | -2 |\n    | 全文只夸不批 | — | -1 |\n\n3. **接收并解析轨迹文件（如有）** — 如用户发送了 GPX/KML 轨迹文件（Garmin Connect/佳明/两步路导出/Google Earth等），解析并提取：\n\n    **必须提取的数据**：\n    - 起终点 GPS 坐标（lat/lng）— 用于地图渲染，直接定位，无需地理编码\n    - 关键节点的 GPS 坐标列表（waypoints）— 存入 `hikingRoutes[].waypoints`，地图渲染时优先使用\n    - 总距离、累计爬升/下降、海拔曲线\n\n    > ⚠️ **GPX/KML 为最高优先级数据源**：当网络搜索（两步路/小红书等）的路线数据与上传的 GPX/KML 轨迹存在偏差时，**以 GPX/KML 为准**。轨迹文件是实地记录的实测数据，距离、爬升、节点坐标均以轨迹文件数据覆盖搜索结果中的估算值。\n    >\n    > 🛰️ **GPS 坐标直接用于地图渲染**：从 GPX/KML 提取的 waypoint 坐标（lat/lng）无需经过高德地理编码，直接传给 `render-itinerary-map.js --coords` 生成精确路线图。只有没有 GPX/KML 时才走地理编码流程。\n    >\n    > GPX/KML 轨迹 ≠ 实际古道路线：GPS 记录的是用户走过的实际路径，可能绕行或偏移。但即便如此，轨迹数据仍是可获得的最高精度数据源。\n\n4. **锁定大交通（核心约束）** — 飞机、高铁等大交通时间是固定锚点，一切围绕它展开\n5. **起点顺排** — 从出发地开始，按时间顺序安排每段小交通+活动\n6. **终点倒排** — 从大交通终点回推，确保每个节点时间衔接合理\n7. **安排小交通** — 城际交通、包车、公交等基于前两步的时间窗口安排\n8. **填补日常安排** — 餐饮、休息、景点等填入时间空隙\n9. **生成行程地图** — 行程确认后，使用 `hike-planner/scripts/render-itinerary-map.js` 为每日行程生成高德地图可视化链接。\n\n    **地理编码消歧义（重要）**：同一地名可能存在于多个省份（如\"姜庄子村\"），地理编码前必须附加省市区县前缀。建议传入 `destinationRegion`（如 \"北京市延庆区\"）作为定位范围，消除重名歧义，确保路线计算正确。\n\n    调用时传入节点对应的省市区县前缀，例如：\n    ```bash\n    # 格式：节点列表 | 城市 | 路线类型 | 省市区县前缀列表\n    node render-itinerary-map.js --stops=\"姜庄子村,小海坨,大海陀村\" --routeType=\"walking,walking\" --region=\"北京市延庆区,北京市延庆区,河北省赤城县\"\n    ```\n\n10. **模板完整性检查** — 行程计划文件生成完成后，调用 `hike-planner.js` 的 `validatePlan(content, trip)` 函数对照 PLAN_TEMPLATE 检查所有板块是否完整。检查项包括：6 个顶级章节（总览/每日安排/行程详情/徒步路线详情/装备清单/待办事项）、文化分类 ≥3 个、每日地图链接、装备清单表格、待办事项等。如有缺失或警告，立即补齐后重新验证。\n\n    **导航类型规范**：\n    - 🥾 徒步段 → `walking`\n    - 🚗 出租/包车/自驾 → `driving`\n    - 🚌 公交段 → `driving`\n    - 🚄 火车 / ✈️ 飞机 → 直线连接（两点间用 straight line）\n\n### 3.2 时间规划核心原则\n\n> ⚠️ **大交通是锚点，是约束，是起点也是终点**\n\n**正确顺序**：\n1. 确认大交通时间（机票/火车票）\n2. 以大交通为锚点，**倒排**当天返程活动\n3. 以大交通为锚点，**顺排**去程活动\n4. 检查各节点时间衔接是否满足最小候车/候机时间\n\n**候车/候机时间规范**：\n- 高铁站：候车不超 30 分钟为佳\n- 机场：提前 1 小时到达办理登机\n\n### 3.3 行程执行流程（出发后）\n\n```\n用户查询状态 → 查看今日计划 → 记录实际进度 → 突发应变 → 行程收尾\n```\n\n> 所有查询均为用户驱动。用户可通过 `hike-status`（概览）、`hike-today`（今日时间线+地图）、`hike-log`（记录实际信息）主动获取和更新行程状态，Skill 不进行未经请求的主动推送。\n\n### 3.4 行程收尾流程（返回后）\n\n```\n记录实际出行数据 → 与计划对比 → 文件归档到 completed 目录\n```\n\n---\n\n## 四、启动检查清单\n\n每次行程规划启动前：\n\n- [ ] 理解用户出行目的（徒步/出差/家人游/个人探索）\n- [ ] 确认时间范围、交通偏好、住宿偏好（§3.1 第一步）\n- [ ] 创建行程目录前**征得用户明确同意**（告知输出路径和数据范围）\n- [ ] 创建行程目录（格式见 §5.1）\n- [ ] 查天气确认是否合适\n- [ ] 火车票用 12306 skill 验证（§七）\n- [ ] 城际/包车段距离用 amap-lbs-skill 校验（§八）\n- [ ] **向用户说明高德地图 API 调用会传输节点名称**\n- [ ] 生成行程计划文件并**用户确认后**才写入磁盘\n\n---\n\n## 五、行程规划标准文档结构\n\n### 5.1 文件路径\n\n- 即将出行：`{outputDir}/upcoming/<destination-slug>-<YYYY-MM>/<实际标题>.md`\n- 已完成：`{outputDir}/completed/<destination-slug>-<YYYY-MM>/<实际标题>.md`\n\n**命名规则**：\n\n| 组成部分 | 规则 | 示例 |\n|---------|------|------|\n| 目录名 | `<destination-slug>-<YYYY-MM>`（pinyin/英文小写 + 连字符，日期带分隔符） | `haituo-2026-06`、`japan-tokyo-kyoto-osaka-2026-08` |\n| 文件名 | `<实际标题>.md`（文档一级标题，去 emoji，保留 `·` `→` 等合法字符） | `海坨山姜庄子村小环线出行计划.md`、`日本·东京→京都→大阪 8天行程规划.md` |\n\n**示例**：\n\n| 目录 | 计划文件 |\n|------|---------|\n| `haituo-2026-06/` | `海坨山姜庄子村小环线出行计划.md` |\n| `wutaishan-2026-06/` | `五台山出行计划.md` |\n| `japan-tokyo-kyoto-osaka-2026-08/` | `日本·东京→京都→大阪 8天行程规划.md` |\n\n### 5.2 文档模板\n\n> 完整模板见 `PLAN_TEMPLATE.md`。以下为核心结构概要，详细内容和所有占位符说明以模板文件为准。\n\n| 章节 | 说明 |\n|------|------|\n| 总览 | 日期/星期/行程概要/出行方式/班次/酒店/含早/天气 汇总表 |\n| 每日安排 | DAY N 时间线表（时间/区间/节点详情/费用/备注） + 地图链接 + 本日费用 |\n| 行程详情 | 目的地文化分类 3-5 个（地理风貌/历史渊源/人文诗词/遗存遗迹/美食特产等）。**多日行程按日扩展**，每重要活动日独立一节 |\n| 徒步路线详情 | 距离/爬升/下降/预计用时/路线类型/路线分类/关键节点/轨迹来源（GPX/KML）/轨迹地图/提示 |\n| 装备清单 | 按类型分类（鞋/衣/包/导航/水/食物/防晒/药品/证件/电子/其他） |\n| 待办事项 | 订票/订酒店/装备/保险/离线地图 |\n\n### 5.3 模板使用规范\n\n| 规范 | 说明 |\n|------|------|\n| 同一酒店多日入住 | 不需要每天退房+再入住，行李寄存前台即可，表中只写\"续住\" |\n| 费用列 | 每行记录金额，末尾汇总本日费用 |\n| 火车信息 | **必须查12306获取**，禁止留\"待补充\"等占位符 |\n| 大交通格式 | 示例：D2008（成都东07:50→剑门关09:21），二等座¥104 |\n| 每日安排 | 包含从出发到入睡的完整时间线，节点紧凑 |\n| 海外费用 | **所有费用统一换算为人民币（¥）**估算，原币种金额在备注标注（如 `¥350 / $50`）。汇率使用当前实时汇率，标注换算日期 |\n| 多日行程详情 | **多日行程需为每个重要活动日扩展独立的行程详情**（文化分类、景点介绍、诗词引用等），避免只给一个笼统的目的地概述。每日常规移动日可简并 |\n\n---\n\n## 六、行程详情内容规范\n\n### 6.1 信息分级质量标准\n\n| 类别 | 要求 | 示例 |\n|------|------|------|\n| **事实类** | 简洁、清晰、正确、可验证 | D2008 成都东07:50→剑门关09:21，二等座¥104；小娅子→断碑梁 12.7km（GPS实测） |\n| **提示类** | 保证有效性和正确性，必须验证 | ⚠️ 石洞沟、抄手铺有补给（实测有商店）；⚠️ 全程无商店需自带干粮（必须实地确认） |\n| **介绍类** | 有趣、丰富、有学习价值，引用有据可查 | 古蜀道历史、金牛道典故、诗词原文+背景、美食文化 |\n\n> ⚠️ **提示类常见错误**：\n> - 说\"全程无商店\"但沿途实际有补给点 → 必须实地确认或查看真实攻略\n> - 说\"路况良好\"但实际是野路 → 查看近期真实用户评论\n> - 说\"没有野生动物\"但当地确实有 → 查阅官方信息\n\n### 6.2 目的地详情类别（按需选用）\n\n根据目的地特性选择 3-5 个最相关的类别，按相关性排序（参考小红书/马蜂窝/百度旅游热门标签）。\n\n| 类别 | 适用场景 | 典型目的地 |\n|------|---------|---------|\n| 地理风貌 | 地形、气候、植被、景观特色 | 所有目的地 |\n| 历史渊源 | 重要历史节点、战争、人物 | 古道、关隘、战场遗址 |\n| 文化典故 | 诗词、传说、著名典故发生地、人物故事 | 蜀道、庐山、岳飞庙 |\n| 人文与诗词 | 有诗词典故的目的地 | 蜀道、庐山、长江三峡 |\n| 遗存遗迹 | 路面、驿站、关隘、古建筑、古镇 | 古道、古城、古关 |\n| 美食特产 | 特色美食、风味小吃 | 所有目的地 |\n| 世界遗产 | 世界遗产/预备项目及核心价值 | 蜀道、故宫、莫高窟 |\n| 5A级景区 | 国家5A景区核心吸引物 | 剑门关、黄山、九寨沟 |\n| 宗教文化 | 著名宗教发源地、石窟、寺庙、道观 | 五台山、武当山、敦煌 |\n| 动植物 | 珍稀物种、生态特色 | 卧龙、大熊猫基地 |\n| 地质地貌 | 丹霞、卡斯特、沙漠、冰川等特殊地貌 | 张掖丹霞、黄龙 |\n| 民俗节庆 | 当地节日、习俗、手工艺 | 少数民族地区 |\n\n> **排序规则**：结合小红书/马蜂窝/百度旅游热门标签，按相关性高的优先展示。例如蜀道优先展示：遗存遗迹 > 历史渊源 > 人文与诗词 > 世界遗产 > 美食特产\n\n### 6.3 徒步路线分类\n\n| 分类 | 定义 | 示例 |\n|------|------|------|\n| 🚶 穿越 | 起终点不同，A点进B点出 | 大觉寺→阳台山→凤凰岭 |\n| 🔄 环线 | 起点=终点，路径不重复经过已走点 | 姜庄子村→大海坨→大海陀村→姜庄子村 |\n| 🔙 往返 | 起点=终点，原路返回途经已走路线 | 大觉寺→阳台山→大觉寺 |\n\n### 6.4 诗词引用规范\n\n- 标题：**《诗词名》** — 作者（朝代）\n- 原文：使用中文引号` `` `` `包裹原文\n- 背景：1-2句话说明创作时间、地点、背景\n- 赏析（可选）：1句话点出与目的地的关联\n\n### 6.5 隐私声明\n\n> 行程规划过程中会向 Wikipedia、web_search、xiaohongshu 等第三方服务发送目的地名称及关联查询（景点、路线、美食、酒店、日期关键词）。传输内容**不包含**人员数量、订单信息、姓名、身份证等个人行程数据；仅发送与目的地内容检索相关的最小必要查询词。\n\n---\n\n## 七、火车票查询规范（强制）\n\n**所有火车票查询必须使用 `12306-train-assistant` skill**\n\n### 7.1 工具位置\n\n```\n12306-train-assistant/client.py\n```\n\n### 7.2 查询命令（无需登录）\n\n> ⚠️ 用户指定日期 → 查询指定日期；未指定 → 查询今天+明天；返程日必须明确查询。\n\n```bash\n# 1. 余票查询（默认查明天）\npython3 client.py left-ticket --date YYYY-MM-DD --from 出发站 --to 到达站\n\n# 2. 经停站查询（验证车次是否正确）\npython3 client.py route --train-code 车次号 --date YYYY-MM-DD --from 出发站 --to 到达站\n\n# 3. 中转方案查询\npython3 client.py transfer-ticket --date YYYY-MM-DD --from 出发站 --to 到达站 --limit 10\n```\n\n### 7.3 验证清单\n\n- [ ] 车次号在 12306 可查到\n- [ ] 出发/到达站匹配用户需求\n- [ ] 余票充足（或已购票）\n- [ ] 经停站合理（不要坐过站）\n- [ ] 票价与 plan 一致\n\n### 7.4 已知限制\n\n- 12306 风控触发时，换日子再试，或使用 flyai 的机票/酒店功能\n- flyai 的火车票数据**不如12306准确**（例：D2008直达误显示为需绵阳换乘），**禁止用flyai替代12306查火车**\n- 如遇风控报错，稍后重试\n\n---\n\n## 八、路线距离校验规范（强制）\n\n**所有城际/乡级交通段和徒步段距离，必须用 `amap-lbs-skill` 校验**。\n\n### 8.1 工具脚本位置\n\n```\namap-lbs-skill/scripts/route-planning.js\namap-lbs-skill/scripts/poi-search.js\n```\n\n### 8.2 步骤一：地理编码（获取各节点经纬度）\n\n```bash\ncurl -s \"https://restapi.amap.com/v3/geocode/geo?address=节点名称&city=城市名&output=JSON&key=***\"\n```\n\n### 8.3 步骤二：驾车路线规划（城际/包车段）\n\n```bash\nnode amap-lbs-skill/scripts/route-planning.js \\\n  --type=driving \\\n  --origin=经度,纬度 \\\n  --destination=经度,纬度\n```\n\n### 8.4 步骤三：步行路线规划（徒步段）\n\n```bash\nnode amap-lbs-skill/scripts/route-planning.js \\\n  --type=walking \\\n  --origin=经度,纬度 \\\n  --destination=经度,纬度\n```\n\n> ⚠️ 高德步行路线走的是现代公路网，与古道/山野徒步路线不同。\n> - 古道实测距离 **<** 高德步行距离（古道是直接山野路径，高德绕行乡村公路）\n> - 应以 plan 中标注的古道实测距离为准，高德数据用于**时间偏差参考**\n\n### 8.5 校验触发条件\n\n在以下场景**必须**执行距离校验：\n- 城际包车/班车时间存疑时\n- 徒步路线距离无实测数据时\n- 行程节点衔接时间紧张时（需要确认是否可行）\n- 用户提出\"这个时间够不够\"时\n\n---\n\n**维护**: Hike Planner\n**下次审查**: 每次重要行程规划后更新\n\nFile v3.3.1:references/PLAN_TEMPLATE.md\n\n# <目的地> 出行计划\n\n**出行日期**：YYYY年MM月DD日 - MM月DD日\n**目的地**：<地点>\n**人员**：<人数>\n\n## 总览\n\n| 日期 | 星期 | 行程概要 | 出行方式 | 班次/车牌 | 住宿酒店 | 含早 | 天气 |\n|------|------|---------|---------|---------|---------|------|------|\n| MM/DD | 周X | <一句话描述> | <交通> | <班次/包车> | <酒店名> | <是/否> | <天气/气温> |\n| MM/DD | 周X | | | | | | |\n| MM/DD | 周X | | | | | | |\n\n## 每日安排\n\n### DAY X — MM/DD（周X）：<主题>\n\n| 时间 | 区间 | 节点详情 | 费用 | 备注 |\n|------|------|---------|------|------|\n| HH:MM | 出发 → 到达 | <节点名称> | ¥XX | <交通/里程/用时> |\n| HH:MM | 交通接驳 | <包车/地铁/步行> | ¥XX | <司机电话/票价> |\n| HH:MM-HH:MM | 🥾 徒步 | 路线名 距离XXkm 爬升XXXm 预计X小时 难度★★★/★★★★★ | | 轨迹/GPX/KML |\n| HH:MM | 抵达 | <节点名称> | | <食宿/活动安排> |\n\n> 🗺️ [查看地图](<高德地图链接>)\n> 💰 本日费用：<¥XX>\n\n### DAY X — MM/DD（周X）：<主题>\n\n| 时间 | 区间 | 节点详情 | 费用 | 备注 |\n|------|------|---------|------|------|\n| | | | | |\n\n> 🗺️ [查看地图]()\n> 💰 本日费用：\n\n## 行程详情\n\n> 生成规则见 hike-planner-sop 第六节\n\n### <目的地名称>\n\n根据目的地特性选择 3-5 个最相关的文化分类，类别定义见 `hike-planner-sop.md` §6.2。\n\n### 地理风貌\n\n<检索目的地所在区域的地形地貌特征、气候类型，以及最具代表性的自然景观。2-4段话。>\n\n### 历史渊源\n\n<检索目的地相关的1-2个关键历史事件，说明时间、人物、事件意义。2-4段话。>\n\n### 人文与诗词\n\n<引用1-2首诗词原文（准确引用），说明作者、朝代、创作背景。1句话点出与目的地的关联。>\n\n### 遗存遗迹\n\n<检索目的地现存的古建筑、古道、古关、石刻等遗迹实物。2-4段话。>\n\n### 世界遗产 / 5A级景区 / 宗教文化 / 民俗节庆\n\n<根据目的地特性选择相关章节，检索核心价值和吸引物。>\n\n### 美食特产\n\n<检索目的地最具代表性的地方美食1-2种，说明食材来源、烹饪特点、觅食地点。2-3段话。>\n\n### 出行建议\n\n> 生成规则见 hike-planner-sop 第六节\n\n#### 交通建议\n\n| 交通方式 | 建议 |\n|---------|------|\n| 到达交通 | <如何到达目的地：最近机场/高铁站 + 换乘方式> |\n| 离开交通 | <如何离开：最近机场/高铁站 + 班次建议> |\n| 当地交通 | <目的地内部出行：包车/公交/打车/租车建议> |\n\n#### 网红酒店推荐\n\n| 名称 | 特色 | 参考价格 |\n|------|------|---------|\n| <酒店1> | <特色描述：位置/景观/设施/风格> | <¥XX-XX/晚> |\n| <酒店2> | <特色描述> | <¥XX-XX/晚> |\n\n#### 网红景点推荐\n\n| 名称 | 亮点 | 建议时长 |\n|------|------|---------|\n| <景点1> | <必打卡理由：摄影/历史/奇观> | <XX小时> |\n| <景点2> | <必打卡理由> | <XX小时> |\n\n#### 网红活动推荐\n\n| 活动 | 特色 | 适合人群 |\n|------|------|---------|\n| <活动1> | <当地特色体验：手工艺/民俗/户外> | <适合谁> |\n| <活动2> | <当地特色体验> | <适合谁> |\n\n## 徒步路线详情\n\n> 路线分类定义见 hike-planner-sop §6.3\n\n#### <路线名>\n\n| 项目 | 数据 |\n|------|------|\n| 距离 | <XXkm> |\n| 爬升 | <XXXm> |\n| 下降 | <XXXm> |\n| 最高海拔 | <XXXXm> |\n| 预计用时 | <X-X小时> |\n| 路线类型 | <古道/山野/景区栈道/混合> |\n| 关键节点 | <起点→节点1→...→终点> |\n| 轨迹来源 | <来源+日期（GPX/KML）> |\n| ⚠️ 提示 | <补给点/危险/注意事项> |\n\n## 装备清单\n\n> 生成规则见 hike-planner-sop\n\n| 类型 | 物品 |\n|------|------|\n| 鞋 | <徒步鞋/越野跑鞋/登山靴，根据路线类型> |\n| 衣 | <速干衣裤、冲锋衣/雨衣、保暖层、换洗衣物> |\n| 包 | <徒步背包XXL、防水罩> |\n| 导航 | <手机+离线地图、GPS设备/手表、指南针> |\n| 水 | <水袋/保温杯XXL，沿途补给点> |\n| 食物 | <路餐X顿、能量棒/坚果、电解质冲剂> |\n| 防晒 | <防晒霜SPF50+、遮阳帽、太阳镜、头巾> |\n| 药品 | <创可贴、云南白药、肠胃药、感冒药、个人药品> |\n| 证件 | <身份证、学生证/老年证（如有优惠）> |\n| 电子 | <充电宝、数据线、相机/无人机（如需）> |\n| 其他 | <登山杖、头灯/手电、急救毯、现金> |\n\n## 待办事项\n\n> 生成规则见 hike-planner-sop\n\n1. [ ] 订火车票/机票（确认出发日期和班次）\n2. [ ] 订酒店（确认入住日期和房型）\n3. [ ] 检查装备清单并补齐缺失物品\n4. [ ] 购买户外保险\n5. [ ] 下载离线地图和GPX/KML轨迹\n\n> 💡 用户可通过 `todo N done` 快速标记完成（如 `todo 1 done`）。\n\n*创建日期：YYYY-MM-DD*\n\nFile v3.3.1:skill-card.md\n\n## Description: <br>\nHike Planner helps an agent create hiking trip plans with route, transportation, lodging, cultural context, equipment, GPX/KML track parsing, and map rendering, while avoiding booking, ordering, waitlisting, or payment actions. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[updatedb](https://clawhub.ai/user/updatedb) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nExternal users and travel-planning agents use this skill to build and maintain hiking itineraries from explicit user instructions, including route research, transport and lodging options, daily schedules, equipment lists, trip logs, and local plan files. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Trip plans, screenshots, order-derived details, and precise GPX/KML route traces may be stored in the configured local output directory. <br>\nMitigation: Use an isolated output directory, avoid sensitive filenames, and restrict access on shared machines. <br>\nRisk: Generated Amap and HTML map links may expose route or location details if shared or opened in the wrong context. <br>\nMitigation: Review generated map links before opening or sharing them. <br>\nRisk: Uploaded route files and shell-based map workflows can introduce unsafe or unexpected local processing paths. <br>\nMitigation: Avoid untrusted GPX/KML files and review local command execution expectations before using map generation features. <br>\n\n\n## Reference(s): <br>\n- [Hike Planner on ClawHub](https://clawhub.ai/updatedb/hike-planner) <br>\n- [Plan Template](artifact/references/PLAN_TEMPLATE.md) <br>\n- [Hike Planner SOP](artifact/references/hike-planner-sop.md) <br>\n- [2bulu Track Search](https://www.2bulu.com/track) <br>\n- [Fly.ai Console](https://open.fly.ai/console) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, code, shell commands, configuration, guidance] <br>\n**Output Format:** [Markdown trip plans, JSON trip state, HTML map files, shell command guidance, and plain-text status or validation messages.] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [May read and write trip state, plan files, GPX/KML-derived data, and rendered map artifacts under the configured output directory.] <br>\n\n## Skill Version(s): <br>\n3.3.1 (source: server release metadata) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nFile v3.3.1:planner/config.json\n\n{\n  \"outputDir\": \"/home/openclaw/travel/trip/\",\n  \"webBaseUrl\": \"\"\n}\n\nArchive v3.3.0: 11 files, 70197 bytes\n\nFiles: _meta.json (131b), assets/gpx-parser.py (5703b), assets/kml-parser.py (9572b), planner/config.json (69b), references/hike-planner-sop.md (20145b), references/PLAN_TEMPLATE.md (4873b), scripts/generate-track-map.py (30323b), scripts/hike-planner.js (113759b), scripts/render-itinerary-map.js (13524b), skill-card.md (2786b), SKILL.md (7915b)\n\nFile v3.3.0:SKILL.md\n\n---\nname: Hike Planner\ndescription: 一站式徒步出行规划。根据用户明确指令生成行程计划（含徒步路线/交通/住宿/人文/装备）。支持查询票务/酒店信息，不执行订票/下单/候补/支付。多源交叉验证（12306/两步路/高德/小红书/GPX/KML文件）。行程状态持久化到本地文件，编辑命令自动写入，短信解析需用户确认。\npermissions:\n  filesystem: 在用户指定的 outputDir 下读写行程状态文件\n  network: restapi.amap.com, is.autonavi.com, a.amap.com, wikipedia.org, 2bulu.com, xiaohongshu.com, bilibili.com, unpkg.com\n  environment: AMAP_WEBSERVICE_KEY\n  execution: curl, python3, node\n---\n\n# hike-planner\n\n> 从0开始逐步完善的智能行程规划工具。**需要用户明确提供出行日期、目的地和活动类型**才会开始规划。详细执行规范见 `hike-planner-sop.md`。\n\n## 能力\n\n| 能力维度 | 说明 |\n|---------|------|\n| 🚀 便捷 | 输入日期、目的地、活动类型，10 分钟内生成含大交通、酒店、徒步路线、人文介绍、装备清单的完整计划 |\n| 🔍 可靠 | 12306 / flyai 校验机票火车票，两步路 / 小红书查询路线，接受 GPX/KML 轨迹文件补充，高德地图保证里程准确 |\n| ⏱️ 精准 | 锁定大交通时间 + 锁定徒步路线时间为双锚点，按时间顺排倒排，确保节点衔接无冲突 |\n| 🗺️ 可视 | 每日行程自动生成高德地图链接，节点标注 + 交通路线一目了然。GPX/KML 轨迹渲染为交互式地图，支持多路线对比分析 |\n| 📚 有料 | 人文信息按目的地特性自动分类检索，与行程强关联（诗词对应徒步路段，美食定位补给点） |\n\n### 内置能力\n\n| 能力 | 说明 |\n|------|------|\n| 徒步路线搜索 | 两步路 + 小红书攻略 + B站视频（搜索策略详见 SOP §3.1）|\n| 行程地图渲染 | 高德地图可视化链接（依赖 amap-lbs-skill）。⚠️ 行程站点名称会通过网络发送给高德地图（Amap）API。 |\n| 人文信息收集 | Wikipedia + web_search + xiaohongshu |\n| 行程计划生成 | 按 PLAN_TEMPLATE 标准格式输出 |\n| 行中记录/行后汇总 | 实际 vs 计划对比 + 归档 |\n\n## 命令\n\n| 命令 | 说明 |\n|------|------|\n| `hike [目的地] [活动?]` | 查询目的地介绍+推荐经典徒步路线。不创建行程、不管理状态。示例：`hike 四姑娘山` |\n| `hike-init [日期] [目的地] [活动]` | 启动规划。日期/目的地/活动为必填，直接从参数解析。首次使用将征得您同意确认保存到 outputDir。示例：`hike-init 2026-06-01 古蜀道 徒步+文化探访`。若未提供完整参数则交互补问缺失项。 |\n| `hike-list` | 列出所有未完成行程；`hike-list <tripId>` 归档并汇总指定行程 |\n| `hike-select output <路径>` | 设置/切换默认输出目录（持久化到 `{skillDir}/planner/config.json`） |\n| `hike-select baseurl <URL>` | 设置 Web 基础 URL（用于轨迹地图链接，默认 `http://localhost`）。不传参数查看当前值。 |\n| `hike-select <行程名>` | 激活/选择某个行程进行管理。匹配 tripId 或目的地关键词（模糊匹配）。选择后 hike-status/today/log 都作用于该行程。 |\n| `hike-status` | 查看当前行程状态与概览（作用于 hike-select 选中的行程） |\n| `hike-log [内容]` | 记录行程最新信息：🚄 订好车票 / ✈️ 订好机票 / 🏨 订了酒店 / 💰 支出花销。粘贴 12306/航司/酒店 OTA 订单短信自动解析并更新行程。⚠️ 解析前会弹窗确认，仅提取订单关键字段（车次/航班/站点/日期），不保留原始短信全文。 |\n| `hike-today` | 查看今日计划（时间线 + 地图，作用于选中行程） |\n| `hike-add [dayN] [路线A-B]` | 添加 A-B 行程段到 DayN，后续行程自动推后 |\n| `hike-del [dayN]` | ⚠️ 删除 DayN 整个日程，立即写入磁盘且不可撤销。后续日程自动移前。 |\n| `hike-reorder [dayN] after\\|before\\|to [dayM]` | ⚠️ 重排日程顺序，立即写入磁盘。将 DayN 移到 DayM 之后/之前，或让 DayN 成为新的 DayM。 |\n| `todo [N] done` | ✅ 通过编号快速完成待办。示例：`todo 1 done`、`TODO 3 done`。 |\n\n## 示例\n\n```text\nhike 四姑娘山 徒步\n```\n\n> 纯查询模式，不创建行程。返回目的地文化介绍（地理/历史/人文/美食等 3-5 个分类）和经典徒步路线详情（路线名/距离/爬升/难度/关键节点/提示）。\n\n```text\nhike-init 2026-06-01 古蜀道 徒步+文化探访\n```\n\nAgent 交互收集需求后，自动执行搜索与生成。以「古蜀道 5/13-5/16」真实输出为例：\n\n**总览**：\n\n| 日期 | 星期 | 行程概要 | 出行方式 | 班次/车牌 | 住宿酒店 | 含早 | 天气 |\n|------|------|---------|---------|---------|---------|------|------|\n| 5/13 | 周三 | 抵达成都，逛宽窄巷子/锦里 | ✈️ | CA4117 北京→成都 | 维也纳国际酒店(成都东站) | 否 | 晴 |\n| 5/14 | 周四 | 成都东→剑门关→小娅子徒步→普安镇 | 🚄+🚗+🥾 | D2008+包车 | 剑阁瑞山酒店 | 是 | ☀️31°C/16°C |\n| 5/15 | 周五 | 汉阳镇→普安镇徒步10km | 🥾+🚗 | 包车+徒步 | 剑阁瑞山酒店 | 是 | 多云28°C/18°C |\n| 5/16 | 周六 | 拦马墙→剑门关→成都→北京 | 🥾+🚄+✈️ | D1973+CA4117 | | | 晴29°C/17°C |\n\n**DAY 3 — 5/16（周六）：拦马墙→返程北京**：\n\n| 时间 | 区间 | 节点详情 | 费用 | 备注 |\n|------|------|---------|------|------|\n| 07:00 | 起床退房 | 行李寄存前台 | | 必须早起 |\n| 07:00-07:30 | 早餐 | 酒店含早 | | |\n| 07:30-07:40 | 🚗 包车 | 酒店→拦马墙起点 | ¥30-50 | 约10min |\n| 07:40-10:10 | 🥾 徒步 | 拦马墙→普安镇（折返） | | 7.5km，约2.5h |\n| 10:10-10:30 | 取行李+简餐 | 普安镇 | ¥15 | 20min |\n| 10:30-11:00 | 🚗 包车 | 普安镇→剑门关站 | ¥80-100 | |\n| 11:00 | 到达剑门关站 | 候车29分钟 | | 🟢 刚好 |\n| 11:29-12:56 | 🚄 D1973 | 剑门关→成都东 | ¥104 | 已购票 |\n| 12:56 | 抵达成都东 | | | |\n| 13:00-15:00 | 午餐 | 苏坦土耳其餐厅（玉林店） | ¥100 | 请上海来的朋友 |\n| 15:00-15:40 | 🚇 地铁 | 东站→双流机场（7号线） | ¥8-9 | |\n| 17:00-20:00 | ✈️ CA4117 | 双流→首都T3 | 已购票 | 2h24m |\n\n> ⚠️ 时间紧，务必早起！候车不超过30分钟\n> 🗺️ [查看地图](https://a.amap.com/...)\n> 💰 本日费用：约¥300-400（包车+午餐+地铁）\n\n**徒步路线详情 — 路线二：汉阳镇→普安镇**：\n\n| 项目 | 数据 |\n|------|------|\n| 距离 | 10.05km |\n| 爬升 | 286m |\n| 下降 | 327m |\n| 预计用时 | 3.5-4小时 |\n| 路线类型 | 古道+乡村公路 |\n| 关键节点 | 汉阳镇体育中心→石洞沟→抄手铺→碑梁村→卧龙社区→普安镇 |\n| ⚠️ 提示 | 石洞沟、抄手铺有补给；抄手铺的钟婆婆抄手售咖啡 |\n\n## 外部依赖\n\n以下 Skill 为可选依赖。hike-init 启动时自动检测，若未安装则提示用户。\n\n| 依赖 | 用途 | 安装 |\n|------|------|------|\n| `12306-train-assistant` | 火车票余票/价格/时刻查询 | `npx clawhub install 12306-train-assistant` |\n| `amap-lbs-skill` | 距离/路线/地图 | `npx clawhub install amap-lbs-skill` |\n| `flyai` | 机票/酒店查询 | `npx clawhub install flyai`（安装后需到 [open.fly.ai](https://open.fly.ai/console) 获取 API Key） |\n| `xiaohongshu` | 小红书攻略搜索（需先登录） | `npx clawhub install xiaohongshu` |\n\n> 💡 hike-init 时会检测依赖可用性。缺失时提示用户安装或手动输入信息。不可用时的保底策略见 `hike-planner-sop.md`。\n\n## 不做\n\n- 🔒 自动订票 / 下单 / 支付\n\n> ⚠️ 不执行订票、下单、候补、支付等操作，但会保存行程、目的地、出行时间等信息。\n\nFile v3.3.0:_meta.json\n\n{\n  \"ownerId\": \"kn73h0b3vxspe7143ad7dk07xn822pwv\",\n  \"slug\": \"hike-planner\",\n  \"version\": \"3.3.0\",\n  \"publishedAt\": 1780042711983\n}\n\nFile v3.3.0:references/hike-planner-sop.md\n\n# Hike Planner SOP — 徒步行程规划助手\n\n**版本**: v3.1\n**创建日期**: 2026-05-14\n**最后更新**: 2026-05-29（裁剪：移除订票/购买/候补/日历/邮件/记忆/主动推送等 scope creep，不执行订票/下单/候补/支付+用户驱动原则）\n\n---\n\n## 一、职责定位\n\n**角色**: 徒步行程规划助手\n\n**核心职责**:\n- ✅ **行程前** — 根据用户明确指令规划徒步路线，查询可用的票务、酒店信息（不执行订票/下单/候补/支付），输出行程计划到本地文件\n- ✅ **行程中** — 根据用户提供的短信/订单信息更新行程状态，记录实际出行日志\n- ✅ **行程后** — 汇总实际行程数据，归档到 completed 目录\n\n> ⚠️ **文件写入规则**：\n> - `hike-init` 首次创建行程 → 弹窗确认 outputDir 后，写入状态文件 + 行程计划文件\n> - `hike-log` 含疑似短信内容 → 弹窗确认后才解析并保存\n> - `hike-add / hike-del / hike-reorder` 等编辑命令 → 用户主动操作，直接覆写行程计划文件（不弹窗，等同于\"保存\"）\n>   - ⚠️ `hike-del` 删除日程后不可撤销，建议执行前手动备份行程计划文件\n>   - ⚠️ `hike-reorder` 重排后原顺序不可恢复\n> - `hike-select output` 切换输出目录 → 用户主动命令，直接写入 `{skillDir}/planner/config.json`（不弹窗）\n> - 所有持久化文件清单：`{skillDir}/planner/config.json`（全局配置）、`{outputDir}/.hike-planner-state.json`（行程状态）、`{outputDir}/upcoming/{tripId}/{planFilename}`（行程计划）\n\n---\n\n## 二、Skills 清单\n\n| Skill | 用途 | 触发场景 |\n|-------|------|---------|\n| hike-planner 内置 | 徒步路线搜索+行程地图渲染+GPX/KML轨迹解析 | \"搜索古蜀道路线\"、\"生成行程地图\"、\"导入GPX/KML轨迹\" |\n| `12306-train-assistant` | 火车票时刻/票价/经停站查询 | \"查火车票\"、\"D2008经停站\"（**强制使用**） |\n| `amap-lbs-skill` | 距离计算、路线规划、地理编码 | \"计算两地距离\"、\"校验路线\"（**强制使用**） |\n| 'flyai','飞艾','飞猪' | 机票/酒店查询比价 | 「搜剑门附近酒店」「搜北京到成都最便宜的机票」 |\n| `weather` | 天气预报 | \"徒步那天天气如何\" |\n| `web_search` / `tavily_search` | 实时信息查询 | \"五一川西路况\" |\n\n> ⚠️ **数据源分工规则**:\n> - **火车票** → 必须用 `12306-train-assistant`（flyai 的火车数据不如12306准确，曾出现直达车误显示为需换乘的错误）\n> - **机票/酒店/景点** → `flyai`（飞猪MCP）\n> - **距离/路线** → `amap-lbs-skill`（强制，禁止用经纬度公式估算）\n> - **目的地知识** → Wikipedia + 小红书（维基百科为主，小红书补充真实用户体验）\n> - **两步路/小红书均不可用时** → 明确告知用户信息源不可用，请用户人工提供路线信息或确认搜索结果的可靠性\n> - 禁止用非官方渠道查询火车票余票/经停站\n>\n> ⚠️ 不执行订票、下单、候补、支付等操作，但会保存行程、目的地、出行时间等信息。\n>\n> ⚠️ **先检索，再撰写**：禁止捏造信息。Wikipedia 用于地理/历史/人物事实，小红书用于真实用户体验/补给点/当季路况，12306 用于火车票，flyai 用于机票/酒店，amap-lbs-skill 用于距离/路线。\n\n---\n\n## 三、完整工作流\n\n### 3.1 行程规划流程（出发前）\n\n```\n收集需求 → 锁定大交通 → 起点顺排 → 终点倒排 → 安排小交通 → 填补日常安排\n```\n\n**第一步：收集需求（必须先做）**\n\n> ⚠️ 没有需求就没有规划，需求不清不进入下一步\n\n| 信息项 | 说明 | 示例 |\n|--------|------|------|\n| 出行日期 | 出发日期+返回日期（单程可不填返回）| \"5月13日去，5月16日回\" |\n| 出发地 | 出发城市/地点 | \"北京\"、\"成都\" |\n| 目的地 | 主要目的地 | \"剑门关\"、\"古蜀道\" |\n| 返程地 | 单程可不填 | \"回北京\" |\n| 人员数量 | 出行人数 | \"2人\"、\"1大1小\" |\n| 偏好 | 交通方式/住宿/餐饮/体力分配 | \"自驾\"、\"少走路\"、\"住亚朵\" |\n\n**步骤说明**:\n\n1. **收集需求（先问清楚）** — 日期、地点、人数、偏好，不清楚时必须询问用户，不能猜测\n2. **搜索路线** — 徒步轨迹搜索为 hike-planner 内置能力。两步路为主：访问 `https://www.2bulu.com/track` 搜索轨迹（如 web_fetch 无法访问，使用 browser 工具以真实浏览器打开该链接）；小红书/B站 补充图片和视频。如有用户提供的 GPX/KML 文件，优先解析获取精确坐标和实测距离。\n\n    **小红书搜索策略（强约束）**：\n    \n    a. **关键词组合模板**（每次必须覆盖）：\n    \n    | 类别 | 搜索关键词 | 目的 |\n    |------|-----------|------|\n    | 避坑 | `<目的地> 避坑` | 提前发现常见陷阱 |\n    | 时效攻略 | `<目的地> 最新攻略 <年份>` | 获取最新路线/路况 |\n    | 天气 | `<目的地> <月份> 天气` | 季节穿衣/装备参考 |\n    | 防宰 | `<目的地> 防宰` | 物价/餐饮/交通防坑 |\n    | 物价 | `<目的地> 物价` | 预算评估 |\n    | 景点评估 | `<景点名> 值不值得去` | 是否纳入行程 |\n    \n    b. **陷阱识别规则**：\n    - 90% \"精品一日游\" 帖子是商业推广 → 看评论区 + 发帖时间筛真实内容\n    - 帖子含 \"私信/加微信/进群\" → 直接标记为推广，降权\n    - 同一账号批量发同类帖 → 推广号\n    - 连续多个帖子字数高度相似 → 疑似AI生成，降权\n    - 仅配航拍/宣传图无手机随拍 → 商业文案\n    \n    c. **评论区必看**（评论区比正文更真实）：\n    - 负面评论 \"踩坑了/不值得\" → 重点分析原因\n    - 追问回复 \"求路线/怎么去\" → 实用信息源\n    - 时间类信息 \"排队XX小时\" → 安排 buffer\n    - \"推荐XX师傅/司机\" → 可能真实，需交叉验证\n    \n    d. **可信度评级标准**：\n    \n    | 信号 | 加分 | 减分 |\n    |------|------|------|\n    | 发帖时间 ≤ 3 个月 | +2 | — |\n    | 手机随拍 + 路线描述 | +2 | — |\n    | 花费明细 | +1 | — |\n    | 有槽点/负面评价 | +1 | — |\n    | 含 \"私信/加微信\" | — | -3 |\n    | 纯航拍/宣传图 | — | -2 |\n    | 账号无历史内容 | — | -2 |\n    | 全文只夸不批 | — | -1 |\n\n3. **接收并解析轨迹文件（如有）** — 如用户发送了 GPX/KML 轨迹文件（Garmin Connect/佳明/两步路导出/Google Earth等），解析并提取：\n\n    **必须提取的数据**：\n    - 起终点 GPS 坐标（lat/lng）— 用于地图渲染，直接定位，无需地理编码\n    - 关键节点的 GPS 坐标列表（waypoints）— 存入 `hikingRoutes[].waypoints`，地图渲染时优先使用\n    - 总距离、累计爬升/下降、海拔曲线\n\n    > ⚠️ **GPX/KML 为最高优先级数据源**：当网络搜索（两步路/小红书等）的路线数据与上传的 GPX/KML 轨迹存在偏差时，**以 GPX/KML 为准**。轨迹文件是实地记录的实测数据，距离、爬升、节点坐标均以轨迹文件数据覆盖搜索结果中的估算值。\n    >\n    > 🛰️ **GPS 坐标直接用于地图渲染**：从 GPX/KML 提取的 waypoint 坐标（lat/lng）无需经过高德地理编码，直接传给 `render-itinerary-map.js --coords` 生成精确路线图。只有没有 GPX/KML 时才走地理编码流程。\n    >\n    > GPX/KML 轨迹 ≠ 实际古道路线：GPS 记录的是用户走过的实际路径，可能绕行或偏移。但即便如此，轨迹数据仍是可获得的最高精度数据源。\n\n4. **锁定大交通（核心约束）** — 飞机、高铁等大交通时间是固定锚点，一切围绕它展开\n5. **起点顺排** — 从出发地开始，按时间顺序安排每段小交通+活动\n6. **终点倒排** — 从大交通终点回推，确保每个节点时间衔接合理\n7. **安排小交通** — 城际交通、包车、公交等基于前两步的时间窗口安排\n8. **填补日常安排** — 餐饮、休息、景点等填入时间空隙\n9. **生成行程地图** — 行程确认后，使用 `hike-planner/scripts/render-itinerary-map.js` 为每日行程生成高德地图可视化链接。\n\n    **地理编码消歧义（重要）**：同一地名可能存在于多个省份（如\"姜庄子村\"），地理编码前必须附加省市区县前缀。建议传入 `destinationRegion`（如 \"北京市延庆区\"）作为定位范围，消除重名歧义，确保路线计算正确。\n\n    调用时传入节点对应的省市区县前缀，例如：\n    ```bash\n    # 格式：节点列表 | 城市 | 路线类型 | 省市区县前缀列表\n    node render-itinerary-map.js --stops=\"姜庄子村,小海坨,大海陀村\" --routeType=\"walking,walking\" --region=\"北京市延庆区,北京市延庆区,河北省赤城县\"\n    ```\n\n10. **模板完整性检查** — 行程计划文件生成完成后，调用 `hike-planner.js` 的 `validatePlan(content, trip)` 函数对照 PLAN_TEMPLATE 检查所有板块是否完整。检查项包括：6 个顶级章节（总览/每日安排/行程详情/徒步路线详情/装备清单/待办事项）、文化分类 ≥3 个、每日地图链接、装备清单表格、待办事项等。如有缺失或警告，立即补齐后重新验证。\n\n    **导航类型规范**：\n    - 🥾 徒步段 → `walking`\n    - 🚗 出租/包车/自驾 → `driving`\n    - 🚌 公交段 → `driving`\n    - 🚄 火车 / ✈️ 飞机 → 直线连接（两点间用 straight line）\n\n### 3.2 时间规划核心原则\n\n> ⚠️ **大交通是锚点，是约束，是起点也是终点**\n\n**正确顺序**：\n1. 确认大交通时间（机票/火车票）\n2. 以大交通为锚点，**倒排**当天返程活动\n3. 以大交通为锚点，**顺排**去程活动\n4. 检查各节点时间衔接是否满足最小候车/候机时间\n\n**候车/候机时间规范**：\n- 高铁站：候车不超 30 分钟为佳\n- 机场：提前 1 小时到达办理登机\n\n### 3.3 行程执行流程（出发后）\n\n```\n用户查询状态 → 查看今日计划 → 记录实际进度 → 突发应变 → 行程收尾\n```\n\n> 所有查询均为用户驱动。用户可通过 `hike-status`（概览）、`hike-today`（今日时间线+地图）、`hike-log`（记录实际信息）主动获取和更新行程状态，Skill 不进行未经请求的主动推送。\n\n### 3.4 行程收尾流程（返回后）\n\n```\n记录实际出行数据 → 与计划对比 → 文件归档到 completed 目录\n```\n\n---\n\n## 四、启动检查清单\n\n每次行程规划启动前：\n\n- [ ] 理解用户出行目的（徒步/出差/家人游/个人探索）\n- [ ] 确认时间范围、交通偏好、住宿偏好（§3.1 第一步）\n- [ ] 创建行程目录前**征得用户明确同意**（告知输出路径和数据范围）\n- [ ] 创建行程目录（格式见 §5.1）\n- [ ] 查天气确认是否合适\n- [ ] 火车票用 12306 skill 验证（§七）\n- [ ] 城际/包车段距离用 amap-lbs-skill 校验（§八）\n- [ ] **向用户说明高德地图 API 调用会传输节点名称**\n- [ ] 生成行程计划文件并**用户确认后**才写入磁盘\n\n---\n\n## 五、行程规划标准文档结构\n\n### 5.1 文件路径\n\n- 即将出行：`{outputDir}/upcoming/<destination-slug>-<YYYY-MM>/<实际标题>.md`\n- 已完成：`{outputDir}/completed/<destination-slug>-<YYYY-MM>/<实际标题>.md`\n\n**命名规则**：\n\n| 组成部分 | 规则 | 示例 |\n|---------|------|------|\n| 目录名 | `<destination-slug>-<YYYY-MM>`（pinyin/英文小写 + 连字符，日期带分隔符） | `haituo-2026-06`、`japan-tokyo-kyoto-osaka-2026-08` |\n| 文件名 | `<实际标题>.md`（文档一级标题，去 emoji，保留 `·` `→` 等合法字符） | `海坨山姜庄子村小环线出行计划.md`、`日本·东京→京都→大阪 8天行程规划.md` |\n\n**示例**：\n\n| 目录 | 计划文件 |\n|------|---------|\n| `haituo-2026-06/` | `海坨山姜庄子村小环线出行计划.md` |\n| `wutaishan-2026-06/` | `五台山出行计划.md` |\n| `japan-tokyo-kyoto-osaka-2026-08/` | `日本·东京→京都→大阪 8天行程规划.md` |\n\n### 5.2 文档模板\n\n> 完整模板见 `PLAN_TEMPLATE.md`。以下为核心结构概要，详细内容和所有占位符说明以模板文件为准。\n\n| 章节 | 说明 |\n|------|------|\n| 总览 | 日期/星期/行程概要/出行方式/班次/酒店/含早/天气 汇总表 |\n| 每日安排 | DAY N 时间线表（时间/区间/节点详情/费用/备注） + 地图链接 + 本日费用 |\n| 行程详情 | 目的地文化分类 3-5 个（地理风貌/历史渊源/人文诗词/遗存遗迹/美食特产等）。**多日行程按日扩展**，每重要活动日独立一节 |\n| 徒步路线详情 | 距离/爬升/下降/预计用时/路线类型/路线分类/关键节点/轨迹来源（GPX/KML）/轨迹地图/提示 |\n| 装备清单 | 按类型分类（鞋/衣/包/导航/水/食物/防晒/药品/证件/电子/其他） |\n| 待办事项 | 订票/订酒店/装备/保险/离线地图 |\n\n### 5.3 模板使用规范\n\n| 规范 | 说明 |\n|------|------|\n| 同一酒店多日入住 | 不需要每天退房+再入住，行李寄存前台即可，表中只写\"续住\" |\n| 费用列 | 每行记录金额，末尾汇总本日费用 |\n| 火车信息 | **必须查12306获取**，禁止留\"待补充\"等占位符 |\n| 大交通格式 | 示例：D2008（成都东07:50→剑门关09:21），二等座¥104 |\n| 每日安排 | 包含从出发到入睡的完整时间线，节点紧凑 |\n| 海外费用 | **所有费用统一换算为人民币（¥）**估算，原币种金额在备注标注（如 `¥350 / $50`）。汇率使用当前实时汇率，标注换算日期 |\n| 多日行程详情 | **多日行程需为每个重要活动日扩展独立的行程详情**（文化分类、景点介绍、诗词引用等），避免只给一个笼统的目的地概述。每日常规移动日可简并 |\n\n---\n\n## 六、行程详情内容规范\n\n### 6.1 信息分级质量标准\n\n| 类别 | 要求 | 示例 |\n|------|------|------|\n| **事实类** | 简洁、清晰、正确、可验证 | D2008 成都东07:50→剑门关09:21，二等座¥104；小娅子→断碑梁 12.7km（GPS实测） |\n| **提示类** | 保证有效性和正确性，必须验证 | ⚠️ 石洞沟、抄手铺有补给（实测有商店）；⚠️ 全程无商店需自带干粮（必须实地确认） |\n| **介绍类** | 有趣、丰富、有学习价值，引用有据可查 | 古蜀道历史、金牛道典故、诗词原文+背景、美食文化 |\n\n> ⚠️ **提示类常见错误**：\n> - 说\"全程无商店\"但沿途实际有补给点 → 必须实地确认或查看真实攻略\n> - 说\"路况良好\"但实际是野路 → 查看近期真实用户评论\n> - 说\"没有野生动物\"但当地确实有 → 查阅官方信息\n\n### 6.2 目的地详情类别（按需选用）\n\n根据目的地特性选择 3-5 个最相关的类别，按相关性排序（参考小红书/马蜂窝/百度旅游热门标签）。\n\n| 类别 | 适用场景 | 典型目的地 |\n|------|---------|---------|\n| 地理风貌 | 地形、气候、植被、景观特色 | 所有目的地 |\n| 历史渊源 | 重要历史节点、战争、人物 | 古道、关隘、战场遗址 |\n| 文化典故 | 诗词、传说、著名典故发生地、人物故事 | 蜀道、庐山、岳飞庙 |\n| 人文与诗词 | 有诗词典故的目的地 | 蜀道、庐山、长江三峡 |\n| 遗存遗迹 | 路面、驿站、关隘、古建筑、古镇 | 古道、古城、古关 |\n| 美食特产 | 特色美食、风味小吃 | 所有目的地 |\n| 世界遗产 | 世界遗产/预备项目及核心价值 | 蜀道、故宫、莫高窟 |\n| 5A级景区 | 国家5A景区核心吸引物 | 剑门关、黄山、九寨沟 |\n| 宗教文化 | 著名宗教发源地、石窟、寺庙、道观 | 五台山、武当山、敦煌 |\n| 动植物 | 珍稀物种、生态特色 | 卧龙、大熊猫基地 |\n| 地质地貌 | 丹霞、卡斯特、沙漠、冰川等特殊地貌 | 张掖丹霞、黄龙 |\n| 民俗节庆 | 当地节日、习俗、手工艺 | 少数民族地区 |\n\n> **排序规则**：结合小红书/马蜂窝/百度旅游热门标签，按相关性高的优先展示。例如蜀道优先展示：遗存遗迹 > 历史渊源 > 人文与诗词 > 世界遗产 > 美食特产\n\n### 6.3 徒步路线分类\n\n| 分类 | 定义 | 示例 |\n|------|------|------|\n| 🚶 穿越 | 起终点不同，A点进B点出 | 大觉寺→阳台山→凤凰岭 |\n| 🔄 环线 | 起点=终点，路径不重复经过已走点 | 姜庄子村→大海坨→大海陀村→姜庄子村 |\n| 🔙 往返 | 起点=终点，原路返回途经已走路线 | 大觉寺→阳台山→大觉寺 |\n\n### 6.4 诗词引用规范\n\n- 标题：**《诗词名》** — 作者（朝代）\n- 原文：使用中文引号` `` `` `包裹原文\n- 背景：1-2句话说明创作时间、地点、背景\n- 赏析（可选）：1句话点出与目的地的关联\n\n### 6.5 隐私声明\n\n> 行程规划过程中会向 Wikipedia、web_search、xiaohongshu 等第三方服务发送目的地名称及关联查询（景点、路线、美食、酒店、日期关键词）。传输内容**不包含**人员数量、订单信息、姓名、身份证等个人行程数据；仅发送与目的地内容检索相关的最小必要查询词。\n\n---\n\n## 七、火车票查询规范（强制）\n\n**所有火车票查询必须使用 `12306-train-assistant` skill**\n\n### 7.1 工具位置\n\n```\n12306-train-assistant/client.py\n```\n\n### 7.2 查询命令（无需登录）\n\n> ⚠️ 用户指定日期 → 查询指定日期；未指定 → 查询今天+明天；返程日必须明确查询。\n\n```bash\n# 1. 余票查询（默认查明天）\npython3 client.py left-ticket --date YYYY-MM-DD --from 出发站 --to 到达站\n\n# 2. 经停站查询（验证车次是否正确）\npython3 client.py route --train-code 车次号 --date YYYY-MM-DD --from 出发站 --to 到达站\n\n# 3. 中转方案查询\npython3 client.py transfer-ticket --date YYYY-MM-DD --from 出发站 --to 到达站 --limit 10\n```\n\n### 7.3 验证清单\n\n- [ ] 车次号在 12306 可查到\n- [ ] 出发/到达站匹配用户需求\n- [ ] 余票充足（或已购票）\n- [ ] 经停站合理（不要坐过站）\n- [ ] 票价与 plan 一致\n\n### 7.4 已知限制\n\n- 12306 风控触发时，换日子再试，或使用 flyai 的机票/酒店功能\n- flyai 的火车票数据**不如12306准确**（例：D2008直达误显示为需绵阳换乘），**禁止用flyai替代12306查火车**\n- 如遇风控报错，稍后重试\n\n---\n\n## 八、路线距离校验规范（强制）\n\n**所有城际/乡级交通段和徒步段距离，必须用 `amap-lbs-skill` 校验**。\n\n### 8.1 工具脚本位置\n\n```\namap-lbs-skill/scripts/route-planning.js\namap-lbs-skill/scripts/poi-search.js\n```\n\n### 8.2 步骤一：地理编码（获取各节点经纬度）\n\n```bash\ncurl -s \"https://restapi.amap.com/v3/geocode/geo?address=节点名称&city=城市名&output=JSON&key=***\"\n```\n\n### 8.3 步骤二：驾车路线规划（城际/包车段）\n\n```bash\nnode amap-lbs-skill/scripts/route-planning.js \\\n  --type=driving \\\n  --origin=经度,纬度 \\\n  --destination=经度,纬度\n```\n\n### 8.4 步骤三：步行路线规划（徒步段）\n\n```bash\nnode amap-lbs-skill/scripts/route-planning.js \\\n  --type=walking \\\n  --origin=经度,纬度 \\\n  --destination=经度,纬度\n```\n\n> ⚠️ 高德步行路线走的是现代公路网，与古道/山野徒步路线不同。\n> - 古道实测距离 **<** 高德步行距离（古道是直接山野路径，高德绕行乡村公路）\n> - 应以 plan 中标注的古道实测距离为准，高德数据用于**时间偏差参考**\n\n### 8.5 校验触发条件\n\n在以下场景**必须**执行距离校验：\n- 城际包车/班车时间存疑时\n- 徒步路线距离无实测数据时\n- 行程节点衔接时间紧张时（需要确认是否可行）\n- 用户提出\"这个时间够不够\"时\n\n---\n\n**维护**: Hike Planner\n**下次审查**: 每次重要行程规划后更新\n\nFile v3.3.0:references/PLAN_TEMPLATE.md\n\n# <目的地> 出行计划\n\n**出行日期**：YYYY年MM月DD日 - MM月DD日\n**目的地**：<地点>\n**人员**：<人数>\n\n## 总览\n\n| 日期 | 星期 | 行程概要 | 出行方式 | 班次/车牌 | 住宿酒店 | 含早 | 天气 |\n|------|------|---------|---------|---------|---------|------|------|\n| MM/DD | 周X | <一句话描述> | <交通> | <班次/包车> | <酒店名> | <是/否> | <天气/气温> |\n| MM/DD | 周X | | | | | | |\n| MM/DD | 周X | | | | | | |\n\n## 每日安排\n\n### DAY X — MM/DD（周X）：<主题>\n\n| 时间 | 区间 | 节点详情 | 费用 | 备注 |\n|------|------|---------|------|------|\n| HH:MM | 出发 → 到达 | <节点名称> | ¥XX | <交通/里程/用时> |\n| HH:MM | 交通接驳 | <包车/地铁/步行> | ¥XX | <司机电话/票价> |\n| HH:MM-HH:MM | 🥾 徒步 | 路线名 距离XXkm 爬升XXXm 预计X小时 难度★★★/★★★★★ | | 轨迹/GPX/KML |\n| HH:MM | 抵达 | <节点名称> | | <食宿/活动安排> |\n\n> 🗺️ [查看地图](<高德地图链接>)\n> 💰 本日费用：<¥XX>\n\n### DAY X — MM/DD（周X）：<主题>\n\n| 时间 | 区间 | 节点详情 | 费用 | 备注 |\n|------|------|---------|------|------|\n| | | | | |\n\n> 🗺️ [查看地图]()\n> 💰 本日费用：\n\n## 行程详情\n\n> 生成规则见 hike-planner-sop 第六节\n\n### <目的地名称>\n\n根据目的地特性选择 3-5 个最相关的文化分类，类别定义见 `hike-planner-sop.md` §6.2。\n\n### 地理风貌\n\n<检索目的地所在区域的地形地貌特征、气候类型，以及最具代表性的自然景观。2-4段话。>\n\n### 历史渊源\n\n<检索目的地相关的1-2个关键历史事件，说明时间、人物、事件意义。2-4段话。>\n\n### 人文与诗词\n\n<引用1-2首诗词原文（准确引用），说明作者、朝代、创作背景。1句话点出与目的地的关联。>\n\n### 遗存遗迹\n\n<检索目的地现存的古建筑、古道、古关、石刻等遗迹实物。2-4段话。>\n\n### 世界遗产 / 5A级景区 / 宗教文化 / 民俗节庆\n\n<根据目的地特性选择相关章节，检索核心价值和吸引物。>\n\n### 美食特产\n\n<检索目的地最具代表性的地方美食1-2种，说明食材来源、烹饪特点、觅食地点。2-3段话。>\n\n### 出行建议\n\n> 生成规则见 hike-planner-sop 第六节\n\n#### 交通建议\n\n| 交通方式 | 建议 |\n|---------|------|\n| 到达交通 | <如何到达目的地：最近机场/高铁站 + 换乘方式> |\n| 离开交通 | <如何离开：最近机场/高铁站 + 班次建议> |\n| 当地交通 | <目的地内部出行：包车/公交/打车/租车建议> |\n\n#### 网红酒店推荐\n\n| 名称 | 特色 | 参考价格 |\n|------|------|---------|\n| <酒店1> | <特色描述：位置/景观/设施/风格> | <¥XX-XX/晚> |\n| <酒店2> | <特色描述> | <¥XX-XX/晚> |\n\n#### 网红景点推荐\n\n| 名称 | 亮点 | 建议时长 |\n|------|------|---------|\n| <景点1> | <必打卡理由：摄影/历史/奇观> | <XX小时> |\n| <景点2> | <必打卡理由> | <XX小时> |\n\n#### 网红活动推荐\n\n| 活动 | 特色 | 适合人群 |\n|------|------|---------|\n| <活动1> | <当地特色体验：手工艺/民俗/户外> | <适合谁> |\n| <活动2> | <当地特色体验> | <适合谁> |\n\n## 徒步路线详情\n\n> 路线分类定义见 hike-planner-sop §6.3\n\n#### <路线名>\n\n| 项目 | 数据 |\n|------|------|\n| 距离 | <XXkm> |\n| 爬升 | <XXXm> |\n| 下降 | <XXXm> |\n| 最高海拔 | <XXXXm> |\n| 预计用时 | <X-X小时> |\n| 路线类型 | <古道/山野/景区栈道/混合> |\n| 关键节点 | <起点→节点1→...→终点> |\n| 轨迹来源 | <来源+日期（GPX/KML）> |\n| ⚠️ 提示 | <补给点/危险/注意事项> |\n\n## 装备清单\n\n> 生成规则见 hike-planner-sop\n\n| 类型 | 物品 |\n|------|------|\n| 鞋 | <徒步鞋/越野跑鞋/登山靴，根据路线类型> |\n| 衣 | <速干衣裤、冲锋衣/雨衣、保暖层、换洗衣物> |\n| 包 | <徒步背包XXL、防水罩> |\n| 导航 | <手机+离线地图、GPS设备/手表、指南针> |\n| 水 | <水袋/保温杯XXL，沿途补给点> |\n| 食物 | <路餐X顿、能量棒/坚果、电解质冲剂> |\n| 防晒 | <防晒霜SPF50+、遮阳帽、太阳镜、头巾> |\n| 药品 | <创可贴、云南白药、肠胃药、感冒药、个人药品> |\n| 证件 | <身份证、学生证/老年证（如有优惠）> |\n| 电子 | <充电宝、数据线、相机/无人机（如需）> |\n| 其他 | <登山杖、头灯/手电、急救毯、现金> |\n\n## 待办事项\n\n> 生成规则见 hike-planner-sop\n\n1. [ ] 订火车票/机票（确认出发日期和班次）\n2. [ ] 订酒店（确认入住日期和房型）\n3. [ ] 检查装备清单并补齐缺失物品\n4. [ ] 购买户外保险\n5. [ ] 下载离线地图和GPX/KML轨迹\n\n> 💡 用户可通过 `todo N done` 快速标记完成（如 `todo 1 done`）。\n\n*创建日期：YYYY-MM-DD*\n\nFile v3.3.0:skill-card.md\n\n## Description: <br>\nHike Planner creates hiking trip plans with routes, transport, lodging, local context, equipment checklists, GPX/KML map support, and local itinerary state while avoiding booking or payment actions. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[updatedb](https://clawhub.ai/user/updatedb) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nExternal users and travel planners use this skill to generate hiking itineraries that combine route research, transit and lodging options, cultural context, equipment planning, GPX/KML track parsing, and map links. It is intended for planning and trip-state tracking, not for booking, payment, waitlisting, or purchasing. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The skill can store sensitive itinerary and booking details locally and send destination, route, date, and coordinate information to external services. <br>\nMitigation: Use only information needed for the trip, review generated local itinerary files, and install only if that external-service sharing is acceptable. <br>\nRisk: Local file handling is broad enough that arbitrary paths could expose unintended files. <br>\nMitigation: Use a dedicated output directory and provide only intended GPX/KML or image uploads rather than arbitrary local file paths. <br>\nRisk: Unsafe shell command construction was reported by the security scan. <br>\nMitigation: Review the skill before using it in shared or high-trust agent environments, and run it with least-privilege access and no unnecessary secrets. <br>\n\n\n## Reference(s): <br>\n- [ClawHub Hike Planner release page](https://clawhub.ai/updatedb/hike-planner) <br>\n- [Hike Planner SOP](references/hike-planner-sop.md) <br>\n- [Plan Template](references/PLAN_TEMPLATE.md) <br>\n- [Two Steps Outdoor track search](https://www.2bulu.com/track) <br>\n- [Fly.ai console](https://open.fly.ai/console) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [Markdown, Files, Shell commands, Configuration, Guidance] <br>\n**Output Format:** [Markdown itinerary plans with tables and map links, plus local JSON state and command-oriented guidance.] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Persists itinerary state locally and may use external travel, search, social, and map services for route and destination information.] <br>\n\n## Skill Version(s): <br>\n3.3.0 (source: server release evidence) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nFile v3.3.0:planner/config.json\n\n{\n  \"outputDir\": \"/home/openclaw/travel/trip/\",\n  \"webBaseUrl\": \"\"\n}\n\nArchive v3.2.0: 11 files, 69990 bytes\n\nFiles: _meta.json (131b), assets/gpx-parser.py (5703b), assets/kml-parser.py (9572b), planner/config.json (49b), references/hike-planner-sop.md (20145b), references/PLAN_TEMPLATE.md (4873b), scripts/generate-track-map.py (30323b), scripts/hike-planner.js (113040b), scripts/render-itinerary-map.js (13524b), skill-card.md (2839b), SKILL.md (7768b)\n\nFile v3.2.0:SKILL.md\n\n---\nname: Hike Planner\ndescription: 一站式徒步出行规划。根据用户明确指令生成行程计划（含徒步路线/交通/住宿/人文/装备）。支持查询票务/酒店信息，不执行订票/下单/候补/支付。多源交叉验证（12306/两步路/高德/小红书/GPX/KML文件）。行程状态持久化到本地文件，编辑命令自动写入，短信解析需用户确认。\npermissions:\n  filesystem: 在用户指定的 outputDir 下读写行程状态文件\n  network: restapi.amap.com, is.autonavi.com, a.amap.com, wikipedia.org, 2bulu.com, xiaohongshu.com, bilibili.com, unpkg.com\n  environment: AMAP_WEBSERVICE_KEY\n  execution: curl, python3, node\n---\n\n# hike-planner\n\n> 从0开始逐步完善的智能行程规划工具。**需要用户明确提供出行日期、目的地和活动类型**才会开始规划。详细执行规范见 `hike-planner-sop.md`。\n\n## 能力\n\n| 能力维度 | 说明 |\n|---------|------|\n| 🚀 便捷 | 输入日期、目的地、活动类型，10 分钟内生成含大交通、酒店、徒步路线、人文介绍、装备清单的完整计划 |\n| 🔍 可靠 | 12306 / flyai 校验机票火车票，两步路 / 小红书查询路线，接受 GPX/KML 轨迹文件补充，高德地图保证里程准确 |\n| ⏱️ 精准 | 锁定大交通时间 + 锁定徒步路线时间为双锚点，按时间顺排倒排，确保节点衔接无冲突 |\n| 🗺️ 可视 | 每日行程自动生成高德地图链接，节点标注 + 交通路线一目了然。GPX/KML 轨迹渲染为交互式地图，支持多路线对比分析 |\n| 📚 有料 | 人文信息按目的地特性自动分类检索，与行程强关联（诗词对应徒步路段，美食定位补给点） |\n\n### 内置能力\n\n| 能力 | 说明 |\n|------|------|\n| 徒步路线搜索 | 两步路 + 小红书攻略 + B站视频（搜索策略详见 SOP §3.1）|\n| 行程地图渲染 | 高德地图可视化链接（依赖 amap-lbs-skill）。⚠️ 行程站点名称会通过网络发送给高德地图（Amap）API。 |\n| 人文信息收集 | Wikipedia + web_search + xiaohongshu |\n| 行程计划生成 | 按 PLAN_TEMPLATE 标准格式输出 |\n| 行中记录/行后汇总 | 实际 vs 计划对比 + 归档 |\n\n## 命令\n\n| 命令 | 说明 |\n|------|------|\n| `hike [目的地] [活动?]` | 查询目的地介绍+推荐经典徒步路线。不创建行程、不管理状态。示例：`hike 四姑娘山` |\n| `hike-init [日期] [目的地] [活动]` | 启动规划。日期/目的地/活动为必填，直接从参数解析。首次使用将征得您同意确认保存到 outputDir。示例：`hike-init 2026-06-01 古蜀道 徒步+文化探访`。若未提供完整参数则交互补问缺失项。 |\n| `hike-list` | 列出所有未完成行程；`hike-list <tripId>` 归档并汇总指定行程 |\n| `hike-select output <路径>` | 设置/切换默认输出目录（持久化到 `{skillDir}/planner/config.json`） |\n| `hike-select <行程名>` | 激活/选择某个行程进行管理。匹配 tripId 或目的地关键词（模糊匹配）。选择后 hike-status/today/log 都作用于该行程。 |\n| `hike-status` | 查看当前行程状态与概览（作用于 hike-select 选中的行程） |\n| `hike-log [内容]` | 记录行程最新信息：🚄 订好车票 / ✈️ 订好机票 / 🏨 订了酒店 / 💰 支出花销。粘贴 12306/航司/酒店 OTA 订单短信自动解析并更新行程。⚠️ 解析前会弹窗确认，仅提取订单关键字段（车次/航班/站点/日期），不保留原始短信全文。 |\n| `hike-today` | 查看今日计划（时间线 + 地图，作用于选中行程） |\n| `hike-add [dayN] [路线A-B]` | 添加 A-B 行程段到 DayN，后续行程自动推后 |\n| `hike-del [dayN]` | ⚠️ 删除 DayN 整个日程，立即写入磁盘且不可撤销。后续日程自动移前。 |\n| `hike-reorder [dayN] after\\|before\\|to [dayM]` | ⚠️ 重排日程顺序，立即写入磁盘。将 DayN 移到 DayM 之后/之前，或让 DayN 成为新的 DayM。 |\n| `todo [N] done` | ✅ 通过编号快速完成待办。示例：`todo 1 done`、`TODO 3 done`。 |\n\n## 示例\n\n```text\nhike 四姑娘山 徒步\n```\n\n> 纯查询模式，不创建行程。返回目的地文化介绍（地理/历史/人文/美食等 3-5 个分类）和经典徒步路线详情（路线名/距离/爬升/难度/关键节点/提示）。\n\n```text\nhike-init 2026-06-01 古蜀道 徒步+文化探访\n```\n\nAgent 交互收集需求后，自动执行搜索与生成。以「古蜀道 5/13-5/16」真实输出为例：\n\n**总览**：\n\n| 日期 | 星期 | 行程概要 | 出行方式 | 班次/车牌 | 住宿酒店 | 含早 | 天气 |\n|------|------|---------|---------|---------|---------|------|------|\n| 5/13 | 周三 | 抵达成都，逛宽窄巷子/锦里 | ✈️ | CA4117 北京→成都 | 维也纳国际酒店(成都东站) | 否 | 晴 |\n| 5/14 | 周四 | 成都东→剑门关→小娅子徒步→普安镇 | 🚄+🚗+🥾 | D2008+包车 | 剑阁瑞山酒店 | 是 | ☀️31°C/16°C |\n| 5/15 | 周五 | 汉阳镇→普安镇徒步10km | 🥾+🚗 | 包车+徒步 | 剑阁瑞山酒店 | 是 | 多云28°C/18°C |\n| 5/16 | 周六 | 拦马墙→剑门关→成都→北京 | 🥾+🚄+✈️ | D1973+CA4117 | | | 晴29°C/17°C |\n\n**DAY 3 — 5/16（周六）：拦马墙→返程北京**：\n\n| 时间 | 区间 | 节点详情 | 费用 | 备注 |\n|------|------|---------|------|------|\n| 07:00 | 起床退房 | 行李寄存前台 | | 必须早起 |\n| 07:00-07:30 | 早餐 | 酒店含早 | | |\n| 07:30-07:40 | 🚗 包车 | 酒店→拦马墙起点 | ¥30-50 | 约10min |\n| 07:40-10:10 | 🥾 徒步 | 拦马墙→普安镇（折返） | | 7.5km，约2.5h |\n| 10:10-10:30 | 取行李+简餐 | 普安镇 | ¥15 | 20min |\n| 10:30-11:00 | 🚗 包车 | 普安镇→剑门关站 | ¥80-100 | |\n| 11:00 | 到达剑门关站 | 候车29分钟 | | 🟢 刚好 |\n| 11:29-12:56 | 🚄 D1973 | 剑门关→成都东 | ¥104 | 已购票 |\n| 12:56 | 抵达成都东 | | | |\n| 13:00-15:00 | 午餐 | 苏坦土耳其餐厅（玉林店） | ¥100 | 请上海来的朋友 |\n| 15:00-15:40 | 🚇 地铁 | 东站→双流机场（7号线） | ¥8-9 | |\n| 17:00-20:00 | ✈️ CA4117 | 双流→首都T3 | 已购票 | 2h24m |\n\n> ⚠️ 时间紧，务必早起！候车不超过30分钟\n> 🗺️ [查看地图](https://a.amap.com/...)\n> 💰 本日费用：约¥300-400（包车+午餐+地铁）\n\n**徒步路线详情 — 路线二：汉阳镇→普安镇**：\n\n| 项目 | 数据 |\n|------|------|\n| 距离 | 10.05km |\n| 爬升 | 286m |\n| 下降 | 327m |\n| 预计用时 | 3.5-4小时 |\n| 路线类型 | 古道+乡村公路 |\n| 关键节点 | 汉阳镇体育中心→石洞沟→抄手铺→碑梁村→卧龙社区→普安镇 |\n| ⚠️ 提示 | 石洞沟、抄手铺有补给；抄手铺的钟婆婆抄手售咖啡 |\n\n## 外部依赖\n\n以下 Skill 为可选依赖。hike-init 启动时自动检测，若未安装则提示用户。\n\n| 依赖 | 用途 | 安装 |\n|------|------|------|\n| `12306-train-assistant` | 火车票余票/价格/时刻查询 | `npx clawhub install 12306-train-assistant` |\n| `amap-lbs-skill` | 距离/路线/地图 | `npx clawhub install amap-lbs-skill` |\n| `flyai` | 机票/酒店查询 | `npx clawhub install flyai`（安装后需到 [open.fly.ai](https://open.fly.ai/console) 获取 API Key） |\n| `xiaohongshu` | 小红书攻略搜索（需先登录） | `npx clawhub install xiaohongshu` |\n\n> 💡 hike-init 时会检测依赖可用性。缺失时提示用户安装或手动输入信息。不可用时的保底策略见 `hike-planner-sop.md`。\n\n## 不做\n\n- 🔒 自动订票 / 下单 / 支付\n\n> ⚠️ 不执行订票、下单、候补、支付等操作，但会保存行程、目的地、出行时间等信息。\n\nFile v3.2.0:_meta.json\n\n{\n  \"ownerId\": \"kn73h0b3vxspe7143ad7dk07xn822pwv\",\n  \"slug\": \"hike-planner\",\n  \"version\": \"3.2.0\",\n  \"publishedAt\": 1780041040026\n}\n\nFile v3.2.0:references/hike-planner-sop.md\n\n# Hike Planner SOP — 徒步行程规划助手\n\n**版本**: v3.1\n**创建日期**: 2026-05-14\n**最后更新**: 2026-05-29（裁剪：移除订票/购买/候补/日历/邮件/记忆/主动推送等 scope creep，不执行订票/下单/候补/支付+用户驱动原则）\n\n---\n\n## 一、职责定位\n\n**角色**: 徒步行程规划助手\n\n**核心职责**:\n- ✅ **行程前** — 根据用户明确指令规划徒步路线，查询可用的票务、酒店信息（不执行订票/下单/候补/支付），输出行程计划到本地文件\n- ✅ **行程中** — 根据用户提供的短信/订单信息更新行程状态，记录实际出行日志\n- ✅ **行程后** — 汇总实际行程数据，归档到 completed 目录\n\n> ⚠️ **文件写入规则**：\n> - `hike-init` 首次创建行程 → 弹窗确认 outputDir 后，写入状态文件 + 行程计划文件\n> - `hike-log` 含疑似短信内容 → 弹窗确认后才解析并保存\n> - `hike-add / hike-del / hike-reorder` 等编辑命令 → 用户主动操作，直接覆写行程计划文件（不弹窗，等同于\"保存\"）\n>   - ⚠️ `hike-del` 删除日程后不可撤销，建议执行前手动备份行程计划文件\n>   - ⚠️ `hike-reorder` 重排后原顺序不可恢复\n> - `hike-select output` 切换输出目录 → 用户主动命令，直接写入 `{skillDir}/planner/config.json`（不弹窗）\n> - 所有持久化文件清单：`{skillDir}/planner/config.json`（全局配置）、`{outputDir}/.hike-planner-state.json`（行程状态）、`{outputDir}/upcoming/{tripId}/{planFilename}`（行程计划）\n\n---\n\n## 二、Skills 清单\n\n| Skill | 用途 | 触发场景 |\n|-------|------|---------|\n| hike-planner 内置 | 徒步路线搜索+行程地图渲染+GPX/KML轨迹解析 | \"搜索古蜀道路线\"、\"生成行程地图\"、\"导入GPX/KML轨迹\" |\n| `12306-train-assistant` | 火车票时刻/票价/经停站查询 | \"查火车票\"、\"D2008经停站\"（**强制使用**） |\n| `amap-lbs-skill` | 距离计算、路线规划、地理编码 | \"计算两地距离\"、\"校验路线\"（**强制使用**） |\n| 'flyai','飞艾','飞猪' | 机票/酒店查询比价 | 「搜剑门附近酒店」「搜北京到成都最便宜的机票」 |\n| `weather` | 天气预报 | \"徒步那天天气如何\" |\n| `web_search` / `tavily_search` | 实时信息查询 | \"五一川西路况\" |\n\n> ⚠️ **数据源分工规则**:\n> - **火车票** → 必须用 `12306-train-assistant`（flyai 的火车数据不如12306准确，曾出现直达车误显示为需换乘的错误）\n> - **机票/酒店/景点** → `flyai`（飞猪MCP）\n> - **距离/路线** → `amap-lbs-skill`（强制，禁止用经纬度公式估算）\n> - **目的地知识** → Wikipedia + 小红书（维基百科为主，小红书补充真实用户体验）\n> - **两步路/小红书均不可用时** → 明确告知用户信息源不可用，请用户人工提供路线信息或确认搜索结果的可靠性\n> - 禁止用非官方渠道查询火车票余票/经停站\n>\n> ⚠️ 不执行订票、下单、候补、支付等操作，但会保存行程、目的地、出行时间等信息。\n>\n> ⚠️ **先检索，再撰写**：禁止捏造信息。Wikipedia 用于地理/历史/人物事实，小红书用于真实用户体验/补给点/当季路况，12306 用于火车票，flyai 用于机票/酒店，amap-lbs-skill 用于距离/路线。\n\n---\n\n## 三、完整工作流\n\n### 3.1 行程规划流程（出发前）\n\n```\n收集需求 → 锁定大交通 → 起点顺排 → 终点倒排 → 安排小交通 → 填补日常安排\n```\n\n**第一步：收集需求（必须先做）**\n\n> ⚠️ 没有需求就没有规划，需求不清不进入下一步\n\n| 信息项 | 说明 | 示例 |\n|--------|------|------|\n| 出行日期 | 出发日期+返回日期（单程可不填返回）| \"5月13日去，5月16日回\" |\n| 出发地 | 出发城市/地点 | \"北京\"、\"成都\" |\n| 目的地 | 主要目的地 | \"剑门关\"、\"古蜀道\" |\n| 返程地 | 单程可不填 | \"回北京\" |\n| 人员数量 | 出行人数 | \"2人\"、\"1大1小\" |\n| 偏好 | 交通方式/住宿/餐饮/体力分配 | \"自驾\"、\"少走路\"、\"住亚朵\" |\n\n**步骤说明**:\n\n1. **收集需求（先问清楚）** — 日期、地点、人数、偏好，不清楚时必须询问用户，不能猜测\n2. **搜索路线** — 徒步轨迹搜索为 hike-planner 内置能力。两步路为主：访问 `https://www.2bulu.com/track` 搜索轨迹（如 web_fetch 无法访问，使用 browser 工具以真实浏览器打开该链接）；小红书/B站 补充图片和视频。如有用户提供的 GPX/KML 文件，优先解析获取精确坐标和实测距离。\n\n    **小红书搜索策略（强约束）**：\n    \n    a. **关键词组合模板**（每次必须覆盖）：\n    \n    | 类别 | 搜索关键词 | 目的 |\n    |------|-----------|------|\n    | 避坑 | `<目的地> 避坑` | 提前发现常见陷阱 |\n    | 时效攻略 | `<目的地> 最新攻略 <年份>` | 获取最新路线/路况 |\n    | 天气 | `<目的地> <月份> 天气` | 季节穿衣/装备参考 |\n    | 防宰 | `<目的地> 防宰` | 物价/餐饮/交通防坑 |\n    | 物价 | `<目的地> 物价` | 预算评估 |\n    | 景点评估 | `<景点名> 值不值得去` | 是否纳入行程 |\n    \n    b. **陷阱识别规则**：\n    - 90% \"精品一日游\" 帖子是商业推广 → 看评论区 + 发帖时间筛真实内容\n    - 帖子含 \"私信/加微信/进群\" → 直接标记为推广，降权\n    - 同一账号批量发同类帖 → 推广号\n    - 连续多个帖子字数高度相似 → 疑似AI生成，降权\n    - 仅配航拍/宣传图无手机随拍 → 商业文案\n    \n    c. **评论区必看**（评论区比正文更真实）：\n    - 负面评论 \"踩坑了/不值得\" → 重点分析原因\n    - 追问回复 \"求路线/怎么去\" → 实用信息源\n    - 时间类信息 \"排队XX小时\" → 安排 buffer\n    - \"推荐XX师傅/司机\" → 可能真实，需交叉验证\n    \n    d. **可信度评级标准**：\n    \n    | 信号 | 加分 | 减分 |\n    |------|------|------|\n    | 发帖时间 ≤ 3 个月 | +2 | — |\n    | 手机随拍 + 路线描述 | +2 | — |\n    | 花费明细 | +1 | — |\n    | 有槽点/负面评价 | +1 | — |\n    | 含 \"私信/加微信\" | — | -3 |\n    | 纯航拍/宣传图 | — | -2 |\n    | 账号无历史内容 | — | -2 |\n    | 全文只夸不批 | — | -1 |\n\n3. **接收并解析轨迹文件（如有）** — 如用户发送了 GPX/KML 轨迹文件（Garmin Connect/佳明/两步路导出/Google Earth等），解析并提取：\n\n    **必须提取的数据**：\n    - 起终点 GPS 坐标（lat/lng）— 用于地图渲染，直接定位，无需地理编码\n    - 关键节点的 GPS 坐标列表（waypoints）— 存入 `hikingRoutes[].waypoints`，地图渲染时优先使用\n    - 总距离、累计爬升/下降、海拔曲线\n\n    > ⚠️ **GPX/KML 为最高优先级数据源**：当网络搜索（两步路/小红书等）的路线数据与上传的 GPX/KML 轨迹存在偏差时，**以 GPX/KML 为准**。轨迹文件是实地记录的实测数据，距离、爬升、节点坐标均以轨迹文件数据覆盖搜索结果中的估算值。\n    >\n    > 🛰️ **GPS 坐标直接用于地图渲染**：从 GPX/KML 提取的 waypoint 坐标（lat/lng）无需经过高德地理编码，直接传给 `render-itinerary-map.js --coords` 生成精确路线图。只有没有 GPX/KML 时才走地理编码流程。\n    >\n    > GPX/KML 轨迹 ≠ 实际古道路线：GPS 记录的是用户走过的实际路径，可能绕行或偏移。但即便如此，轨迹数据仍是可获得的最高精度数据源。\n\n4. **锁定大交通（核心约束）** — 飞机、高铁等大交通时间是固定锚点，一切围绕它展开\n5. **起点顺排** — 从出发地开始，按时间顺序安排每段小交通+活动\n6. **终点倒排** — 从大交通终点回推，确保每个节点时间衔接合理\n7. **安排小交通** — 城际交通、包车、公交等基于前两步的时间窗口安排\n8. **填补日常安排** — 餐饮、休息、景点等填入时间空隙\n9. **生成行程地图** — 行程确认后，使用 `hike-planner/scripts/render-itinerary-map.js` 为每日行程生成高德地图可视化链接。\n\n    **地理编码消歧义（重要）**：同一地名可能存在于多个省份（如\"姜庄子村\"），地理编码前必须附加省市区县前缀。建议传入 `destinationRegion`（如 \"北京市延庆区\"）作为定位范围，消除重名歧义，确保路线计算正确。\n\n    调用时传入节点对应的省市区县前缀，例如：\n    ```bash\n    # 格式：节点列表 | 城市 | 路线类型 | 省市区县前缀列表\n    node render-itinerary-map.js --stops=\"姜庄子村,小海坨,大海陀村\" --routeType=\"walking,walking\" --region=\"北京市延庆区,北京市延庆区,河北省赤城县\"\n    ```\n\n10. **模板完整性检查** — 行程计划文件生成完成后，调用 `hike-planner.js` 的 `validatePlan(content, trip)` 函数对照 PLAN_TEMPLATE 检查所有板块是否完整。检查项包括：6 个顶级章节（总览/每日安排/行程详情/徒步路线详情/装备清单/待办事项）、文化分类 ≥3 个、每日地图链接、装备清单表格、待办事项等。如有缺失或警告，立即补齐后重新验证。\n\n    **导航类型规范**：\n    - 🥾 徒步段 → `walking`\n    - 🚗 出租/包车/自驾 → `driving`\n    - 🚌 公交段 → `driving`\n    - 🚄 火车 / ✈️ 飞机 → 直线连接（两点间用 straight line）\n\n### 3.2 时间规划核心原则\n\n> ⚠️ **大交通是锚点，是约束，是起点也是终点**\n\n**正确顺序**：\n1. 确认大交通时间（机票/火车票）\n2. 以大交通为锚点，**倒排**当天返程活动\n3. 以大交通为锚点，**顺排**去程活动\n4. 检查各节点时间衔接是否满足最小候车/候机时间\n\n**候车/候机时间规范**：\n- 高铁站：候车不超 30 分钟为佳\n- 机场：提前 1 小时到达办理登机\n\n### 3.3 行程执行流程（出发后）\n\n```\n用户查询状态 → 查看今日计划 → 记录实际进度 → 突发应变 → 行程收尾\n```\n\n> 所有查询均为用户驱动。用户可通过 `hike-status`（概览）、`hike-today`（今日时间线+地图）、`hike-log`（记录实际信息）主动获取和更新行程状态，Skill 不进行未经请求的主动推送。\n\n### 3.4 行程收尾流程（返回后）\n\n```\n记录实际出行数据 → 与计划对比 → 文件归档到 completed 目录\n```\n\n---\n\n## 四、启动检查清单\n\n每次行程规划启动前：\n\n- [ ] 理解用户出行目的（徒步/出差/家人游/个人探索）\n- [ ] 确认时间范围、交通偏好、住宿偏好（§3.1 第一步）\n- [ ] 创建行程目录前**征得用户明确同意**（告知输出路径和数据范围）\n- [ ] 创建行程目录（格式见 §5.1）\n- [ ] 查天气确认是否合适\n- [ ] 火车票用 12306 skill 验证（§七）\n- [ ] 城际/包车段距离用 amap-lbs-skill 校验（§八）\n- [ ] **向用户说明高德地图 API 调用会传输节点名称**\n- [ ] 生成行程计划文件并**用户确认后**才写入磁盘\n\n---\n\n## 五、行程规划标准文档结构\n\n### 5.1 文件路径\n\n- 即将出行：`{outputDir}/upcoming/<destination-slug>-<YYYY-MM>/<实际标题>.md`\n- 已完成：`{outputDir}/completed/<destination-slug>-<YYYY-MM>/<实际标题>.md`\n\n**命名规则**：\n\n| 组成部分 | 规则 | 示例 |\n|---------|------|------|\n| 目录名 | `<destination-slug>-<YYYY-MM>`（pinyin/英文小写 + 连字符，日期带分隔符） | `haituo-2026-06`、`japan-tokyo-kyoto-osaka-2026-08` |\n| 文件名 | `<实际标题>.md`（文档一级标题，去 emoji，保留 `·` `→` 等合法字符） | `海坨山姜庄子村小环线出行计划.md`、`日本·东京→京都→大阪 8天行程规划.md` |\n\n**示例**：\n\n| 目录 | 计划文件 |\n|------|---------|\n| `haituo-2026-06/` | `海坨山姜庄子村小环线出行计划.md` |\n| `wutaishan-2026-06/` | `五台山出行计划.md` |\n| `japan-tokyo-kyoto-osaka-2026-08/` | `日本·东京→京都→大阪 8天行程规划.md` |\n\n### 5.2 文档模板\n\n> 完整模板见 `PLAN_TEMPLATE.md`。以下为核心结构概要，详细内容和所有占位符说明以模板文件为准。\n\n| 章节 | 说明 |\n|------|------|\n| 总览 | 日期/星期/行程概要/出行方式/班次/酒店/含早/天气 汇总表 |\n| 每日安排 | DAY N 时间线表（时间/区间/节点详情/费用/备注） + 地图链接 + 本日费用 |\n| 行程详情 | 目的地文化分类 3-5 个（地理风貌/历史渊源/人文诗词/遗存遗迹/美食特产等）。**多日行程按日扩展**，每重要活动日独立一节 |\n| 徒步路线详情 | 距离/爬升/下降/预计用时/路线类型/路线分类/关键节点/轨迹来源（GPX/KML）/轨迹地图/提示 |\n| 装备清单 | 按类型分类（鞋/衣/包/导航/水/食物/防晒/药品/证件/电子/其他） |\n| 待办事项 | 订票/订酒店/装备/保险/离线地图 |\n\n### 5.3 模板使用规范\n\n| 规范 | 说明 |\n|------|------|\n| 同一酒店多日入住 | 不需要每天退房+再入住，行李寄存前台即可，表中只写\"续住\" |\n| 费用列 | 每行记录金额，末尾汇总本日费用 |\n| 火车信息 | **必须查12306获取**，禁止留\"待补充\"等占位符 |\n| 大交通格式 | 示例：D2008（成都东07:50→剑门关09:21），二等座¥104 |\n| 每日安排 | 包含从出发到入睡的完整时间线，节点紧凑 |\n| 海外费用 | **所有费用统一换算为人民币（¥）**估算，原币种金额在备注标注（如 `¥350 / $50`）。汇率使用当前实时汇率，标注换算日期 |\n| 多日行程详情 | **多日行程需为每个重要活动日扩展独立的行程详情**（文化分类、景点介绍、诗词引用等），避免只给一个笼统的目的地概述。每日常规移动日可简并 |\n\n---\n\n## 六、行程详情内容规范\n\n### 6.1 信息分级质量标准\n\n| 类别 | 要求 | 示例 |\n|------|------|------|\n| **事实类** | 简洁、清晰、正确、可验证 | D2008 成都东07:50→剑门关09:21，二等座¥104；小娅子→断碑梁 12.7km（GPS实测） |\n| **提示类** | 保证有效性和正确性，必须验证 | ⚠️ 石洞沟、抄手铺有补给（实测有商店）；⚠️ 全程无商店需自带干粮（必须实地确认） |\n| **介绍类** | 有趣、丰富、有学习价值，引用有据可查 | 古蜀道历史、金牛道典故、诗词原文+背景、美食文化 |\n\n> ⚠️ **提示类常见错误**：\n> - 说\"全程无商店\"但沿途实际有补给点 → 必须实地确认或查看真实攻略\n> - 说\"路况良好\"但实际是野路 → 查看近期真实用户评论\n> - 说\"没有野生动物\"但当地确实有 → 查阅官方信息\n\n### 6.2 目的地详情类别（按需选用）\n\n根据目的地特性选择 3-5 个最相关的类别，按相关性排序（参考小红书/马蜂窝/百度旅游热门标签）。\n\n| 类别 | 适用场景 | 典型目的地 |\n|------|---------|---------|\n| 地理风貌 | 地形、气候、植被、景观特色 | 所有目的地 |\n| 历史渊源 | 重要历史节点、战争、人物 | 古道、关隘、战场遗址 |\n| 文化典故 | 诗词、传说、著名典故发生地、人物故事 | 蜀道、庐山、岳飞庙 |\n| 人文与诗词 | 有诗词典故的目的地 | 蜀道、庐山、长江三峡 |\n| 遗存遗迹 | 路面、驿站、关隘、古建筑、古镇 | 古道、古城、古关 |\n| 美食特产 | 特色美食、风味小吃 | 所有目的地 |\n| 世界遗产 | 世界遗产/预备项目及核心价值 | 蜀道、故宫、莫高窟 |\n| 5A级景区 | 国家5A景区核心吸引物 | 剑门关、黄山、九寨沟 |\n| 宗教文化 | 著名宗教发源地、石窟、寺庙、道观 | 五台山、武当山、敦煌 |\n| 动植物 | 珍稀物种、生态特色 | 卧龙、大熊猫基地 |\n| 地质地貌 | 丹霞、卡斯特、沙漠、冰川等特殊地貌 | 张掖丹霞、黄龙 |\n| 民俗节庆 | 当地节日、习俗、手工艺 | 少数民族地区 |\n\n> **排序规则**：结合小红书/马蜂窝/百度旅游热门标签，按相关性高的优先展示。例如蜀道优先展示：遗存遗迹 > 历史渊源 > 人文与诗词 > 世界遗产 > 美食特产\n\n### 6.3 徒步路线分类\n\n| 分类 | 定义 | 示例 |\n|------|------|------|\n| 🚶 穿越 | 起终点不同，A点进B点出 | 大觉寺→阳台山→凤凰岭 |\n| 🔄 环线 | 起点=终点，路径不重复经过已走点 | 姜庄子村→大海坨→大海陀村→姜庄子村 |\n| 🔙 往返 | 起点=终点，原路返回途经已走路线 | 大觉寺→阳台山→大觉寺 |\n\n### 6.4 诗词引用规范\n\n- 标题：**《诗词名》** — 作者（朝代）\n- 原文：使用中文引号` `` `` `包裹原文\n- 背景：1-2句话说明创作时间、地点、背景\n- 赏析（可选）：1句话点出与目的地的关联\n\n### 6.5 隐私声明\n\n> 行程规划过程中会向 Wikipedia、web_search、xiaohongshu 等第三方服务发送目的地名称及关联查询（景点、路线、美食、酒店、日期关键词）。传输内容**不包含**人员数量、订单信息、姓名、身份证等个人行程数据；仅发送与目的地内容检索相关的最小必要查询词。\n\n---\n\n## 七、火车票查询规范（强制）\n\n**所有火车票查询必须使用 `12306-train-assistant` skill**\n\n### 7.1 工具位置\n\n```\n12306-train-assistant/client.py\n```\n\n### 7.2 查询命令（无需登录）\n\n> ⚠️ 用户指定日期 → 查询指定日期；未指定 → 查询今天+明天；返程日必须明确查询。\n\n```bash\n# 1. 余票查询（默认查明天）\npython3 client.py left-ticket --date YYYY-MM-DD --from 出发站 --to 到达站\n\n# 2. 经停站查询（验证车次是否正确）\npython3 client.py route --train-code 车次号 --date YYYY-MM-DD --from 出发站 --to 到达站\n\n# 3. 中转方案查询\npython3 client.py transfer-ticket --date YYYY-MM-DD --from 出发站 --to 到达站 --limit 10\n```\n\n### 7.3 验证清单\n\n- [ ] 车次号在 12306 可查到\n- [ ] 出发/到达站匹配用户需求\n- [ ] 余票充足（或已购票）\n- [ ] 经停站合理（不要坐过站）\n- [ ] 票价与 plan 一致\n\n### 7.4 已知限制\n\n- 12306 风控触发时，换日子再试，或使用 flyai 的机票/酒店功能\n- flyai 的火车票数据**不如12306准确**（例：D2008直达误显示为需绵阳换乘），**禁止用flyai替代12306查火车**\n- 如遇风控报错，稍后重试\n\n---\n\n## 八、路线距离校验规范（强制）\n\n**所有城际/乡级交通段和徒步段距离，必须用 `amap-lbs-skill` 校验**。\n\n### 8.1 工具脚本位置\n\n```\namap-lbs-skill/scripts/route-planning.js\namap-lbs-skill/scripts/poi-search.js\n```\n\n### 8.2 步骤一：地理编码（获取各节点经纬度）\n\n```bash\ncurl -s \"https://restapi.amap.com/v3/geocode/geo?address=节点名称&city=城市名&output=JSON&key=***\"\n```\n\n### 8.3 步骤二：驾车路线规划（城际/包车段）\n\n```bash\nnode amap-lbs-skill/scripts/route-planning.js \\\n  --type=driving \\\n  --origin=经度,纬度 \\\n  --destination=经度,纬度\n```\n\n### 8.4 步骤三：步行路线规划（徒步段）\n\n```bash\nnode amap-lbs-skill/scripts/route-planning.js \\\n  --type=walking \\\n  --origin=经度,纬度 \\\n  --destination=经度,纬度\n```\n\n> ⚠️ 高德步行路线走的是现代公路网，与古道/山野徒步路线不同。\n> - 古道实测距离 **<** 高德步行距离（古道是直接山野路径，高德绕行乡村公路）\n> - 应以 plan 中标注的古道实测距离为准，高德数据用于**时间偏差参考**\n\n### 8.5 校验触发条件\n\n在以下场景**必须**执行距离校验：\n- 城际包车/班车时间存疑时\n- 徒步路线距离无实测数据时\n- 行程节点衔接时间紧张时（需要确认是否可行）\n- 用户提出\"这个时间够不够\"时\n\n---\n\n**维护**: Hike Planner\n**下次审查**: 每次重要行程规划后更新\n\nFile v3.2.0:references/PLAN_TEMPLATE.md\n\n# <目的地> 出行计划\n\n**出行日期**：YYYY年MM月DD日 - MM月DD日\n**目的地**：<地点>\n**人员**：<人数>\n\n## 总览\n\n| 日期 | 星期 | 行程概要 | 出行方式 | 班次/车牌 | 住宿酒店 | 含早 | 天气 |\n|------|------|---------|---------|---------|---------|------|------|\n| MM/DD | 周X | <一句话描述> | <交通> | <班次/包车> | <酒店名> | <是/否> | <天气/气温> |\n| MM/DD | 周X | | | | | | |\n| MM/DD | 周X | | | | | | |\n\n## 每日安排\n\n### DAY X — MM/DD（周X）：<主题>\n\n| 时间 | 区间 | 节点详情 | 费用 | 备注 |\n|------|------|---------|------|------|\n| HH:MM | 出发 → 到达 | <节点名称> | ¥XX | <交通/里程/用时> |\n| HH:MM | 交通接驳 | <包车/地铁/步行> | ¥XX | <司机电话/票价> |\n| HH:MM-HH:MM | 🥾 徒步 | 路线名 距离XXkm 爬升XXXm 预计X小时 难度★★★/★★★★★ | | 轨迹/GPX/KML |\n| HH:MM | 抵达 | <节点名称> | | <食宿/活动安排> |\n\n> 🗺️ [查看地图](<高德地图链接>)\n> 💰 本日费用：<¥XX>\n\n### DAY X — MM/DD（周X）：<主题>\n\n| 时间 | 区间 | 节点详情 | 费用 | 备注 |\n|------|------|---------|------|------|\n| | | | | |\n\n> 🗺️ [查看地图]()\n> 💰 本日费用：\n\n## 行程详情\n\n> 生成规则见 hike-planner-sop 第六节\n\n### <目的地名称>\n\n根据目的地特性选择 3-5 个最相关的文化分类，类别定义见 `hike-planner-sop.md` §6.2。\n\n### 地理风貌\n\n<检索目的地所在区域的地形地貌特征、气候类型，以及最具代表性的自然景观。2-4段话。>\n\n### 历史渊源\n\n<检索目的地相关的1-2个关键历史事件，说明时间、人物、事件意义。2-4段话。>\n\n### 人文与诗词\n\n<引用1-2首诗词原文（准确引用），说明作者、朝代、创作背景。1句话点出与目的地的关联。>\n\n### 遗存遗迹\n\n<检索目的地现存的古建筑、古道、古关、石刻等遗迹实物。2-4段话。>\n\n### 世界遗产 / 5A级景区 / 宗教文化 / 民俗节庆\n\n<根据目的地特性选择相关章节，检索核心价值和吸引物。>\n\n### 美食特产\n\n<检索目的地最具代表性的地方美食1-2种，说明食材来源、烹饪特点、觅食地点。2-3段话。>\n\n### 出行建议\n\n> 生成规则见 hike-planner-sop 第六节\n\n#### 交通建议\n\n| 交通方式 | 建议 |\n|---------|------|\n| 到达交通 | <如何到达目的地：最近机场/高铁站 + 换乘方式> |\n| 离开交通 | <如何离开：最近机场/高铁站 + 班次建议> |\n| 当地交通 | <目的地内部出行：包车/公交/打车/租车建议> |\n\n#### 网红酒店推荐\n\n| 名称 | 特色 | 参考价格 |\n|------|------|---------|\n| <酒店1> | <特色描述：位置/景观/设施/风格> | <¥XX-XX/晚> |\n| <酒店2> | <特色描述> | <¥XX-XX/晚> |\n\n#### 网红景点推荐\n\n| 名称 | 亮点 | 建议时长 |\n|------|------|---------|\n| <景点1> | <必打卡理由：摄影/历史/奇观> | <XX小时> |\n| <景点2> | <必打卡理由> | <XX小时> |\n\n#### 网红活动推荐\n\n| 活动 | 特色 | 适合人群 |\n|------|------|---------|\n| <活动1> |\n\nArchive v3.1.0: 10 files, 69807 bytes\n\nFiles: _meta.json (131b), assets/gpx-parser.py (5703b), assets/kml-parser.py (9572b), references/hike-planner-sop.md (20106b), references/PLAN_TEMPLATE.md (4873b), scripts/generate-track-map.py (30323b), scripts/hike-planner.js (113059b), scripts/render-itinerary-map.js (13524b), skill-card.md (2936b), SKILL.md (7710b)\n\nArchive v3.0.0: 10 files, 69877 bytes\n\nFiles: _meta.json (131b), assets/gpx-parser.py (5703b), assets/kml-parser.py (9572b), references/hike-planner-sop.md (20106b), references/PLAN_TEMPLATE.md (4873b), scripts/generate-track-map.py (30273b), scripts/hike-planner.js (113059b), scripts/render-itinerary-map.js (13324b), skill-card.md (3196b), SKILL.md (7639b)\n\nArchive v2.3.0: 11 files, 73108 bytes\n\nFiles: _meta.json (131b), assets/gpx-parser.py (5703b), assets/kml-parser.py (9572b), references/PLAN_TEMPLATE.md (4873b), references/travel-agent-sop.md (20094b), scripts/generate-track-map.py (30273b), scripts/hike-planner.js (113102b), scripts/render-itinerary-map.js (12934b), scripts/render-itinerary-map.sh (10603b), skill-card.md (2780b), SKILL.md (7606b)","readmeExcerpt":"Skill: Hike Planner Owner: updatedb Summary: 一站式徒步出行规划。根据用户明确指令生成行程计划（含徒步路线/交通/住宿/人文/装备）。支持查询票务/酒店信息，不执行订票/下单/候补/支付。多源交叉验证（12306/两步路/高德/小红书/GPX/KML文件）。行程状态持久化到本地文件，编辑命令自动写入，短信解析需用户确认。 Tags: hiking:0.3.1, latest:3.3.5, planner:1.0.1, planning:0.3.1, travel:0.3.1 Version history: v3.3.5 | 2026-06-26T16:31:06.015Z | user 安全修复: 修复7项SkillSpector发现 + SKILL.md改进 - execSync → execFileSync 防命令注入 - 文件路径范围验证 + 扩展名白名单 - GPX/KML导","codeSnippets":[],"executableExamples":[{"language":"text","snippet":"hike 四姑娘山 徒步"},{"language":"text","snippet":"hike-import ~/downloads/海坨山环线.gpx"},{"language":"text","snippet":"hike-init 2026-06-01 古蜀道 徒步+文化探访"},{"language":"text","snippet":"收集需求 → 锁定大交通 → 起点顺排 → 终点倒排 → 安排小交通 → 填补日常安排"},{"language":"bash","snippet":"# 格式：节点列表 | 城市 | 路线类型 | 省市区县前缀列表\n    node render-itinerary-map.js --stops=\"姜庄子村,小海坨,大海陀村\" --routeType=\"walking,walking\" --region=\"北京市延庆区,北京市延庆区,河北省赤城县\""},{"language":"text","snippet":"用户查询状态 → 查看今日计划 → 记录实际进度 → 突发应变 → 行程收尾"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: Hike Planner\ndescription: 一站式徒步出行规划。根据用户明确指令生成行程计划（含徒步路线/交通/住宿/人文/装备）。支持查询票务/酒店信息，不执行订票/下单/候补/支付。多源交叉验证（12306/两步路/高德/小红书/GPX/KML文件）。行程状态持久化到本地文件，编辑命令自动写入，短信解析需用户确认。\npermissions:\n  filesystem: 在用户指定的 outputDir 下读写行程状态文件\n  network: restapi.amap.com, is.autonavi.com, a.amap.com, wikipedia.org, 2bulu.com, xiaohongshu.com, bilibili.com, unpkg.com\n  environment: AMAP_WEBSERVICE_KEY\n  execution: curl, python3, node\n---\n\n# hike-planner\n\n> 从0开始逐步完善的智能行程规划工具。**需要用户明确提供出行日期、目的地和活动类型**才会开始规划。详细执行规范见 `hike-planner-sop.md`。\n\n## 能力\n\n| 能力维度 | 说明 |\n|---------|------|\n| 🚀 便捷 | 输入日期、目的地、活动类型，10 分钟内生成含大交通、酒店、徒步路线、人文介绍、装备清单的完整计划 |\n| 🔍 可靠 | 12306 / flyai 校验机票火车票，两步路 / 小红书查询路线，接受 GPX/KML 轨迹文件补充，高德地图保证里程准确 |\n| ⏱️ 精准 | 锁定大交通时间 + 锁定徒步路线时间为双锚点，按时间顺排倒排，确保节点衔接无冲突 |\n| 🗺️ 可视 | 每日行程自动生成高德地图链接，节点标注 + 交通路线一目了然。GPX/KML 轨迹渲染为交互式地图，支持多路线对比分析 |\n| 📚 有料 | 人文信息按目的地特性自动分类检索，与行程强关联（诗词对应徒步路段，美食定位补给点） |\n\n### 内置能力\n\n| 能力 | 说明 |\n|------|------|\n| 徒步路线搜索 | 两步路 + 小红书攻略 + B站视频（搜索策略详见 SOP §3.1）|\n| 行程地图渲染 | 高德地图可视化链接（依赖 amap-lbs-skill）。⚠️ 行程站点名称会通过网络发送给高德地图（Amap）API。 |\n| 人文信息收集 | Wikipedia + web_search + xiaohongshu |\n| 行程计划生成 | 按 PLAN_TEMPLATE 标准格式输出 |\n| 行中记录/行后汇总 | 实际 vs 计划对比 + 归档 |\n\n## 命令\n\n| 命令 | 说明 |\n|------|------|\n| `hike [目的地] [活动?]` | 查询目的地介绍+推荐经典徒步路线。不创建行程、不管理状态。示例：`hike 四姑娘山` |\n| `hike-init [日期] [目的地] [活动]` | 启动规划。日期/目的地/活动为必填，直接从参数解析。首次使用将征得您同意确认保存到 outputDir。示例：`hike-init 2026-06-01 古蜀道 徒步+文化探访`。若未提供完整参数则交互补问缺失项。 |\n| `hike-list` | 列出所有未完成行程；`hike-list <tripId>` 归档并汇总指定行程 |\n| `hike-config output <路径>` | 设置/切换默认输出目录（持久化到 `{skillDir}/planner/config.json`）。⚠️ 行程数据（含订单信息、GPS 坐标）将保存到此目录，共享服务器环境下其他用户可能可见。 |\n| `hike-config baseurl <URL>` | 设置 Web 基础 URL（用于轨迹地图链接，默认 `http://localhost`）。不传参数查看当前值。 |\n| `hike-select <行程名>` | 激活/选择某个行程进行管理。匹配 tripId 或目的地关键词（模糊匹配）。选择后 hike-status/today/log 都作用于该行程。 |\n| `hike-import <GPX/KML文件路径>` | 导入 GPX/KML 轨迹文件到当前行程。自动提取 GPS 坐标、生成轨迹地图 HTML。⚠️ 轨迹坐标将写入本地 HTML 文件，导入前会弹窗确认。 |\n| `hike-status` | 查看当前行程状态与概览（作用于 hike-select 选中的行程） |\n| `hike-log [内容]` | 记录行程最新信息：🚄 订好车票 / ✈️ 订好机票 / 🏨 订了酒店 / 💰 支出花销。粘贴 12306/航司/酒店 OTA 订单短信自动解析并更新行程。⚠️ 解析前会弹窗确认，仅提取订单关键字段（车次/航班/站点/日期），不保留原始短信全文。 |\n| `hike-today` | 查看今日计划（时间线 + 地图，作用于选中行程） |\n| `hike-add [dayN] [路线A-B]` | 添加 A-B 行程段到 DayN，后续行程自动推后 |\n| `hike-del [dayN]` | ⚠️ 删除 DayN 整个日程，立即写入磁盘且不可撤销。后续日程自动移前。 |\n| `hike-reorder [dayN] after\\|before\\|to [dayM]` | ⚠️ 重排日程顺序，立即写入磁盘。将 DayN 移到 DayM 之后/之前，或让 DayN 成为新的 DayM。 |\n| `todo [N] done` | ✅ 通过编号快速完成待办。示例：`todo 1 done`、`TODO 3 done`。 |\n\n## 示例\n\n```text\nhike 四姑娘山 徒步\n```\n\n> 纯查询模式，不创建行程。返回目的地文化介绍（地理/历史/人文/美食等 3-5 个分类）和经典徒步路线详情（路线名/距离/爬升/难度/关键节点/提示）。\n\n```text\nhike-import ~/downloads/海坨山环线.gpx\n```\n\n> 导入 GPX/KML 轨迹文件到当前选中行程。自动提取 GPS 坐标、计算距离/爬升/下降统计数据、生成交互式轨迹地图 HTML。导入前需用户确认（轨迹坐标将写入本地文件）。\n\n```text\nhike-init 2026-06-01 古蜀道 徒步+文化探访\n```\n\nAgent 交互收集需求后，自动执行搜索与生成。以「古蜀道 5/13-5/16」真实输出为例：\n\n**总览**：\n\n| 日期 | 星期 | 行程概要 | 出行方式 | 班次/车牌 | 住宿酒店 | 含早 | 天气 |\n|------|------|---------|---------|---------|---------|------|------|\n| 5/13 | 周三 | 抵达成都，逛宽窄巷子/锦里 | ✈️ | CA4117 北京→成都 | 维也纳国际酒店(成都东站) | 否 | 晴 |\n| 5/1"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn73h0b3vxspe7143ad7dk07xn822pwv\",\n  \"slug\": \"hike-planner\",\n  \"version\": \"3.3.5\",\n  \"publishedAt\": 1782491466015\n}"},{"path":"references/hike-planner-sop.md","content":"# Hike Planner SOP — 徒步行程规划助手\n\n**版本**: v3.1\n**创建日期**: 2026-05-14\n**最后更新**: 2026-05-29（裁剪：移除订票/购买/候补/日历/邮件/记忆/主动推送等 scope creep，不执行订票/下单/候补/支付+用户驱动原则）\n\n---\n\n## 一、职责定位\n\n**角色**: 徒步行程规划助手\n\n**核心职责**:\n- ✅ **行程前** — 根据用户明确指令规划徒步路线，查询可用的票务、酒店信息（不执行订票/下单/候补/支付），输出行程计划到本地文件\n- ✅ **行程中** — 根据用户提供的短信/订单信息更新行程状态，记录实际出行日志\n- ✅ **行程后** — 汇总实际行程数据，归档到 completed 目录\n\n> ⚠️ **文件写入规则**：\n> - `hike-init` 首次创建行程 → 弹窗确认 outputDir 后，写入状态文件 + 行程计划文件\n> - `hike-log` 含疑似短信内容 → 弹窗确认后才解析并保存\n> - `hike-add / hike-del / hike-reorder` 等编辑命令 → 用户主动操作，直接覆写行程计划文件（不弹窗，等同于\"保存\"）\n>   - ⚠️ `hike-del` 删除日程后不可撤销，建议执行前手动备份行程计划文件\n>   - ⚠️ `hike-reorder` 重排后原顺序不可恢复\n> - `hike-select output` 切换输出目录 → 用户主动命令，直接写入 `{skillDir}/planner/config.json`（不弹窗）\n> - 所有持久化文件清单：`{skillDir}/planner/config.json`（全局配置）、`{outputDir}/.hike-planner-state.json`（行程状态）、`{outputDir}/upcoming/{tripId}/{planFilename}`（行程计划）\n\n---\n\n## 二、Skills 清单\n\n| Skill | 用途 | 触发场景 |\n|-------|------|---------|\n| hike-planner 内置 | 徒步路线搜索+行程地图渲染+GPX/KML轨迹解析 | \"搜索古蜀道路线\"、\"生成行程地图\"、\"导入GPX/KML轨迹\" |\n| `12306-train-assistant` | 火车票时刻/票价/经停站查询 | \"查火车票\"、\"D2008经停站\"（**强制使用**） |\n| `amap-lbs-skill` | 距离计算、路线规划、地理编码 | \"计算两地距离\"、\"校验路线\"（**强制使用**） |\n| 'flyai','飞艾','飞猪' | 机票/酒店查询比价 | 「搜剑门附近酒店」「搜北京到成都最便宜的机票」 |\n| `weather` | 天气预报 | \"徒步那天天气如何\" |\n| `web_search` / `tavily_search` | 实时信息查询 | \"五一川西路况\" |\n\n> ⚠️ **数据源分工规则**:\n> - **火车票** → 必须用 `12306-train-assistant`（flyai 的火车数据不如12306准确，曾出现直达车误显示为需换乘的错误）\n> - **机票/酒店/景点** → `flyai`（飞猪MCP）\n> - **距离/路线** → `amap-lbs-skill`（强制，禁止用经纬度公式估算）\n> - **目的地知识** → Wikipedia + 小红书（维基百科为主，小红书补充真实用户体验）\n> - **两步路/小红书均不可用时** → 明确告知用户信息源不可用，请用户人工提供路线信息或确认搜索结果的可靠性\n> - 禁止用非官方渠道查询火车票余票/经停站\n>\n> ⚠️ 不执行订票、下单、候补、支付等操作，但会保存行程、目的地、出行时间等信息。\n>\n> ⚠️ **先检索，再撰写**：禁止捏造信息。Wikipedia 用于地理/历史/人物事实，小红书用于真实用户体验/补给点/当季路况，12306 用于火车票，flyai 用于机票/酒店，amap-lbs-skill 用于距离/路线。\n\n---\n\n## 三、完整工作流\n\n### 3.1 行程规划流程（出发前）\n\n```\n收集需求 → 锁定大交通 → 起点顺排 → 终点倒排 → 安排小交通 → 填补日常安排\n```\n\n**第一步：收集需求（必须先做）**\n\n> ⚠️ 没有需求就没有规划，需求不清不进入下一步\n\n| 信息项 | 说明 | 示例 |\n|--------|------|------|\n| 出行日期 | 出发日期+返回日期（单程可不填返回）| \"5月13日去，5月16日回\" |\n| 出发地 | 出发城市/地点 | \"北京\"、\"成都\" |\n| 目的地 | 主要目的地 | \"剑门关\"、\"古蜀道\" |\n| 返程地 | 单程可不填 | \"回北京\" |\n| 人员数量 | 出行人数 | \"2人\"、\"1大1小\" |\n| 偏好 | 交通方式/住宿/餐饮/体力分配 | \"自驾\"、\"少走路\"、\"住亚朵\" |\n\n**步骤说明**:\n\n1. **收集需求（先问清楚）** — 日期、地点、人数、偏好，不清楚时必须询问用户，不能猜测\n2. **搜索路线** — 徒步轨迹搜索为 hike-planner 内置能力。两步路为主：访问 `https://www.2bulu.com/track` 搜索轨迹（如 web_fetch 无法访问，使用 browser 工具以真实浏览器打开该链接）；小红书/B站 补充图片和视频。如有用户提供的 GPX/KML 文件，优先解析获取精确坐标和实测距离。\n\n    **小红书搜索策略（强约束）**：\n    \n    a. **关键词组合模板**（每次必须覆盖）：\n    \n    | 类别 | 搜索关键词 | 目的 |\n    |------|-----------|------|\n    | 避坑 | `<目的地> 避坑` | 提前发现常见陷阱 |\n    | 时效攻略 | `<目的地> 最新攻略 <年份>` | 获取最新路线/路况 |\n    | 天气 | `<目的地> <月份> 天气` | 季节穿衣/装备参考 |\n    | 防宰 | `<目的地> 防宰` | 物价/餐饮/交通防坑 |\n    | 物价 | `<目的地> 物价` | 预算评估 |\n    | 景点评估 | `<景点名> 值不值得去` | 是否纳入行程 |\n    \n    b. **陷阱识别规则**：\n    - 90% \"精品一日游\" 帖子是商业推广 → 看评论区 + 发帖时间筛真实内容\n    - 帖子含 \"私信/加微信/进群\" → 直接标记为推广，降权\n    - 同一账号批量发同类帖 → 推广号\n    - 连续多个帖子字数高度相似 → 疑似AI生成，降权\n    - 仅配航拍/宣传图无手机随拍 → 商业文案\n    \n    c. **评论区必看**（评论区比正文更真实）：\n    - 负面评论 \"踩坑了/不值得\" → 重点分析原"},{"path":"references/PLAN_TEMPLATE.md","content":"# <目的地> 出行计划\n\n**出行日期**：YYYY年MM月DD日 - MM月DD日\n**目的地**：<地点>\n**人员**：<人数>\n\n## 总览\n\n| 日期 | 星期 | 行程概要 | 出行方式 | 班次/车牌 | 住宿酒店 | 含早 | 天气 |\n|------|------|---------|---------|---------|---------|------|------|\n| MM/DD | 周X | <一句话描述> | <交通> | <班次/包车> | <酒店名> | <是/否> | <天气/气温> |\n| MM/DD | 周X | | | | | | |\n| MM/DD | 周X | | | | | | |\n\n## 每日安排\n\n### DAY X — MM/DD（周X）：<主题>\n\n| 时间 | 区间 | 节点详情 | 费用 | 备注 |\n|------|------|---------|------|------|\n| HH:MM | 出发 → 到达 | <节点名称> | ¥XX | <交通/里程/用时> |\n| HH:MM | 交通接驳 | <包车/地铁/步行> | ¥XX | <司机电话/票价> |\n| HH:MM-HH:MM | 🥾 徒步 | 路线名 距离XXkm 爬升XXXm 预计X小时 难度★★★/★★★★★ | | 轨迹/GPX/KML |\n| HH:MM | 抵达 | <节点名称> | | <食宿/活动安排> |\n\n> 🗺️ [查看地图](<高德地图链接>)\n> 💰 本日费用：<¥XX>\n\n### DAY X — MM/DD（周X）：<主题>\n\n| 时间 | 区间 | 节点详情 | 费用 | 备注 |\n|------|------|---------|------|------|\n| | | | | |\n\n> 🗺️ [查看地图]()\n> 💰 本日费用：\n\n## 行程详情\n\n> 生成规则见 hike-planner-sop 第六节\n\n### <目的地名称>\n\n根据目的地特性选择 3-5 个最相关的文化分类，类别定义见 `hike-planner-sop.md` §6.2。\n\n### 地理风貌\n\n<检索目的地所在区域的地形地貌特征、气候类型，以及最具代表性的自然景观。2-4段话。>\n\n### 历史渊源\n\n<检索目的地相关的1-2个关键历史事件，说明时间、人物、事件意义。2-4段话。>\n\n### 人文与诗词\n\n<引用1-2首诗词原文（准确引用），说明作者、朝代、创作背景。1句话点出与目的地的关联。>\n\n### 遗存遗迹\n\n<检索目的地现存的古建筑、古道、古关、石刻等遗迹实物。2-4段话。>\n\n### 世界遗产 / 5A级景区 / 宗教文化 / 民俗节庆\n\n<根据目的地特性选择相关章节，检索核心价值和吸引物。>\n\n### 美食特产\n\n<检索目的地最具代表性的地方美食1-2种，说明食材来源、烹饪特点、觅食地点。2-3段话。>\n\n### 出行建议\n\n> 生成规则见 hike-planner-sop 第六节\n\n#### 交通建议\n\n| 交通方式 | 建议 |\n|---------|------|\n| 到达交通 | <如何到达目的地：最近机场/高铁站 + 换乘方式> |\n| 离开交通 | <如何离开：最近机场/高铁站 + 班次建议> |\n| 当地交通 | <目的地内部出行：包车/公交/打车/租车建议> |\n\n#### 网红酒店推荐\n\n| 名称 | 特色 | 参考价格 |\n|------|------|---------|\n| <酒店1> | <特色描述：位置/景观/设施/风格> | <¥XX-XX/晚> |\n| <酒店2> | <特色描述> | <¥XX-XX/晚> |\n\n#### 网红景点推荐\n\n| 名称 | 亮点 | 建议时长 |\n|------|------|---------|\n| <景点1> | <必打卡理由：摄影/历史/奇观> | <XX小时> |\n| <景点2> | <必打卡理由> | <XX小时> |\n\n#### 网红活动推荐\n\n| 活动 | 特色 | 适合人群 |\n|------|------|---------|\n| <活动1> | <当地特色体验：手工艺/民俗/户外> | <适合谁> |\n| <活动2> | <当地特色体验> | <适合谁> |\n\n## 徒步路线详情\n\n> 路线分类定义见 hike-planner-sop §6.3\n\n#### <路线名>\n\n| 项目 | 数据 |\n|------|------|\n| 距离 | <XXkm> |\n| 爬升 | <XXXm> |\n| 下降 | <XXXm> |\n| 最高海拔 | <XXXXm> |\n| 预计用时 | <X-X小时> |\n| 路线类型 | <古道/山野/景区栈道/混合> |\n| 关键节点 | <起点→节点1→...→终点> |\n| 轨迹来源 | <来源+日期（GPX/KML）> |\n| ⚠️ 提示 | <补给点/危险/注意事项> |\n\n## 装备清单\n\n> 生成规则见 hike-planner-sop\n\n| 类型 | 物品 |\n|------|------|\n| 鞋 | <徒步鞋/越野跑鞋/登山靴，根据路线类型> |\n| 衣 | <速干衣裤、冲锋衣/雨衣、保暖层、换洗衣物> |\n| 包 | <徒步背包XXL、防水罩> |\n| 导航 | <手机+离线地图、GPS设备/手表、指南针> |\n| 水 | <水袋/保温杯XXL，沿途补给点> |\n| 食物 | <路餐X顿、能量棒/坚果、电解质冲剂> |\n| 防晒 | <防晒霜SPF50+、遮阳帽、太阳镜、头巾> |\n| 药品 | <创可贴、云南白药、肠胃药、感冒药、个人药品> |\n| 证件 | <身份证、学生证/老年证（如有优惠）> |\n| 电子 | <充电宝、数据线、相机/无人机（如需）> |\n| 其他 | <登山杖、头灯/手电、急救毯、现金> |\n\n## 待办事项\n\n> 生成规则见 hike-planner-sop\n\n1. [ ] 订火车票/机票（确认出发日期和班次）\n2. [ ] 订酒店（确认入住日期和房型）\n3. [ ] 检查装备清单并补齐缺失物品\n4. [ ] 购买户外保险\n5. [ ] 下载离线地图和GPX/KML轨迹\n\n> 💡 用户可通过 `todo N done` 快速标记完成（如 `todo 1 done`）。\n\n*创建日期：YYYY-MM-DD*"},{"path":"skill-card.md","content":"## Description:\n\nHike Planner helps agents create user-requested hiking trip plans with routes, transportation, lodging, local context, equipment lists, GPX/KML track analysis, and map links without booking, ordering, waitlisting, or paying.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[updatedb](https://clawhub.ai/user/updatedb)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users and travel-planning agents use this skill to plan hiking-oriented trips after the user provides dates, destination, and activity type. It can maintain local trip state, import GPX/KML tracks, generate itinerary Markdown, and update plans from user-provided travel details.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill stores detailed trip, order, media, and GPS data locally.\n\nMitigation: Use a private output directory with appropriate file permissions, especially on shared systems.\n\nRisk: Map and query workflows can send station names, destination details, or precise GPS coordinates to third-party services.\n\nMitigation: Review map-generation requests before use and avoid importing or sharing tracks that reveal sensitive locations.\n\nRisk: Generated map HTML may expose embedded route coordinates if published or served broadly.\n\nMitigation: Keep generated map files local or access-controlled and do not expose them on public web servers.\n\nRisk: Security evidence reports possible command execution or writes outside the intended trip folder in edge cases.\n\nMitigation: Review before installing and fix shell-command and path-boundary issues before use in shared or high-trust environments.\n\nRisk: Optional helper skills and imported GPX/KML or media files can expand trust and input-handling risk.\n\nMitigation: Install helper skills only from trusted publishers and versions, and avoid importing untrusted GPX/KML or media files.\n\n## Reference(s):\n\n- [Hike Planner SOP](references/hike-planner-sop.md)\n- [Plan Template](references/PLAN_TEMPLATE.md)\n- [ClawHub Skill Page](https://clawhub.ai/updatedb/skills/hike-planner)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, code, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown itinerary plans, JSON trip state, generated HTML map files, and command-oriented guidance]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May write trip plans, state files, imported media, GPX/KML copies, and track-map HTML under the configured output directory.]\n\n## Skill Version(s):\n\n3.3.5 (source: server release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment."}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":"一站式徒步出行规划。根据用户明确指令生成行程计划（含徒步路线/交通/住宿/人文/装备）。支持查询票务/酒店信息，不执行订票/下单/候补/支付。多源交叉验证（12306/两步路/高德/小红书/GPX/KML文件）。行程状态持久化到本地文件，编辑命令自动写入，短信解析需用户确认。 Skill: Hike Planner Owner: updatedb Summary: 一站式徒步出行规划。根据用户明确指令生成行程计划（含徒步路线/交通/住宿/人文/装备）。支持查询票务/酒店信息，不执行订票/下单/候补/支付。多源交叉验证（12306/两步路/高德/小红书/GPX/KML文件）。行程状态持久化到本地文件，编辑命令自动写入，短信解析需用户确认。 Tags: hiking:0.3.1, latest:3.3.5, planner:1.0.1, planning:0.3.1, travel:0.3.1 Version history: v3.3.5 | 2026-06-26T16:31:06.015Z | user 安全修复: 修复7项SkillSpector发现 + SKILL.md改进 - execSync → execFileSync 防命令注入 - 文件路径范围验证 + 扩展名白名单 - GPX/KML导","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":1124,"uniquenessScore":50,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-09T17:00:54.106Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-09T17:00:54.106Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-09T22:49:37.153Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}