DeepSeek Harness Hub
← 返回列表

ottotheagent/otto-dsh

MCP兼容 / 相关生态spec-screened在 GitHub 查看 ↗
未验证

Otto Travel — DeepSeek Harness dsh 插件

尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/8/15 · 已提供中文文档

使用 DeepSeek Harness(dsh)中的 Otto 预订真实航班、酒店和租车——将 otto-travel MCP 连接器作为 dsh 插件。

综合分
27.4
GitHub 分
27.4
用户评分
★ Stars
1
周下载量
兼容 / 相关生态插件(非 dsh 原生,请按其对应运行时安装)
git clone https://github.com/ottotheagent/otto-dsh.git
数据截至 2026/9/17(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

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。

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

💬 加入 DPharness 群聊

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

点击加入 QQ 群
DPharness 群聊二维码,手机 QQ 扫码进群
扫码进群