dsh-jev-mcp:在 DeepSeek Harness 中接入 Jev 判斷工具

前言

在 DeepSeek Harness(DSH)裏跑 coding agent 時,模型經常需要做一次「帶類型的判斷」:代碼是否滿足約束、候選裏哪一條更貼切、能否放行某步操作。若單獨維護一份 MCP 配置、在環境裏散落 API Key,和 DSH 的憑證體系、插件加載方式並不一致。

下面介紹的 dsh-jev-mcp 是社區第三方插件(非 DeepSeek 或 TypeSafe 官方產品),由維護者 NingYuanLee 發佈。它在 Harness 進程內啓動上游包 @jkudish/jev-mcp,把 Jev 暴露的判斷類工具註冊爲 mcp__jev__*,並把 Key 放進 DSH 憑證存儲,而不是寫進 cordis.patch.yml 或命令行。

這是什麼

dsh-jev-mcp 的定位是:讓 agent 在不單獨配置 MCP 的前提下調用 Jev。Jev 面向 verify、screen、find、rerank、classify、decide、compare、extract、audit、review、gate、noul 等 typed 問題作答;它不是聊天模型,也不能替代當前驅動 agent 的主模型。更完整的產品說明見 Jev with coding agents。

插件還會註冊名爲 jev 的 skill,便於 agent 在使用工具前加載調用約定。在本宿主中,原始工具名會加前綴,例如 jev_verify 對應 mcp__jev__jev_verify。

核心功能

憑證與 MCP 子進程

插件從 DSH 憑證存儲讀取 API Key(默認引用名 TYPESAFE_API_KEY),用 node 以 stdio 方式啓動固定版本的 @jkudish/jev-mcp(資料中 pinned 爲 0.14.7),再交給 @deepseek-ai/dsh-mcp-client 掛載。Key 只通過所選 provider 對應的環境變量傳給子進程;進程環境與 .env 回退不會被當作憑證來源。

若憑證爲空,插件仍會加載並保留 skill,但不會註冊任何 Jev 工具;保存憑證後會重新連接。

Skill 與工具命名

  1. 在 ctx.skills 上註冊內置 jev skill(同名用戶或項目 skill 優先)。
  2. 工具名、schema 與結果均來自上游 MCP 服務,本包不重實現工具邏輯。
  3. 單次工具調用超時時間爲 2 分鐘;連接斷開時由 MCP 客戶端自身的重連策略處理。
  4. 當 credentials/reference-updated 且憑證名匹配時,會 dispose 子客戶端並重新連接。

設置面板

插件通過 DSH 客戶端 UI 提供「Jev model」相關設置:在 TypeSafe console 創建 Key 後,在 Settings → Jev model 中填寫 Key 與 model ID。Key 字段留空則保留已保存的 Key。

支持的 provider 包括 TypeSafe、OpenRouter、Cloudflare Workers AI、Vercel AI Gateway 及兼容的 System One 端點;各 provider 的 Key 分別存儲。Cloudflare 需要 account ID,兼容服務需要完整 endpoint URL。

安裝與啓用

DSH 生態採用「一切皆插件」;社區目錄站點與 DeepSeek / 幻方無官方從屬關係。安裝前建議查看倉庫源碼與 MIT 許可證,並理解插件以當前 dsh 進程權限運行。

官方 README 給出的安裝命令如下。

dsh plugin --profile web add dsh-jev-mcp

從 GitHub 添加:

dsh plugin --profile web add github:NingYuanLee/dsh-jev-mcp

本地未發佈包目錄:

dsh plugin --profile web add ./dsh-jev-mcp

包聲明瞭 dsh.bundle.patch,dsh plugin add 會把 bundle 寫入 profile。若當前會話裏看不到工具,需要重啓 DeepSeek Harness。

卸載(profile 名按實際替換):

dsh plugin --profile <name> remove dsh-jev-mcp

卸載會停止 MCP 進程並註銷工具與內置 skill,不會刪除已保存的 provider 憑證。

配置說明

Cordis 行 id 爲 jev-mcp,包名爲 dsh-jev-mcp。覆蓋 profile 時需知:後一次 patch 會整體替換 config 對象,因此要保留的字段需全部寫全。

字段 默認值 含義
apiKeyEnv TYPESAFE_API_KEY 憑證引用名;真實值不在此配置中保存
serverName jev 工具命名空間:mcp__<serverName>__<tool>,須匹配 [A-Za-z0-9_-]{1,32} 且在同 scope 內 MCP 客戶端間唯一
model jev-latest 作爲 JEV_MCP_MODEL 傳入;可用 GET /v1/models 中的名稱,如 jev-1.14
baseURL 空 可選 TypeSafe origin,僅 https://api.typesafe.ai 形式;不含 user info、path、query、fragment

示例:

- id: jev-mcp
  config:
    apiKeyEnv: TYPESAFE_API_KEY
    serverName: jev
    model: jev-latest
    baseURL: ""

典型用法

經過上面的安裝與憑證配置後,agent 會話中應出現 mcp__jev__* 系列工具。調用前讓 agent 加載 jev skill,可避免誤用 npx @jkudish/jev-mcp——服務已由插件拉起。

具體參數與返回格式以 skill 正文及 MCP 工具 schema 爲準;判斷類任務按 Jev 文檔中的 typed 用法組織輸入即可。

兼容性與排錯

項 要求
dsh >=0.2.1-rc.2 <0.3.0-0
Node >=22.19.0
Jev MCP @jkudish/jev-mcp@0.14.7
依賴能力 credentials、tools、skills 及自帶的 @deepseek-ai/dsh-mcp-client

看不到 mcp__jev__*: 多爲 apiKeyEnv 對應憑證爲空、服務端拒絕 Key、@jkudish/jev-mcp 未裝好,或已有 MCP 客戶端佔用 serverName jev。設置憑證並重啓插件;日誌會提示憑證缺失,不會打印 Key 值。

serverName 已被佔用: 在 config 中改用其他 serverName,公開工具名會隨之變化;skill 文案仍示例 mcp__jev__*,實際以配置爲準。

調用超時: 單次上限 2 分鐘(0.1.0 中不可配置);服務端請求 deadline 爲 60 秒。

安全方面:Key 僅經子進程環境變量傳遞;子進程會把 Key 與判斷文本發往所選 provider;插件日誌不打印 Key。詳見倉庫 SECURITY.md。

結尾

dsh-jev-mcp 把 Jev MCP 收進 DSH 插件與憑證體系,減少單獨維護 MCP 與明文 Key 的配置成本,適合需要在 agent 工作流裏做結構化判斷、又希望與 Harness 設置面板統一的開發者。

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

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

小夜