mcpField
L
light-travelpage

light-travelpage

github.com/light-cheng生产力518 次安装3 天前更新
代码仓库

关于 light-travelpage

Light-TravelPage 将旅行资料整理为供旅行团体维护的中英双语页面,包含行程、导航、票据和共享状态。它涵盖资料整理、更新、部署与验证,并保留未确认信息、保护私密资料。

主要功能

  1. 01中英双语旅行内容
  2. 02行程与预订详情
  3. 03按地点提供地图导航
  4. 04团体共享旅行状态
  5. 05部署与验证检查
  6. 06可选 AI 集成

适用场景

  1. 01根据资料制作团体旅行页面
  2. 02更新既有行程并保留其他编辑
  3. 03共享旅行任务、票据和费用
  4. 04检查导航链接与部署页面

MCP 相关

此 Skill 未说明 MCP 服务或客户端。它提到可选的相关能力 light-travelpage-gw,用于通过自托管或本地网关接入 AI。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/light-cheng/skills --skill light-travelpage

安装后在 Claude Code 中输入/light-travelpage确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

agents/
openai.yaml
assets/template/
.gitignore
ai-config.js
ai-config.json
ai-ui.js
ai.css
app.js
currencies.js
handbook.css
handbook.js
i18n.js
index.html
ledger.css
ledger.js
LICENSE
map-navigation.js
overview-map.js
package-lock.json
package.json
route-ui.js
runtime-storage.js
assets/template/assets/
ai-panel.html
assets/template/assets/maps/templates/
manifest.json
assets/template/functions/
_middleware.js
assets/template/functions/api/ai/
[[tripId]].js
assets/template/functions/api/trip/
[[tripId]].js
assets/template/migrations/
0001_state.sql
0002_ai_requests.sql
assets/template/scripts/
build-map.mjs
build.mjs

详细介绍

Light-TravelPage

将旅行资料转化为供旅行团使用并持续维护的页面。这是一项由模型调用的功能。默认交付方案使用 GitHub 管理代码,并使用 Cloudflare Pages、Functions 和 D1 构建网站和共享状态。本地预览属于开发步骤。

准备

阅读提供的资料和任何现有行程一次。提取已确认的行程、日期、地点、航班、住宿预订、门票和明确任务;收集实际存在的冲突。准备中文和英文显示译文,不得更改事实;保留当地地名和原始地址。对于导航,记录每个地点所在的国家/地区,以及任何已核实的服务商链接或坐标系/来源。遵从已经作出的选择。只询问解决重大歧义所必需的问题;将未知事实明确标记为待确认。不得为填充模板而虚构预订、坐标或旅行建议。

准备或验证数据时,请使用 data-contract.md。针对容易混淆或存在冲突的日期、时间、地点和预订详情,维护一份简短的私有来源索引;不得发布原始文档、提取笔记或本地路径。

生成新页面之前,如果是否启用 AI 尚不明确,请先简短询问;默认关闭。遵从已有选择,不要重复询问。若启用,请阅读 ai-integration.md:页面所有者在自己的终端运行 scripts/ai-setup.mjs,连接任何 OpenAI 或 Anthropic 格式的 API,确保密钥不会进入对话;部署时模型固定,旅行者无法更改。

生成或更新

  • **新页面:**运行 node <skill>/scripts/create.mjs <new-project-directory>(关闭 AI),或在获得授权后追加 --ai on。然后填写其 trip-data.json 和明确提供的门票资源。除非用户要求重新设计,否则使用旅行手册模板以及 handbook-design.md 设计章节布局和排版。启用与所请求内容相匹配的模块。
  • **现有页面:**首先读取当前数据以及运行时/部署设置。准备完整的下一版数据文件,保留行程 ID、未更改的实体 ID、现有地图选择和无关的用户编辑。使用 node <skill>/scripts/update.mjs <project-directory> <next-trip.json> 应用更新。有关备份和发布边界,请参阅 update-and-export.md。更改源数据不会重置共享运行时状态。

在生成的项目中运行 npm ci、npm run build 和 npm test。构建 PDF 门票需要 pdftoppm;保留原始 PDF,并在相同的身份验证保护下,将生成的同名 PNG 预览放在其旁边。修正无效事实/引用,或准确报告尚未解决的输入;不得放宽验证器来生成通过结果。明确标记为未注明日期的草稿,其日期可以保持为 null。对于已知目的地,如果存在已核实的 WGS84 地点,请按 display-and-navigation.md 所述,获取其匹配的真实地理边界,并使用 geographic-outline 构建;根据行程事实选择,无需询问旅行者要采用哪种地图样式。使用地点导航链接进行实际导航。如果地理信息或可用边界不可获取,请说明这一限制,并将任何模板地图标记为示意图。

准备双语内容、航班/住宿卡片、区域地图或演示夹具时,请使用 display-and-navigation.md。界面包含本地中文/英文偏好设置。地图默认服务按地点所在地区选择: 中国大陆 → Amap,韩国 → Kakao,俄罗斯 → Yandex,其他已知地区 → Google,并提供 Apple Maps 选项。Google 和 Apple 搜索使用易读的当地名称和地址;坐标用于定位地图,或在没有易读地点名称时作为备用信息。对于未知地区,必须选择服务。请测试实际链接;仅生成 URL 并不能证明导航成功。

分享和部署

阅读 cloud-sync.md,了解单组访问和共享状态约定,然后按照 deployment.md 操作。复用现有且已授权的 GitHub/Cloudflare 登录及限定范围的资源。部署授权不允许更改无关的账户设置。如果无法使用登录方式或无法确定必要的部署选项,请完成本地打包并准确说明剩余步骤;不要把 localhost 称为已部署页面。

私密材料只能存放在用户授权的行程和托管目标中。生成的 Git 忽略规则默认排除行程数据和票据;只有在明确授权将这些材料存放到代码仓库时,才可发布到仓库。仅部署包含受保护 Functions 的 dist/。安全生成群组访问码和会话密钥,并通过本地密钥工具传递,绝不可嵌入页面或提交到仓库。分发重复使用的素材时,保留 ATTRIBUTION.md 和模板许可证。

验证和交付

验证实际托管 URL、页面上的身份验证、JSON、票据素材和 API,然后验证两个独立会话:共享成员/设置/账单/任务/票据变更、冲突响应、保存失败后的恢复以及幂等重试。Chromium 和 WebKit 可能会阻止在模态框中显示 PDF iframe 内容:在窄屏移动端视口中,确认票据 PNG 确实显示在 #ticket-dialog 内、缩放正常,且原始 PDF 链接仍然可用。此外,还要检查两种语言、章节切换、每日页面即时选择、可见的每日地图、已完成/待处理的航班和住宿卡片、行程、清晰可读的区域导航,以及刷新后仍保留的已保存费用。切换章节、语言和轮询不得清除表单草稿。更新时运行针对变更功能的测试,不要重复无关检查。

交付在线链接、仓库位置、已实现的共享范围、简明的验证证据以及任何剩余限制。通过受保护的本地文件或用户选择的安全渠道提供访问材料。不要仅凭构建日志或模拟结果声称已部署、已独立审查或已同步。不包括预订、付款、创建新发行版/标签或调用无关 Skill。

可选功能

  • 用户希望通过自托管或本地网关(Tunnel 或环回地址)使用 AI → 调用 light-travelpage-gw (仓库)。未安装时 → 仅支持已部署页面可访问的 HTTPS API,并明确说明这一点。

评论

支持 Markdown