dsh-trek-mcp:在 DeepSeek Harness 裏用 MCP 接自託管 TREK 行程規劃

前言

自託管 TREK 已提供 MCP 服務,行程、地點、預算等能力都可以通過 Model Context Protocol 暴露給智能體。若在 DeepSeek Harness(DSH)裏直接手寫 MCP 端點、OAuth 機器客戶端憑據,並自行維護短期 token 與長時間空閒後的會話,往往還要動 cordis.patch.yml。tyrantblue/dsh-trek-mcp 以 bundle 形式把 TREK 接到 DSH:在 Settings → TREK MCP 填端點與機器客戶端 id/secret,由插件負責 token 續期與 MCP 會話恢復;密鑰走 harness 配置通道,不回到瀏覽器與模型側。

這是什麼

dsh-trek-mcp 是社區維護的 DSH 插件(作者 tyrantblue,MIT 許可證,當前 package 版本 1.0.0),分類屬於聯網工具類能力:把自託管 TREK 的 MCP 工具以 mcp__trek__* 等形式交給 Web 場景下的智能體使用。它依賴 DSH >=0.2.2-rc.1 且 <0.3.0 的 Web profile,並要求 TREK 實例已啓用 MCP 插件(Admin → Addons),且已在 TREK 中創建 machine client(OAuth 2.1,無瀏覽器登錄)。

核心功能

接好後,智能體可使用 TREK MCP 面上的工具與資源,例如 trips、days、places、tours、bookings、budgets、packing lists、collections、journeys 等(以 TREK 實際暴露爲準)。

Settings 頁。 Settings → TREK MCP 提供 MCP endpoint、Client ID、Client secret,以及可選 Token URL;支持 Test connection(用當前輸入試拿 token,不保存)和 Save and reconnect(寫入 harness profile patch 並重連 MCP)。

OAuth 與代理。 插件以 OAuth 2.1 client_credentials 自動獲取短期 access token:在過期前約 5 分鐘續期,遇 401 會刷新;token 僅保存在進程內存。本地 loopback Streamable-HTTP 代理(默認 127.0.0.1:17890)把協議處理留在自帶的 @deepseek-ai/dsh-mcp-client,client secret 不進入模型上下文。

空閒會話恢復。 TREK 在約一小時無請求後會結束 MCP 會話(MCP_SESSION_TTL)。插件維護會話映射並在需要時透明地重新初始化,避免工具調用因 Session not found 失敗。

bundle 通過 cordis.patch.yml 安裝三行 Loader:trek-mcp-ui(瀏覽器側設置頁)、trek-mcp-broker(主機側:token、設置 API、/api/trek-mcp/*、loopback 代理)、trek-mcp(指向 loopback 的 MCP 客戶端)。

環境要求

  1. DeepSeek Harness 0.2.2-rc.1 或更新(0.2.x 線),Web profile。
  2. TREK 實例開啓 MCP addon。
  3. 在 TREK Settings → Integrations → MCP Configuration → OAuth 2.1 Clients 新建客戶端,勾選 Machine client (no browser login),按智能體需要授予 scope(如 trips:*、places:*、budget:* 等),記下 client_id 與一次性顯示的 client_secret(形如 trekcs_…)。

安裝與啓用

DSH 默認不帶該插件索引,需從倉庫 spec 安裝。安裝後 Web 頁面需刷新一次,以便加載新的 Settings 頁。

Web(推薦)。 打開 Plugins,使用下列 spec 之一:

github:tyrantblue/dsh-trek-mcp

或固定到 release:

git+https://github.com/tyrantblue/dsh-trek-mcp.git#v1.0.0

CLI。 安裝到 profile 後,在 Plugins 頁面打開 bundle:

dsh plugin --profile web add github:tyrantblue/dsh-trek-mcp

配置

打開 Settings → TREK MCP,字段含義如下:

字段 含義
MCP endpoint 本地 Docker 常爲 http://127.0.0.1:3000/mcp;遠程爲 https://<your-trek>/mcp
Client ID 機器客戶端 UUID
Client secret 僅寫入;頁面只顯示是否已保存,留空則保留已存值
Token URL 可選;默認取 endpoint 源站 + /oauth/token

先可用 Test connection 驗證憑據,再用 Save and reconnect 持久化並重連;重連的幾秒內 MCP 工具可能暫時不可用。設置保存走 harness 配置編輯器,bundle 重裝後仍可保留。

trek-mcp-broker 還可通過 patch 配置(多數可由 Settings 填入),例如 endpoint、tokenUrl、clientId、clientSecret(或環境變量 TREK_MCP_CLIENT_SECRET)、listenPort(默認 17890,需與 trek-mcp 行 URL 一致)、scope 等。純 HTTP 端點若 TREK 在反向代理後啓用 FORCE_HTTPS,broker 會對 plain HTTP 附加 X-Forwarded-Proto: https,也可直接把 endpoint 指到公網 HTTPS URL。

典型用法

完成安裝與 Save and reconnect 後,無需在對話裏粘貼 secret:智能體通過 DSH 已掛載的 mcp__trek__* 工具查詢或維護 TREK 中的行程數據(具體工具名與參數以 TREK MCP 文檔爲準)。TREK MCP 總覽見 TREK wiki:MCP Overview。

若出現 TREK is not configured yet 或看不到 mcp__trek__* 工具,檢查三項是否已在 Settings 中保存;token 401 多爲 secret 錯誤或客戶端非 machine 類型;400 多爲 scope 不足;長時間空閒後工具消失時,一般會自動恢復,否則可再次保存設置觸發重連。

適用場景與注意

適合: 已在或計劃自託管 TREK,希望在 DSH Web 智能體裏用 MCP 操作行程規劃,且希望 OAuth 與 MCP 會話由插件統一處理、憑據不入模型側的開發與自用場景。

注意: 插件以當前 DSH 進程權限運行;安裝前請查看 GitHub 倉庫 源碼與 MIT 許可證。client secret 存放在 harness profile patch(模式 600),不回傳瀏覽器、不記入模型;loopback 代理僅綁定 127.0.0.1,與本機可訪問 profile 目錄的信任邊界相當。機器客戶端代表創建它的 TREK 用戶,權限限於所選 scope;撤銷或輪換請在 TREK 側刪除/更新客戶端,並在 Settings 中更新 secret。

DSH 社區插件目錄獨立於 DeepSeek / 幻方,本文介紹的是社區 bundle,非官方應用商店條目。

結尾

dsh-trek-mcp 把自託管 TREK 的 MCP 能力接到 DeepSeek Harness:設置頁配置端點與機器客戶端,自動 client_credentials token 與空閒會話恢復,密鑰與協議代理留在 harness 側。更多說明見 SkillHub 目錄頁與 GitHub:tyrantblue/dsh-trek-mcp。

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

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

小夜