Skill: bitbrewing/feihuo (version 1.2.0-beta2)

--- name: feihuo display_name: "飞伙" description: 使用 feihuo 命令行工具配置 FEIHUO_API_KEY，并搜索航班、酒店、火车票或签证。适用于用户要查询机票、比较航班、搜索酒店、查询火车票、查询签证、查看航班/酒店/火车票/签证搜索参数、执行 feihuo flight-search、feihuo hotel-search、feihuo train-search、feihuo visa-search 或管理 feihuo config 的场景。 metadata: version: 0.0.1 agent: type: tool runtime: node context_isolation: execution parent_context_access: read-only openclaw: emoji: "\u2708" priority: 90 requires: bins: - node intents: - flight_search - hotel_search - train_search - visa_search patterns: - "(搜索|查询|查找|比较|预订).*(航班|机票|飞机票)" - "(航班|机票|飞机票).*(搜索|查询|查找|比较|价格)" - "(搜索|查询|查找|比较|预订).*(酒店|住宿)" - "(酒店|住宿).*(搜索|查询|查找|比较|价格)" - "(搜索|查询|查找|比较|预订).*(火车票|车票|高铁|动车|普通车)" - "(火车票|车票|高铁|动车|普通车).*(搜索|查询|查找|比较|价格)" - "(搜索|查询|查找|比较|办理|预订).*(签证|签证产品)" - "(签证|签证产品).*(搜索|查询|查找|比较|价格|办理)" - "feihuo\\s+flight-search" - "feihuo\\s+hotel-search" - "feihuo\\s+train-search" - "feihuo\\s+visa-search" - "feihuo\\s+config" --- # 飞伙 使用 `feihuo` 命令行工具搜索航班、酒店、火车票和签证。命令输出 JSON 到 `stdout`，错误信息输出到 `stderr`。 ## 快速开始 1. 安装 CLI：`npm install -g feihuo-cli` 2. 配置 API Key：优先执行 `feihuo config set FEIHUO_API_KEY xxxxxx`，也可以使用环境变量 `FEIHUO_API_KEY` 3. 确认配置：`feihuo config list` 4. 查看帮助：`feihuo --help` 5. 搜索航班：`feihuo flight-search --dep "上海" --arr "东京" --dep-date 2026-03-20` 6. 搜索酒店：`feihuo hotel-search --city-name "上海" --check-in-date 2026-03-20 --check-out-date 2026-03-25` 7. 搜索火车票：`feihuo train-search --dep "上海" --arr "北京" --dep-date 2026-03-20` 8. 搜索签证：`feihuo visa-search --country "日本" --visa-type tourist` ## 配置 首次使用前必须配置 API Key。优先保存到本地配置： ```bash feihuo config set FEIHUO_API_KEY xxxxxx ``` 也可以使用环境变量： ```bash export FEIHUO_API_KEY=xxxxxx ``` 配置文件保存位置： ```text ~/.config/feihuo/config.json ``` 请求服务时 CLI 会读取 `FEIHUO_API_KEY`，并设置： ```http Authorization: Bearer <FEIHUO_API_KEY> ``` ## 命令能力 ### `config` 管理本地配置。目前支持： ```bash feihuo config set FEIHUO_API_KEY xxxxxx feihuo config list ``` ### `flight-search` 搜索航班，支持单程和往返。 ```bash feihuo flight-search --dep "上海" --arr "东京" --dep-date 2026-03-20 feihuo flight-search --dep "上海" --arr "东京" --dep-date 2026-03-20 --back-date 2026-03-25 --berth-type Y ``` 详细参数见 [references/flight-search.md](references/flight-search.md)。 ### `hotel-search` 搜索酒店，支持按城市、入住/离店日期、区域、星级和价格筛选。 ```bash feihuo hotel-search --city-name "上海" --check-in-date 2026-03-20 --check-out-date 2026-03-25 feihuo hotel-search --city-name "上海" --check-in-date 2026-03-20 --check-out-date 2026-03-25 --region-name "人民广场" --stars 3,4,5 --min-price 300 --max-price 1000 ``` 详细参数见 [references/hotel-search.md](references/hotel-search.md)。 ### `train-search` 搜索火车票，支持按火车类型、车次、出发小时和到达小时筛选。 ```bash feihuo train-search --dep "上海" --arr "北京" --dep-date 2026-03-20 feihuo train-search --dep "上海" --arr "北京" --dep-date 2026-03-20 --train-type high-speed --dep-hour-start 8 --dep-hour-end 12 ``` 详细参数见 [references/train-search.md](references/train-search.md)。 ### `visa-search` 搜索签证，支持按目的地国家和签证类型筛选。 ```bash feihuo visa-search --country "日本" feihuo visa-search --country "日本" --visa-type tourist ``` 详细参数见 [references/visa-search.md](references/visa-search.md)。 ## 日期规则 - `--dep-date` 格式为 `YYYY-MM-DD`，且不能早于今天。 - `--back-date` 格式为 `YYYY-MM-DD`，且不能早于 `--dep-date`。 - `--check-in-date` 格式为 `YYYY-MM-DD`，且不能早于今天。 - `--check-out-date` 格式为 `YYYY-MM-DD`，且必须晚于 `--check-in-date`。 - `train-search --dep-date` 格式为 `YYYY-MM-DD`，且不能早于今天。 需要当前日期时，先运行： ```bash date +%Y-%m-%d ``` ## 舱位等级 - `Y`：经济舱 - `C`：公务舱 - `F`：头等舱 ## 签证类型 - `tourist` / `Tourist`：旅游签证 - `business` / `Business`：商务签证 - `family-visit` / `FamilyVisit`：探亲签证 ## 结果展示要求 当把 `flight-search`、`hotel-search`、`train-search` 或 `visa-search` 返回结果展示给用户时： - 使用中文 Markdown。 - 优先展示价格、航程、航段、起降时间、航空公司和航班号。 - 如果结果包含 `jumpUrl`，使用独立一行展示预订链接：`[点击预订]({jumpUrl})`。 - 酒店结果优先展示酒店名称、品牌、类型、地址、区域、最低价格、星级、评分和主图。 - 如果酒店结果包含 `mainPic`，使用独立一行展示图片：`![]({mainPic})`。 - 火车票结果优先展示车次、最低价、总耗时、出发站/到达站、出发时间/到达时间和余票座位。 - 签证结果优先展示签证名称、类型、价格、有效期、办证时间、停留期和重要提示。 - 多个方案适合用 Markdown 表格比较。 - 不要把原始 JSON 原封不动贴给最终用户，除非用户明确要求。


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)