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

奥托商旅预订 ottotheagent/otto-dsh

MCP
ottotheagent80 天前有提交已提供中文文档扫描:含敏感能力兼容 / 相关生态

在对话中搜索并预订真实航班、酒店与租车

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

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

相关生态插件(非 dsh 原生,按其对应运行时安装)
git clone https://github.com/ottotheagent/otto-dsh.git

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么
生态应用
桌面端 / Web 外壳,不以 dsh plugin add 安装
装得上吗
本站尚未做安装检查
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 80 天前
档位由哪些信号合成

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

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 8 处,展示前 8 条)
  • 发起网络请求
    src/auth.ts:113
    const res = await fetch(`${this.baseUrl}/oauth/token`, {
  • 发起网络请求
    src/auth.ts:141
    const res = await fetch(`${this.baseUrl}/oauth/register`, {
  • 发起网络请求
    src/auth.ts:161
    const res = await fetch(`${this.baseUrl}/oauth/device_authorization`, {
  • 发起网络请求
    src/auth.ts:182
    const res = await fetch(`${this.baseUrl}/oauth/token`, {
  • 执行外部命令来自配置/变量
    src/index.ts:67
    const child = spawn(cmd, args, { stdio: "ignore", detached: true });
  • 读取本地文件
    src/token-store.ts:40
    const raw = await readFile(TOKEN_FILE, "utf-8");
  • 写入本地文件
    src/token-store.ts:51
    await mkdir(TOKEN_DIR, { recursive: true });
  • 写入本地文件
    src/token-store.ts:52
    await writeFile(TOKEN_FILE, JSON.stringify(tokens, null, 2), { mode: 0o600 });
扫描于 2026/11/3(0 天前) · 范围 全包扫描(包内未声明入口) · 来源 GitHub 仓库

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

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 搜索真实航班
  • 预订酒店
  • 预订租车

用 DeepSeek Harness(dsh)的 Otto 订真实机票、酒店和租车——otto-travel MCP 连接器,以 dsh 插件形式提供。

README

由 DeepSeek 最新模型翻译生成
Otto Travel — DeepSeek Harness (dsh) 插件 创建日期:2026-08-14 · 最后更新:2026-08-14 在 DeepSeek Harness (dsh) 中通过 Otto 预订真实的航班、酒店和租车。预订在 Otto 内部执行(真实的 Spotnana PNR、已认证用户存储的支付方式)。 本仓库是自包含的:它附带一个小型 stdio MCP 代理,用于运行 Otto 的设备授权 OAuth,并代理 Otto 受 OAuth 保护的 /mcp 端点。dsh 通过 npx 启动它,因此无需安装其他任何东西,也不需要 API 密钥。(它与 Otto 的 OpenClaw 和 Claude 连接器采用相同的 OAuth 方式;每个集成都保留自己的一份小型认证核心副本。
展开完整文档(README 剩余 1 节)
Otto Travel — DeepSeek Harness (dsh) 插件

创建日期:2026-08-14 · 最后更新:2026-08-14

在 DeepSeek Harness (dsh) 中通过 Otto 预订真实的航班、酒店和租车。预订在 Otto 内部执行(真实的 Spotnana PNR、已认证用户存储的支付方式)。

本仓库是自包含的:它附带一个小型 stdio MCP 代理,用于运行 Otto 的设备授权 OAuth,并代理 Otto 受 OAuth 保护的 /mcp 端点。dsh 通过 npx 启动它,因此无需安装其他任何东西,也不需要 API 密钥。(它与 Otto 的 OpenClaw 和 Claude 连接器采用相同的 OAuth 方式;每个集成都保留自己的一份小型认证核心副本。)

你将获得

Otto 的工具会以 mcp__otto__ 的形式出现在模型命名空间中:

otto_setup · search_flights · query_flights · book_flight · search_hotels · get_hotel_rooms · book_hotel · get_bookings · cancel_booking · read_skill · read_preferences / write_preference · read_loyalty_programs / write_loyalty_program · task_status

设置

从零到完成一次预订行程,只需五步。

1. 前提条件

- 已安装并可正常运行的 DeepSeek Harness (dsh)。
- Node / npx 已在你的 PATH 中(本来就有——dsh 基于 Node)。
- 一个你可以登录的 Otto 账户(或在第 4 步中创建一个)。预订需要已启用的 Otto 用户,并具备旅行者资料 + 支付方式——参见谁才能真正预订。

2. 将 Otto 添加到你的 dsh 组合中

将此条目添加到你的 cordis.yml(或某个 profile 补丁)中——完整文件见 cordis.otto.patch.yml:

- id: mcp-otto
name: '@deepseek-ai/dsh-mcp-client'
config:
serverName: otto
transport: stdio
command: npx
args: ['-y', 'github:ottotheagent/otto-dsh']

如果你的 dsh 构建支持 bundle 安装,以下命令效果相同:

dsh plugin add github:ottotheagent/otto-dsh

npx 会在首次启动时构建并运行捆绑的代理——无需安装其他任何东西,也不需要 API 密钥。

此包发布到 npm 后,请将 github:ottotheagent/otto-dsh 替换为 @ottotheagent/otto-dsh。

3. 启动 dsh

像往常一样启动你的 dsh profile。Otto 的工具现在会以 mcp__otto__ 的形式出现在模型命名空间中——包括 mcp__otto__otto_setup。

4. 授权 Otto(一次性)

让 agent 做任何与旅行相关的事情,例如:

规划一次行程:下周二从 SFO 到 JFK,最便宜的中转直达航班。

在首次调用时,agent 会运行 otto_setup,它会自动在你的浏览器中打开批准页面(并打印 URL 作为备用方案)。如果你已经登录 Otto,只需点击一下——批准。之后令牌会缓存到 ~/.otto/mcp-tokens.json 并自动刷新,因此不会再询问你。
(认证方式是 OAuth 设备授权;没有需要粘贴的密钥或令牌。在无头环境中设置
OTTO_NO_BROWSER=1。)
提示: 要让 dsh agent 驱动机械式设置(添加 cordis 条目,然后提示你重新加载并批准),请参阅 AGENTS.md —— 它会告诉 agent 去完成配置并转达批准请求,但绝不会替你批准。

5. 搜索与预订

继续对话。agent 会使用 search_flights / query_flights / book_flight(以及酒店/租车工具)来查找选项并预订。预订是真实的 —— 会在你的 Otto 账户上生成一个实时 PNR,并从你存储的支付方式中扣款。

非生产端点: 在启动 dsh 前执行 export OTTO_MCP_URL="https:///mcp",以指向非生产环境的 Otto。

谁实际上可以预订(门槛)

- 已认证用户必须是已开通、已启用的 Otto 用户(一个真实的 Otto 账户,带有 Spotnana 旅客资料 + 支付方式)。注册 / 开通发生在 Otto 托管的授权流程中 —— 与 Claude 和 OpenClaw 连接器相同的入门路径。该连接器负责认证;它本身不会创建账户或采集支付信息。
- 每个 PNR 仅限一位旅客 —— book_flight 只预订一位旅客。要为授予你代理人访问权限的人预订,请使用 list_managed_travelers(以其身份* 预订,而不是在一张票上预订 N 位旅客)。

从源码构建 / 运行

npm install
npm run build
node dist/index.js # 通过 stdio 使用 MCP;参数或 $OTTO_MCP_URL 设置端点

冒烟测试

smoke/ 使用 deepseek-harness-sdk 通过 dsh 驱动一次真实的预订回合。请参阅 smoke/README.md。

说明

- dsh 是开发者预览版(rc) —— dsh-mcp-client 配置 schema 可能会在不同版本之间发生变化。此挂载与当前文档匹配(transport: stdio + command/args);升级 dsh 后请用 dsh --dump-config 重新验证。
- 捆绑的代理(src/)是 Otto 小型 OAuth + MCP 核心的按仓库副本;权威副本与 Otto 的其他连接器放在一起。

许可证

Apache-2.0。请参阅 LICENSE 和 NOTICE。
预览分享卡片长什么样 ↓ottotheagent/otto-dsh
分享 · DeepSeek Harness Hub
ottotheagent/otto-dsh

在对话中搜索并预订真实航班、酒店与租车

回到顶部