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