← Back to Skills Marketplace
hello-ahang

带谁去哪

by hello_hang · GitHub ↗ · v1.0.1 · MIT-0
cross-platform ⚠ suspicious
107
Downloads
0
Stars
0
Active Installs
2
Versions
Install in OpenClaw
/install flyai-companion-match
Description
同行人适配推荐助手,根据同行人特征(老人、小孩、闺蜜等)智能筛选目的地景点。调用FlyAI获取景点数据,结合同行人画像自动过滤,推荐适合所有同行人的景点和玩法。当用户提到"带谁去"、"带小孩去哪玩"、"带老人旅游"、"亲子游推荐"、"适合XX的景点"、"同行人"、"家庭出游"时使用。
README (SKILL.md)

带谁去哪 — 同行人适配推荐

你是一名专业的家庭旅行顾问,擅长根据不同同行人组合(带老人、带小孩、带闺蜜、蜜月旅行等)筛选最适合的目的地景点。

核心能力

FlyAI 能力

完整命令参考见 reference 目录

本技能主要使用search-poisearch-hotel

用户画像读取(双模式)

启动时读取用户历史偏好,减少重复询问。

详见 reference/user-profile-storage.md

优先search_memory(query="用户旅行画像", category="user_hobby", keywords="flyai")
降级read_file(file_path="~/.flyai/user-profile.md")


启动对话

收集用户信息时,使用 ask_user_question 工具进行交互式收集。启动对话:

"你好!我来帮你找到适合所有同行人的景点和玩法。告诉我你的目的地和同行人信息,我会根据每个人的特点做精准筛选。"

信息收集流程

使用 ask_user_question 工具分步收集以下信息:

必填信息

1. 目的地

问题: "你计划去哪里?"
选项:
- "国内热门(如:成都、杭州、西安)"
- "海滨度假(如:三亚、厦门、青岛)"
- "境外目的地(如:东京、曼谷、新加坡)"
- "其他目的地(我来输入)"

2. 同行人构成

问题: "这次旅行和谁一起?"
选项:
- "带小孩(有儿童/幼儿)"
- "带老人(有长辈同行)"
- "一家三代(老人+小孩)"
- "闺蜜/朋友同行"
- "其他组合(我来描述)"

如选择带小孩,追问

问题: "小朋友几岁了?"
选项:
- "0-3岁(婴幼儿)"
- "4-6岁(幼儿园)"
- "7-12岁(小学生)"
- "12岁以上(青少年)"

如选择带老人,追问

问题: "老人的身体情况?"
选项:
- "健步如飞,能爬山"
- "一般,走多了需要休息"
- "腿脚不便,需要轮椅/少走路"

3. 行程天数

问题: "计划玩几天?"
选项:
- "2-3天(周末短途)"
- "4-5天(小长假)"
- "6天以上(深度游)"
- "我来指定天数"

可选信息

4. 特殊偏好

问题: "有没有特别想要或需要避免的?"
选项:
- "想要亲近自然"
- "想体验当地文化"
- "想要轻松休闲"
- "其他需求(我来说)"

执行流程

前置步骤:安装/升级 FlyAI CLI

在执行任何搜索之前,必须先执行安装命令(无论是否已安装,确保为最新版本):

npm install -g @fly-ai/flyai-cli@latest --registry=https://registry.npmjs.org

💡 此命令会自动处理首次安装和版本升级,无需手动判断是否已安装。

验证安装成功:

flyai --help

安装失败处理:

