← 返回 Skills 市场
fabiolr

Duffel Flights

作者 fabiolr · GitHub ↗ · v1.0.0
cross-platform ⚠ suspicious
499
总下载
0
收藏
1
当前安装
1
版本数
在 OpenClaw 中安装
/install duffel
功能描述
Search, book, and manage flights via the Duffel Flights API. Covers 300+ airlines (NDC, GDS, LCC). Use when: (1) searching for flights between cities, (2) co...
使用说明 (SKILL.md)

Duffel Flights

Search, book, and manage flights across 300+ airlines via the Duffel API.

Setup

Set DUFFEL_TOKEN env var with your Duffel API access token. Get one at https://app.duffel.com → Developers → Access Tokens. Test tokens (prefix duffel_test_) use sandbox data with unlimited balance.

Commands

Search flights

python scripts/duffel.py search --from MIA --to LHR --date 2026-04-15
python scripts/duffel.py search --from MIA --to CDG --date 2026-03-15 --return-date 2026-03-22 --cabin business
python scripts/duffel.py search --from JFK --to LAX --date 2026-05-01 --nonstop --adults 2

Options: --cabin economy|premium_economy|business|first, --nonstop, --adults N, --children N, --infants N, --sort price|duration, --max-results N, --json

Results are numbered. Use the number with other commands.

View offer details

python scripts/duffel.py offer 3

Shows segments, baggage, fare conditions (refund/change), available extras.

Book a flight

python scripts/duffel.py book 3 --pax "RIBEIRO/FABIO MR 1977-01-31 [email protected] +13059159687 BR m"

Pax format: LAST/FIRST TITLE DOB EMAIL PHONE NATIONALITY GENDER

  • TITLE: MR, MRS, MS, MISS, DR
  • GENDER: m or f
  • Multiple passengers: repeat --pax "..." for each

Payment uses Duffel account balance. Top up at https://app.duffel.com.

Check order status

python scripts/duffel.py order ord_0000XXXXX

Cancel order

python scripts/duffel.py cancel ord_0000XXXXX           # Quote (shows refund amount)
python scripts/duffel.py cancel ord_0000XXXXX --confirm  # Execute cancellation

Seat map

python scripts/duffel.py seatmap 3

Airport/city lookup

python scripts/duffel.py places "new york"

Typical workflow

  1. search → browse numbered results
  2. offer N → check details, baggage, conditions
  3. book N --pax "..." → get PNR
  4. order \x3Cid> → verify booking
  5. cancel \x3Cid> → if needed

Notes

  • Offers expire (usually ~20 min). Re-search if expired.
  • Test mode: unlimited balance, bookings on "Duffel Airways" (fake airline).
  • Production: real airlines, real tickets. Balance must be funded.
  • All commands support --json for raw API output.
  • Last search saved to /tmp/duffel-last-search.json for index reference.
  • For API details, see references/api-guide.md and references/booking-flow.md.
安全使用建议
This skill appears to be a legitimate Duffel API CLI, but the package metadata omits the required DUFFEL_TOKEN and the repository lists a dependency (requests) without an install step. Before installing: (1) Prefer using a Duffel test token (duffel_test_...) so you only hit the sandbox; (2) Do NOT provide a live DUFFEL_TOKEN unless you fully trust the skill source — a live token can create real bookings and incur charges; (3) Review scripts/duffel.py (it sets Authorization: Bearer <token>, writes /tmp/duffel-last-search.json, and sends passenger data to the Duffel API); (4) Ensure the environment has the requests library or install it in an isolated environment; (5) Consider limiting autonomous agent invocation or disabling model-driven actions until you've tested with a sandbox token; (6) If you proceed with a production token, rotate it afterward and monitor your Duffel account activity.
功能分析
Type: OpenClaw Skill Name: duffel Version: 1.0.0 The skill bundle is benign. It provides a CLI interface to the Duffel Flights API, using standard Python libraries (`requests`, `argparse`) for its functionality. It reads the `DUFFEL_TOKEN` from environment variables for authentication and makes network requests exclusively to `https://api.duffel.com`. Temporary files for caching search results and cancellation quotes are written to `/tmp`, which is a common practice for transient data and does not contain sensitive information like credentials. There is no evidence of data exfiltration, malicious execution, persistence mechanisms, obfuscation, or prompt injection attempts against the OpenClaw agent in `SKILL.md`.
能力评估
Purpose & Capability
The code and SKILL.md implement searching, offers, booking, order/cancel, seat maps and places lookups against https://api.duffel.com — this is coherent with the skill name/description. However, the registry metadata claims no required environment variables while both SKILL.md and scripts/duffel.py require a DUFFEL_TOKEN. That mismatch is an incoherence in the package manifest (the skill legitimately needs the token, but the metadata does not declare it).
Instruction Scope
Runtime instructions and the script stay within the claimed scope: they call Duffel API endpoints, save the last search to /tmp/duffel-last-search.json, and do not reference unrelated system paths or other credentials. Note: booking operations will transmit passenger personal data (names, DOB, email, phone, nationality) to Duffel — this is expected for a booking tool but is sensitive and should be handled with care.
Install Mechanism
There is no install spec (instruction-only install), which is low-risk. The repository includes scripts/requirements.txt listing 'requests' but no automated install step is declared; that's an inconsistency (the code depends on requests but the package metadata does not list it). No downloads from external/untrusted URLs are present.
Credentials
The only runtime credential required is DUFFEL_TOKEN, which is appropriate for this skill. However the package metadata declares no required env variables or primary credential while the code and SKILL.md require DUFFEL_TOKEN — this is an important mismatch. Because DUFFEL_TOKEN can be a production token able to create real bookings and charge the linked account/wallet, the missing declaration reduces transparency and increases risk if you supply a live token without realizing it.
Persistence & Privilege
The skill does not request always:true and does not modify other skills or system-wide settings. It writes a single file to /tmp/duffel-last-search.json to store last search results. Note: the skill can be invoked autonomously by the agent (default platform behavior); if given a live DUFFEL_TOKEN, an agent could perform searches and bookings on your behalf, so confirm agent invocation permissions before granting credentials.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install duffel
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /duffel 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
- Initial release of the Duffel skill for searching, booking, and managing flights via the Duffel Flights API. - Supports over 300 airlines (NDC, GDS, LCC) with features including flight search, offer comparison, booking, order status, cancellation, seat maps, and airport/city code lookup. - Allows filtering by cabin class, nonstop preference, passenger count, and trip type (one-way or round-trip). - Includes commands for viewing fare details and managing cancellations with refund quotes. - Provides sandbox mode for testing and production mode for real bookings.
元数据
Slug duffel
版本 1.0.0
许可证
累计安装 1
当前安装数 1
历史版本数 1
常见问题

Duffel Flights 是什么?

Search, book, and manage flights via the Duffel Flights API. Covers 300+ airlines (NDC, GDS, LCC). Use when: (1) searching for flights between cities, (2) co... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 499 次。

如何安装 Duffel Flights?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install duffel」即可一键安装,无需额外配置。

Duffel Flights 是免费的吗?

是的,Duffel Flights 完全免费(开源免费),可自由下载、安装和使用。

Duffel Flights 支持哪些平台?

Duffel Flights 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Duffel Flights?

由 fabiolr(@fabiolr)开发并维护,当前版本 v1.0.0。

💬 留言讨论