dsh-coros:把高馳官方 MCP 接進 DeepSeek Harness

前言

在 DeepSeek Harness(DSH)裏讓智能體讀睡眠、HRV、靜息心率、恢復與訓練負荷,或拉取活動與 FIT、管理訓練計劃,通常要面對兩類麻煩:一是 COROS(高馳)雲端 MCP 走 HTTPS 且要帶會過期的 OAuth Bearer;二是 DSH 側 MCP 客戶端習慣 stdio 和相對靜態的握手方式。自己手寫 cordis.patch.yml、掛本地回調端口、維護 token 刷新,工作量大,DSH 升級後還可能出現插件被靜默跳過的問題。

dsh-coros-mcp(社區目錄條目 xsnnnnnn/dsh-coros)由維護者 xsnnnnnn 發佈,歸類爲聯網工具。它把官方 COROS MCP 端點橋進 DSH:包內自帶 stdio↔HTTP 橋、設備端 OAuth 登錄與刷新,當前端點約暴露 34 個 mcp__coros__* 工具(隨服務端變更可能增減)。下文按「是什麼 → 能做什麼 → 怎麼裝 → 怎麼登錄與配置 → 注意點」說明。

這是什麼

一句話:在 DSH 裏安裝一個插件,即可通過自包含橋接訪問高馳官方 MCP,無需額外 npm 依賴、無需在 profile 裏寫絕對路徑、登錄流程不監聽本地端口。

數據路徑大致如下:

