前言¶
在 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,可被插件管理器直接識別。
啓用步驟:
- 打開側欄底部 COROS,或「設置 → COROS」。
- 選擇賬號區域,點 使用瀏覽器登錄。
- 在 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 工具調用收成一條路徑:本地存令牌、對話裏查活動與健康、必要時在設置頁瀏覽完整工具目錄。