dsh-coros-gui: Integrating COROS Training Data into DeepSeek Harness Conversations

前言

在 DeepSeek Harness(DSH)里做训练相关的智能体时,常见做法是单独跑 COROS 官方 CLI 或自建 MCP 服务,再在 Harness 里挂 MCP 客户端——OAuth 回调、令牌刷新和工具注册都要自己接。dsh-coros-gui 是社区维护的 DSH 插件,把 COROS 官方 OAuth 与 MCP 工具桥接进 Harness:浏览器里点一次登录,对话里即可按 coros_* 工具名调用活动、健康、负荷与训练计划等能力,并附带设置页与侧栏面板管理连接状态。

这是什么

插件全名 dsh-coros-gui,仓库 ppxinashin/dsh-coros-gui,维护者 ppxinashin,在 SkillHub 插件目录 中归类为「联网工具」。当前 package 版本为 0.1.0,许可证 MIT。

一句话定位:在 DSH 对话中通过浏览器 OAuth 登录 COROS 一次,之后 COROS MCP 工具以 coros_<tool> 形式注册到 Harness,模型可直接调用;未登录时仍可用少量引导与兜底工具。

核心功能

浏览器登录与区域

  • 设置页或侧栏点「使用浏览器登录」,插件向 COROS 官方授权服务申请一次性登录会话,在浏览器完成授权后自动回调并保存令牌,无需手抄密码或回调 URL。
  • 支持四个账号区域:全球、中国大陆、欧洲、美国;OAuth 发现会对齐区域(默认「全球」并自动发现授权集群)。
  • 访问令牌到期前用刷新令牌自动续期;COROS 刷新令牌轮换已由插件处理。

对话内工具

登录后,COROS MCP 工具目录会注册为 coros_<name>(README 示例:coros_get_activities)。在 0.2.1-rc.3 上用真实 COROS 账号验证时,登录后成功注册并可用 34 个 COROS 工具。

未登录时固定提供:

工具 说明
coros_status 连接状态、区域、可用工具数量
coros_login 生成浏览器登录链接并等待授权
coros_call_tool 用原始 MCP 工具名 + JSON 参数调用(兜底)

设置页「COROS」可检索工具目录,展开可查看各工具参数的 JSON Schema。

原生 UI

遵循 DSH 插件规范:

  • 设置页「COROS」:连接状态、账号区域、登录/取消/退出、工具目录;
  • 会话侧栏快捷入口与浮层面板;
  • 会话头部状态 chip 显示当前 COROS 连接状态。

UI 使用 DSH 主题 token(--dsw-*),适配明暗主题。

隐私与本地存储

令牌与客户端注册信息保存在 $DSH_HOME/coros-gui/state.json(默认 ~/.dsh/coros-gui/state.json),目录权限 0700、文件 0600、原子写入;不经过第三方服务器,请求直连 COROS 官方 OAuth / MCP 域名。退出登录会清除本地令牌。

授权协议与 COROS 官方 coros-mcp CLI 一致(授权码 + PKCE + 动态客户端注册 + CLI 登录会话轮询)。授权范围:openid offline_access mcp.tools。

安装与启用

要求:DeepSeek Harness 0.2.x(package.json 中 engines.dsh 为 >=0.2.0)。Node 需满足 ^22.19.0 || >=24.0.0。

方式一:本地目录(开发/自用)

桌面版可使用 app 内的 dsh-desktop-host/lib/cli.js 调用 DSH CLI:

dsh plugin --profile desktop add /path/to/dsh-coros-gui

安装后 DSH 会热加载插件;若无入口,重启一次 DSH 即可。

方式二:从 GitHub 安装

dsh plugin --profile <你的 profile> add github:ppxinashin/dsh-coros-gui

方式三:插件市场 / 插件管理器

插件包已声明 dsh.bundle.patch 与 dsh.client,可被插件管理器直接识别。

启用步骤:

  1. 打开侧栏底部 COROS,或「设置 → COROS」。
  2. 选择账号区域,点 使用浏览器登录。
  3. 在 COROS 授权页完成登录与授权,回到 DSH 后应显示「已连接」。

典型用法

在对话中直接用自然语言即可,README 给出的示例包括:

用 COROS 查一下我最近 7 天的跑步记录,按配速和心率帮我分析一下。

看看我这两周的睡眠和 HRV 变化,和训练量有什么关系?

我 8 周后要跑半马,基于我最近的训练给我排一个训练计划。

需要精确调用时,可在登录后让模型使用已注册的 coros_* 工具,或通过 coros_call_tool 传入原始 MCP 工具名与 JSON 参数。

适用场景与注意

适合谁:已在 DSH 0.2.x 上开发或使用智能体、希望把 COROS 运动/健康/训练计划数据放进同一会话、且接受浏览器 OAuth 一次授权的用户。

运行与权限:插件以当前 DSH 进程权限运行;安装前建议阅读仓库源码与 MIT 许可证,确认行为符合预期。

兼容性:

  • 登录 RPC 仅在本机 loopback 绑定的 DSH Host 上启用;通过局域网或公网访问 DSH 时会提示不可用。
  • 插件不实现 MCP Resources / Prompts,只桥接工具;COROS 侧工具集合由官方 MCP 服务决定,插件负责发现、命名规范化与参数 schema 清洗。

SkillHub 等社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系;DSH 生态理念是「一切皆插件」,本插件为社区贡献,非官方内置能力。

结尾

dsh-coros-gui 把 COROS 训练数据、浏览器 OAuth 与 Harness 对话里的 MCP 工具调用收成一条路径:本地存令牌、对话里查活动与健康、必要时在设置页浏览完整工具目录。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye