前言¶
DeepSeek Harness (DSH) 允許開發者通過插件擴展智能體能力。在某些場景下,需要 Agent 輸出結構化的評分、選擇或概率,而非自由文本。dsh-jev 是一個 DSH bundle,它在 profile 中註冊了 jev_ask 工具,使 DSH Agent 能夠將類型化的 noul、choice 和 score 問題發送給 TypeSafe 的 Jev 模型。
功能定位¶
該插件的核心作用是橋接 DSH 與 TypeSafe Jev 系統。它不生成常規的聊天或代碼,而是專注於返回結構化的 JSON 數據。一個調用請求可以混合多種問題類型,Agent 決定何時調用該工具。
環境要求¶
在安裝和使用前,需確保環境滿足以下條件:
* DSH 版本:必須使用 DSH 0.1.5-rc.2(npm next dist-tag)。
* Node 版本:Node.js 22.19 或更高版本(22.x 系列),或 Node.js 24 及更高版本。
* API Key:需要有效的 TypeSafe API Key。可通過環境變量 TYPESAFE_API_KEY 設置,或存儲在 DSH 憑據中。
安裝與配置¶
安裝時建議固定 Commit SHA 以確保可重現性。
dsh plugin --profile web add github:noetion/dsh-jev#<commit>
首次安裝時,pnpm 可能會拒絕運行 prepare 腳本。此時需在 profile 目錄下的 pnpm-workspace.yaml 中添加 allowBuilds 字段。通常直接使用 dsh-jev,但某些版本的 pnpm 會打印完整路徑如 dsh-jev@github:...,請使用報錯中提示的字符串。
allowBuilds:
dsh-jev: true
添加後,重新執行安裝命令即可。
配置選項¶
插件支持通過 cordis.yml 配置與 TypeSafe Jev 的連接。可選字段包括:
model:默認爲jev-latest。endpoint:默認爲https://api.typesafe.ai/v1/systemone。apiKeyEnv:默認爲TYPESAFE_API_KEY。
插件在每次調用時讀取 Key,不會將其寫入配置文件中。
使用方式¶
Agent 可以被指令調用 jev_ask 工具,或者直接調用捆綁的 jev skill。以下是一個混合調用 noul 和 choice 類型的示例:
{
"state": "Help! My payouts have been failing for 3 days.",
"questions": {
"is_urgent": {
"type": "noul",
"instructions": "Does this convey urgency?"
},
"department": {
"type": "choice",
"instructions": "Which team should handle this?",
"criteria": {
"billing": "Payments, invoicing, refunds",
"technical": "Bugs, outages, integrations",
"sales": "Pricing, upgrades, new accounts"
}
}
}
}
Jev 返回的 JSON 結果中:
* noul 類型的答案攜帶 noul 字段(通常爲概率)。
* choice 或 score 類型的答案攜帶 probabilities 和 confidence。
注意事項¶
- 非 LLM 適配器:Jev 不支持流式輸出,它返回的是結構化答案而非聊天流,因此該插件不屬於傳統的 LLM 適配器。
- 版本鎖定:
@deepseek-ai/dsh-tools依賴被鎖定在 0.1.5-rc.2,npmlatest版本過舊,不可替換。 - 許可證與支持:採用 MIT 許可證。作者不承諾響應時間,建議通過 GitHub Issue 提問或提交包含
pnpm run check的 PR。 - 安全:不要在
state字段中包含密鑰或敏感信息。