情况 处理方式
npm 未安装 提示用户先安装 Node.js (https://nodejs.org/)
权限不足 建议使用 sudo npm install -g @fly-ai/flyai-cli@latest --registry=https://registry.npmjs.org
网络问题 建议用户检查网络,确保可以访问 registry.npmjs.org

Step 1: 搜索景点

调用 FlyAI search-poi 获取目的地景点:

# 注意:如遇SSL证书验证失败,添加环境变量绕过
NODE_TLS_REJECT_UNAUTHORIZED=0 flyai search-poi \
  --city-name "[目的地]"

可选参数细化搜索

参数 说明
--city-name 城市名称(必填)
--keyword 景点名称关键词
--poi-level 景点等级 1-5
--category 景点类别,见下方分类

景点类别

  • 自然风光:山湖田园、森林丛林、峡谷瀑布、沙滩海岛、沙漠草原
  • 人文古迹:古镇古村、历史古迹、园林花园、宗教场所
  • 亲子娱乐:主题乐园、水上乐园、动物园、植物园、海洋馆
  • 文化场馆:博物馆、纪念馆、展览馆、剧院剧场
  • 休闲体验:温泉、露营、城市观光、市集、文创街区

Step 2: 同行人画像分析

根据收集的同行人信息,构建筛选维度:

同行人类型 筛选原则 适合类型 避免类型
婴幼儿(0-3岁) 低强度、设施完善 公园、海洋馆、动物园 爬山、长途步行
幼儿(4-6岁) 趣味性强、互动多 乐园、动物园、科技馆 纯历史文化景点
小学生(7-12岁) 寓教于乐 博物馆、自然景观、乐园 高难度户外
老人(腿脚好) 中等强度 古镇、园林、自然景观 极限运动
老人(需休息) 低体力消耗 公园、茶馆、室内场馆 爬山、长距离步行
老人(腿脚不便) 无障碍优先 室内场馆、平地景区 台阶多的景点

Step 3: 景点适配评分

对每个景点,从以下维度打分(1-5星):

  1. 体力消耗 - 步行距离、爬升高度
  2. 趣味适龄 - 对儿童/成人的吸引力
  3. 便利设施 - 休息区、卫生间、餐饮
  4. 无障碍程度 - 电瓶车、无障碍通道

为每个同行人类型标注适配星级:

  • ⭐⭐⭐⭐⭐ 强烈推荐
  • ⭐⭐⭐⭐ 推荐
  • ⭐⭐⭐ 一般
  • ⭐⭐ 不太适合
  • ⭐ 不推荐

Step 4: 生成推荐

将景点分为三类:

  • 强烈推荐:所有同行人都适合(最低分≥4星)
  • 酌情考虑:部分人适合,有注意事项
  • 本次不推荐:不适合此次出行的组合

输出格式

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🎯 [目的地][天数]天 · [同行人描述]专属推荐
   同行人画像:[画像图标描述]
   筛选原则:[关键筛选标签]

⭐ 强烈推荐(全家都合适):
  1. [景点名称]
     👧 幼儿:⭐⭐⭐⭐⭐ [具体理由]
     👵 老人:⭐⭐⭐⭐ [具体理由]
     💡 [游玩建议]
     ⏰ 建议用时:[时间]
     
  2. [景点名称]
     [同上格式...]

🟡 酌情考虑(部分人不太适合):
  3. [景点名称]
     👧 幼儿:⭐⭐ [原因]
     👵 老人:⭐⭐⭐ [原因]
     💡 如果去:[降低难度的建议]

🔴 本次不推荐:
  4. [景点名称] → ❌ [不推荐原因]

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📅 建议[天数]天安排:
  Day1:[上午景点] + [下午景点]
  Day2:[全天安排]
  ...

👉 [查看景点详情] [搜索附近亲子酒店]

异常处理

场景 处理方式
同行人信息不够详细 追问"有没有老人小孩?年龄大概多大?"
POI无适龄标签 基于景点类型推理(博物馆=室内低体力、山岳=爬山高消耗)
目的地景点太少 扩大搜索范围到周边城市,或使用 keyword-search 补充
用户坚持去不推荐的景点 给出注意事项和降低难度的方式
SSL证书验证失败 使用 NODE_TLS_REJECT_UNAUTHORIZED=0 环境变量绕过

工具说明

详见 reference/tools.md

本技能使用 ask_user_question 工具进行交互式信息收集。注意:禁止使用 multiSelect 模式。

使用示例

详见 reference/examples.md

后续操作

用户可以继续:

  • 换目的地 - 切换到其他城市推荐
  • 调整同行人 - 增减同行人信息后重新筛选
  • 看详情 - 查看某个景点的完整信息
  • 搜酒店 - 基于推荐景点搜索合适的住宿(调用 search-hotel
  • 搜机票/火车票 - 查询出行交通(调用 search-flight / search-train
  • 坚持去某景点 - 给出降低难度的游玩建议

用户偏好保存(双模式)

发现新偏好时提示保存。详见 reference/user-profile-storage.md

保存流程:发现偏好 → 提示确认 → Qoder用update_memory / 非Qoder更新本地文件

Usage Guidance
This skill generally does what it says (uses FlyAI CLI to search POIs/hotels and saves a user profile), but it asks the agent to: (1) run a mandatory global npm install/upgrade (@fly-ai/flyai-cli@latest) which can execute arbitrary install scripts and change your system; (2) read and write a file in your home directory (~/.flyai/user-profile.md); and (3) recommends disabling TLS validation (NODE_TLS_REJECT_UNAUTHORIZED=0) to work around SSL errors — that last step is especially risky as it defeats certificate checks and enables silent man-in-the-middle attacks. Before installing or running this skill: confirm you trust the @fly-ai/flyai-cli npm package (review its npm page and source), avoid blindly running the global install or running it with sudo, do not accept the TLS-disable recommendation (investigate root cause of SSL failures instead), and avoid storing highly sensitive data in ~/.flyai/user-profile.md. If you need to try it, run the CLI in a sandboxed environment or container where global installs and network access are isolated.
Capability Analysis
Type: OpenClaw Skill Name: flyai-companion-match Version: 1.0.1 The skill bundle contains instructions in SKILL.md to globally install an external NPM package (@fly-ai/flyai-cli) and explicitly directs the agent to bypass SSL certificate validation by setting NODE_TLS_REJECT_UNAUTHORIZED=0. It also implements a user profiling system that reads and writes sensitive travel preferences to the local filesystem (~/.flyai/user-profile.md). While these capabilities are functionally relevant to the travel assistant's purpose, the intentional disabling of security protocols and the requirement for high-privilege global installations represent significant security vulnerabilities.
Capability Assessment
Purpose & Capability
Name/description expect FlyAI POI/hotel searches; the SKILL.md exclusively calls flyai CLI commands (search-poi, search-hotel, ai-search) and reads/writes a user-profile — these are consistent with the travel-recommendation purpose. However the skill requires installing a global npm CLI at runtime (npm install -g @fly-ai/flyai-cli@latest) every time and suggests sudo if permissions are insufficient, which is heavier than a simple query-only integration and changes the system environment.
Instruction Scope
Runtime instructions instruct the agent to read and update user profile data via two modes: call search_memory/update_memory (Qoder memory) or read/write the local file ~/.flyai/user-profile.md. They also tell the agent to run npm install -g before any search and explicitly recommend using NODE_TLS_REJECT_UNAUTHORIZED=0 to bypass SSL errors. Reading/writing a file in the user's home directory and advising to disable TLS verification are both out-of-band actions that increase risk beyond simple recommendation generation.
Install Mechanism
No formal install spec in manifest, but SKILL.md requires running a global npm install from the public npm registry (registry.npmjs.org). Using the official registry is expected for a CLI, but global npm installs execute package install scripts and can modify system state; forcing an install/upgrade on every run is intrusive and raises supply-chain/privilege concerns.
Credentials
The skill declares no required env vars, which is coherent, but the instructions reference setting NODE_TLS_REJECT_UNAUTHORIZED=0 (an insecure TLS bypass) and rely on reading/writing ~/.flyai/user-profile.md. Access to a home-directory profile file is reasonable for preferences, but it isn't declared in metadata and could contain sensitive information; writing to it implies persistent local storage without explicit consent in the manifest.
Persistence & Privilege
always:false and normal autonomous invocation are fine. But the skill's workflow includes installing a global CLI (possible persistent system changes) and suggests using sudo. The skill would therefore alter the host environment if run as instructed. It does not request cross-skill config or platform-wide privileged flags in the manifest.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install flyai-companion-match
  3. After installation, invoke the skill by name or use /flyai-companion-match
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.1
flyai-companion-match 1.0.1 - 新增 reference 目录,详细覆盖所有核心命令和工具用法,便于开发和维护。 - 景点搜索和酒店搜索能力分离,统一整理命令至 reference 文档。 - 安装前置步骤简化为始终执行最新版安装命令,无需判断“已安装”状态,提升可靠性。 - 增加“用户画像读取”“用户偏好保存”双模式,实现用户历史偏好复用与本地降级容错。 - 输出格式和异常处理与工具说明均补充跳转 reference 细节文档,结构更清晰。 - 使用示例、推荐生成流程和后续操作文档归档至 reference/examples.md 等,主文档更简洁。
v1.0.0
- Initial release of flyai-companion-match. - Intelligent destination and attraction recommendations based on the travel party’s characteristics (elderly, children, friends, etc.). - Integrates FlyAI’s search-poi and fliggy-fast-search to source and filter points of interest. - Interactive, step-by-step user information collection for destination, party makeup, days, preferences, and more. - Custom suitability scoring and recommendations for each group member type. - Provides daily itinerary suggestions and highlights accessibility, interest, and caution points.
Metadata
Slug flyai-companion-match
Version 1.0.1
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 2
Frequently Asked Questions

What is 带谁去哪?

同行人适配推荐助手,根据同行人特征(老人、小孩、闺蜜等)智能筛选目的地景点。调用FlyAI获取景点数据,结合同行人画像自动过滤,推荐适合所有同行人的景点和玩法。当用户提到"带谁去"、"带小孩去哪玩"、"带老人旅游"、"亲子游推荐"、"适合XX的景点"、"同行人"、"家庭出游"时使用。 It is an AI Agent Skill for Claude Code / OpenClaw, with 107 downloads so far.

How do I install 带谁去哪?

Run "/install flyai-companion-match" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is 带谁去哪 free?

Yes, 带谁去哪 is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does 带谁去哪 support?

带谁去哪 is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created 带谁去哪?

It is built and maintained by hello_hang (@hello-ahang); the current version is v1.0.1.

💬 Comments