DeepSeek Harness
  └─ dsh-coros-mcp(宿主插件)
        └─ 註冊 DSH MCP 客戶端(serverName=coros)
              │  JSON-RPC / stdio
              ▼
        lib/proxy.mjs(token 緩存、帶文件鎖的刷新、tools/list 的 $ref 內聯)
              │  HTTPS POST + Authorization: Bearer
              ▼
        官方 COROS MCP(README 示例爲中國區 https://mcpcn.coros.com/mcp)

橋的存在,是因爲 DSH MCP 客戶端走 stdio,而 COROS 端點需要 OAuth 2.0 訪問令牌。

核心功能

資料中可覈對的能力包括:

  1. 工具面:睡眠、HRV、靜息心率、恢復、訓練負荷;活動與 FIT;鍛鍊與訓練計劃的增刪改查與排程等(當前約 34 個工具,以服務端爲準)。
  2. 零運行時 npm 依賴:僅使用 Node.js 內置模塊(fetch、crypto、fs、http 等)。
  3. 自包含 OAuth:動態客戶端註冊 + PKCE(S256) + COROS 網關 CLI 登錄會話;login-start / login-finish 分進程完成,不打開本地監聽端口。
  4. 令牌本地存放:默認 ~/.dsh/coros-mcp/<region>/token.json(權限 0600),不在 profile 配置裏,README 寫明不打印日誌、無遙測、數據路徑不經第三方中轉服務器。
  5. 橋接層修正 schema:對 COROS tools/list 裏頂層 $defs/$ref 做內聯,避免部分提供方拒絕類似 createScheduledWorkout 的指針錯誤。
  6. 刷新令牌輪換:每次刷新都會輪換 refresh token;橋與 login CLI 用跨進程文件鎖串行化刷新。
  7. DSH 升級兼容:engines.dsh 爲無底下限 >=0.2.1-rc.1;若未來 DSH 變更 MCP 客戶端 JS API,插件可回退通過 Cordis Loader 掛載同一條 MCP 行。
  8. 可脫離 DSH:lib/proxy.mjs 爲標準 MCP stdio 服務,任意 MCP 客戶端可配置調用。

包版本(package.json):1.0.2。許可證:MIT。Node ≥ 20;DSH ≥ 0.2.1-rc.1。README 徽章註明測試 42 passing。

安裝與啓用

環境要求:DeepSeek Harness ≥ 0.2.1-rc.1,Node.js ≥ 20(由 DSH 運行時提供)。

README 給出的安裝方式如下(將 <DSH> 換成本機 DSH 安裝路徑;profile 名按你實際使用修改,示例爲 desktop):

# 自 GitHub 倉庫安裝(README 亦推薦 tarball 分享場景)
& '<DSH>\resources\runtime\cli\bin\dsh.cmd' plugin --profile desktop add 'github:xsnnnnnn/dsh-coros'

# 本地目錄鏈接(開發)
& '<DSH>\resources\runtime\cli\bin\dsh.cmd' plugin --profile desktop add 'D:\path\to\dsh-coros-mcp'

亦可用 Release 中的 dsh-coros-mcp-<version>.tgz,或簡寫:

dsh plugin --profile desktop add 'github:xsnnnnnn/dsh-coros'

安裝後,在 Settings → Plugins 中啓用 dsh-coros-mcp,必要時重啓 DSH。

若你曾手動在 profile 的 cordis.patch.yml 裏配置 id: mcp-coros 的 @deepseek-ai/dsh-mcp-client 行,遷移時應先備份再刪除手動行;否則與插件重複註冊相同 mcp__coros__* 工具名會導致註冊失敗。

說明:通過 GitHub/tarball 安裝不會自動升級插件本身;有新版本時需重新執行 dsh plugin add <new tgz> 等安裝步驟。已有登錄令牌與登錄狀態不受 DSH 小版本升級影響(除非出現兩種註冊路徑均失效的破壞性 API 變更,則需安裝對應新構建的插件)。

登錄與典型用法

登錄在包目錄下用 Node 調用 lib/login.mjs(將 <package> 換成插件解包路徑):

node '<package>\lib\login.mjs' login-start    # 輸出或打開授權 URL
node '<package>\lib\login.mjs' login-finish   # 完成會話並緩存 token
node '<package>\lib\login.mjs' login-status   # 離線查看狀態
node '<package>\lib\login.mjs' refresh        # 立即刷新
node '<package>\lib\login.mjs' logout         # 刪除本地 token 與 pending 文件

要點:

  • 訪問令牌有效期約 30 天;每次刷新都會輪換 refresh token,舊值立即失效,故刷新需通過 token.json.lock 串行。
  • 區域默認從緩存推斷,可用 --region cn|eu|us 或配置覆蓋。
  • 若本機已有官方 COROS CLI 緩存 ~/.coros-mcp-skill-gateway-ts/<region>/token.json,可作爲回退讀取;新登錄寫入插件自有路徑後優先生效。

在 DSH 會話中,啓用插件並登錄成功後,智能體側可見前綴爲 mcp__coros__* 的工具,按 COROS MCP 文檔調用即可(具體工具名與參數以 tools/list 爲準)。

獨立 MCP 客戶端(非 DSH)可配置:

{
  "mcpServers": {
    "coros": { "command": "node", "args": ["D:\\path\\to\\dsh-coros-mcp\\lib\\proxy.mjs"] }
  }
}

診斷示例:

node lib\proxy.mjs --status

可選配置

在 bundle 行的 config: 上可覆蓋下表字段(未列出的以 README 爲準):

字段 默認值 含義
serverName coros 工具前綴 mcp__coros__*
cacheRoot $DSH_HOME/coros-mcp 令牌緩存根目錄
region 推斷 cn / eu / us
issuer 按區域 覆蓋 OAuth issuer
mcpUrl <issuer>/mcp 覆蓋 MCP 端點
nodePath 自動檢測 啓動橋用的 Node 可執行文件
requestTimeoutMs 30000 請求 COROS 超時
toolCallTimeoutMs 120000 DSH 側單次 tool call 超時
failOnStartupError false 橋啓動失敗時是否阻斷 profile 啓動
enabled true false 時保持已安裝但不連接

環境變量(優先級更低):COROS_MCP_CACHE_ROOT、COROS_MCP_REGION、COROS_MCP_ISSUER、COROS_MCP_URL、COROS_MCP_TIMEOUT_MS。

適用場景與注意

適合誰:已在用或計劃用 DSH 做訓練/恢復相關智能體工作流,需要穩定訪問高馳官方 MCP、且希望 OAuth 與橋接邏輯集中在一個插件包內的開發者。

權限與安全:插件隨當前 DSH 進程權限運行,會向 COROS 官方端點發起 HTTPS 請求;安裝前宜自行查看倉庫源碼與 MIT 許可證,確認是否符合你的合規要求。令牌僅存本機上述路徑,profile 配置備份不會包含 token 文件。

生態說明:DSH 強調「一切皆插件」;社區插件目錄(如 SkillHub)爲獨立站點,與 DeepSeek / 幻方無 README 所述的官方從屬關係,不宜理解爲官方應用商店。

經過上面的步驟,你可以在 DSH 內用統一前綴調用高馳訓練與健康數據接口,而無需自建 HTTP 橋或本地 OAuth 回調服務。

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

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

小夜