🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

机票比价 123wansui-989/dsh-flight-compare

DeepSeek Harness
123wansui-98927 天前有提交已提供中文文档扫描:未发现敏感能力

聚合多源机票价格,按航班标出最低价

30.7/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/5 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

该插件未发布到 npm,按作者文档从 GitHub 源安装即可(静态检查只覆盖 npm 路径,不代表插件不可用)。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add 123wansui-989/dsh-flight-compare
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:需留意
是什么
dsh 原生插件 · security
装得上吗
作者未把包发布到 npm,只能用源码安装
插件本身没问题,是分发方式不同
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 27 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查需源码安装

仓库 package.json 标记 private,未发布到 npm,需从源码安装

展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✗npm 包dsh-flight-compare(未发布到 npm,仅可源码安装)
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

源码安装时若 pnpm 拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑。

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/12 22:48:31

安全扫描自动 · 静态分析源码
v2.7.0
🟢 扫描:未发现敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。

发起外部网络请求
查看扫描证据(共 3 处,展示前 3 条)
  • 发起网络请求
    src/sources/amadeus.ts:114
    const response = await fetch(tokenUrl, {
  • 发起网络请求
    src/sources/amadeus.ts:207
    const response = await fetch(url, {
  • 发起网络请求
    src/sources/travelpayouts.ts:57
    const response = await fetch(url, {
扫描于 2026/11/1(0 天前) · 范围 全包扫描(包内未声明入口) · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/cosmokit@deepseek-ai/dsh-tools@deepseek-ai/schemastery@deepseek-ai/cordis@deepseek-ai/dsh-agent@deepseek-ai/dsh-brand@deepseek-ai/dsh-invariants@deepseek-ai/dsh-llm@deepseek-ai/dsh-ptc-runtime@deepseek-ai/dsh-sandbox@deepseek-ai/dsh-sandbox-policy@deepseek-ai/dsh-scope
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 聚合多源机票价格
  • 按航班日期分组
  • 标出最低价

DSH 插件:注册 flight_compare,拉取 Travelpayouts 票价,按航班和日期分组,在 Markdown 表格里标出最低价。

README

由 DeepSeek 最新模型翻译生成
dsh-flight-compare DSH 插件:注册 flight_compare 工具,从多个数据源获取单条航线的机票价格,按「航班号 + 出发日期」聚合,标出每个航班跨数据源的最低价及其来源,并按最低价升序输出 Markdown 表格。 数据源(见 src/sources/): | 数据源 | 接口 | 说明 | | Travelpayouts | GET /v2/prices/month-matrix | 缓存价格,支持整月查询,按城市 IATA 码查询 | | Amadeus | GET /v2/shopping/flight-offers | 官方 Self-Service API 实时报价,按机场 IATA 码查询,需要 YYYY-MM-DD 具体日期 | 两个源都实现 src/sources/types.ts 里的 FlightSource 接口,统一返回 Flight 对象(航班号、航司、出发/到达、时间、价格、币种、来源)。某个源查询失败不会让整次调用失败,失败原因会在结果里列出。 安装 cd dsh-flight-compare pnpm install pnpm build 配置 凭据只从环境变量读取,不写进代码。
展开完整文档(README 剩余 1 节)
dsh-flight-compare

DSH 插件:注册 flight_compare 工具,从多个数据源获取单条航线的机票价格,按「航班号 + 出发日期」聚合,标出每个航班跨数据源的最低价及其来源,并按最低价升序输出 Markdown 表格。

数据源(见 src/sources/):

| 数据源 | 接口 | 说明 |
| Travelpayouts | GET /v2/prices/month-matrix | 缓存价格,支持整月查询,按城市 IATA 码查询 |
| Amadeus | GET /v2/shopping/flight-offers | 官方 Self-Service API 实时报价,按机场 IATA 码查询,需要 YYYY-MM-DD 具体日期 |

两个源都实现 src/sources/types.ts 里的 FlightSource 接口,统一返回 Flight 对象(航班号、航司、出发/到达、时间、价格、币种、来源)。某个源查询失败不会让整次调用失败,失败原因会在结果里列出。

安装

cd dsh-flight-compare
pnpm install
pnpm build

配置

凭据只从环境变量读取,不写进代码。Travelpayouts 必填;Amadeus 两项都留空时该源自动跳过,插件退化为单源比价:

export TRAVELPAYOUTS_TOKEN="<your-travelpayouts-token>"

可选:启用 Amadeus 第二个数据源
export AMADEUS_CLIENT_ID="<your-amadeus-api-key>"
export AMADEUS_CLIENT_SECRET="<your-amadeus-api-secret>"
export AMADEUS_PRODUCTION="false" # true 时查询 api.amadeus.com

Amadeus Self-Service key 在 https://developers.amadeus.com 注册后自助创建,测试环境自带免费额度;测试环境是生产数据的子集,小城市可能查不到结果,建议先用大城市航线验证。

| 配置项 | 默认值 | 说明 |
| travelpayoutsToken | process.env.TRAVELPAYOUTS_TOKEN | Travelpayouts token,必填,作为 X-Access-Token 发送。 |
| token | 无 | 0.1.0 的旧字段名,作为 travelpayoutsToken 的兼容别名保留,两者同时存在时以 travelpayoutsToken 为准。 |
| amadeusClientId | process.env.AMADEUS_CLIENT_ID | Amadeus API key;与 secret 同时为空则该源不启用。 |
| amadeusClientSecret | process.env.AMADEUS_CLIENT_SECRET | Amadeus API secret,用于 OAuth2 client_credentials 取 token。 |
| amadeusProduction | false | false 用 test.api.amadeus.com,true 用 api.amadeus.com。 |
| amadeusMaxResults | 20 | 每次搜索向 Amadeus 请求的报价条数上限。 |
| currency | RUB | 价格币种,例如 RUB、USD;会作为 Amadeus 的 currencyCode。 |
| maxRows | 30 | 输出表格的最大行数。 |
| timeoutMs | 20000 | 每个数据源单次请求的超时时间(毫秒)。 |

覆盖默认值(cordis.patch.yml):

- insert:
- id: dsh-flight-compare
name: dsh-flight-compare
config:
travelpayoutsToken: !!js process.env.TRAVELPAYOUTS_TOKEN
amadeusClientId: !!js process.env.AMADEUS_CLIENT_ID
amadeusClientSecret: !!js process.env.AMADEUS_CLIENT_SECRET
amadeusProduction: !!js process.env.AMADEUS_PRODUCTION === 'true'
currency: USD
maxRows: 30

departDate 传 YYYY-MM-DD 时两个源都会查;传 YYYY-MM 或不传时只有 Travelpayouts 参与比对(Amadeus 的搜索接口只接受单日),结果里会有一条说明。

本地调试

--patch 是 launcher 的 flag,必须跟在 --profile 之后(dsh <name> 是 dsh --profile <name> 的简写),补丁路径相对当前目录解析:

export TRAVELPAYOUTS_TOKEN="<your-travelpayouts-token>"
export AMADEUS_CLIENT_ID="<your-amadeus-api-key>"
export AMADEUS_CLIENT_SECRET="<your-amadeus-api-secret>"

在插件目录里启动当前 profile,并叠加这个补丁层
cd dsh-flight-compare
dsh --profile web --patch ./cordis.patch.yml

--profile web 换成实际要启动的 profile 名字即可(例如 dsh tui --patch ./cordis.patch.yml)。补丁里的 name: dsh-flight-compare 由 profile 的 node_modules 解析,所以先用 dsh plugin --profile <profile> add <本目录绝对路径> 把包装进 profile:

dsh plugin --profile web add "$(pwd)"

先确认组合结果再启动:
dsh --profile web --patch ./cordis.patch.yml --dump-config
预览分享卡片长什么样 ↓123wansui-989/dsh-flight-compare
分享 · DeepSeek Harness Hub
123wansui-989/dsh-flight-compare

聚合多源机票价格,按航班标出最低价

回到顶部