程式工具
DeepSeek Harness
在 Harness 設定 TokenLab 模型、驗證請求,並按需選擇 MCP、Skills 或 provider bundle
選擇接入方式
要以 TokenLab 作為 Agent 主模型,在 Harness Web UI 新增 custom provider 即可,不依賴可選的 TokenLab bundle。MCP 提供工具,Skill 提供 API 使用說明,兩者都不會自行切換主模型。
Harness 仍是開發者預覽版。本頁於 2026 年 9 月 27 日對照官方文件及已發布的 @deepseek-ai/dsh 0.1.5-rc.3 套件核對。下方 bundle 說明也以此版本為目標;其他 Harness 版本的相容性需另行確認。
把任務交給現有 Agent
閱讀 https://tokenlab.sh/docs/zh-TW/integrations/deepseek-harness,核對已安裝版本與作業系統。
確認我要使用 TokenLab 主模型、MCP 工具還是 API Skill。
保留既有帳戶、供應商設定和權限,說明改動後如何還原。
不要在聊天中索取或填寫 API key;我會在本機填入並完成必要的介面操作。
先說明一次小驗證的費用,只有我明確選擇該測試後,才協助執行並核對 TokenLab 請求記錄。啟動 Harness
在 macOS、Linux 或 Windows 使用受支援的 Node 版本,初次安裝可用 Node 24 LTS。在專案目錄的終端或 PowerShell 執行:
node --version
npx @deepseek-ai/dsh@0.1.5-rc.3 web開啟命令輸出的本機地址,先以 Choose workspace 新增並選中專案。這些命令使用 web profile;Electron 的 desktop profile 不由這套 CLI 管理。參見官方啟動指南與 Web UI 指南。
設定一個 TokenLab provider
- 開啟 Settings → Models → Add a custom provider,保留既有供應商和權限。
- 填寫小寫 Provider ID,例如
tokenlab-chat,從下表選一種協定及 Base URL。 - 在本機表單填入 TokenLab key。UI 管理的 key 儲存在
$DSH_HOME/.credentials.yaml,設定只存引用;不要傳到聊天或提交至 git。 - 從目前模型目錄加入一個精確 ID,依模型詳情的
tokenlab.accepted_request_formats選協定。 - 儲存 provider、選中模型並建立新會話。已發過請求的舊會話保留原模型。
| Provider ID 範例 | Harness API protocol | Base URL | 必須宣告的請求格式 |
|---|---|---|---|
tokenlab-chat | openai-completions | https://api.tokenlab.sh/v1 | openai_chat_completions |
tokenlab-responses | openai-responses | https://api.tokenlab.sh/v1 | openai_responses |
tokenlab-messages | anthropic-messages | https://api.tokenlab.sh | anthropic_messages |
第一次文字測試可用仍在目錄中的 gpt-4.1-mini,選 Chat 列。Fetch available models → Add selected 只是發現模型,之後仍需儲存;失敗時可手動輸入 ID。列表不證明協定相容。此處沒有 Gemini native 協定,只能在模型宣告支援時使用 Chat。圖像輸入或推理控制需要按模型詳情核對額外的 settings.yaml 欄位,參見官方 provider 文件。
驗證一次小請求
在新會話傳送:
只回覆 TOKENLAB_CONNECTION_OK。不要使用工具,也不要修改檔案。本次請求會計費。核對回覆與 TokenLab 請求記錄的模型、時間和狀態。初次接通不需要跑遍三種協定或生成付費媒體;模型列表或 MCP 發現成功也不能驗證生成權限。
可選:TokenLab bundle
@tokenlabai/dsh-provider@0.1.5 面向 Harness 0.1.5-rc.3。只需設定一個模型時,可用上方原生 custom-provider 步驟;需要預設模型路由和工具時,可安裝 bundle。
bundle 包含 2026 年 9 月 27 日核對的 136 個公開聊天模型固定快照:Responses 27 個、Messages 10 個、Chat 99 個,每個模型只出現在一條路由上。它固定使用 @tokenlabai/mcp-server@0.6.24,另附獨立的 tokenlab_wait_task 工具。安裝此版本不會更新模型目錄;使用前請核對即時目錄,按需透過 custom provider 加入新模型。
已有相容安裝時,先確認 pnpm 在 PATH。安裝與啟動使用同一個 dsh 版本和 profile;若使用 npx,把下列 dsh 換成原本帶版本號的啟動命令:
dsh --version
pnpm --version
dsh plugin --profile web add --workspace-root @tokenlabai/dsh-provider@0.1.5啟動 profile 前,在啟動環境或其 .env 中設定:
TOKENLAB_API_KEY=sk-your-tokenlab-keyHarness 讀取啟動目錄與 $DSH_HOME(通常為 ~/.dsh)的 .env,繼承的環境變數優先。後來選工作區不會切換 .env。勿提交此檔;修改後重啟同一 profile。UI 儲存的模型 key 不會自動成為 bundle 的 TOKENLAB_API_KEY。使用 headless 時,安裝與啟動都要選 headless;web 安裝不會配置它。
Harness 0.1.5-rc.3 依 provider key 合併已儲存的 llm-pi-ai.providers,不同名稱的 provider 可共存。已儲存的 tokenlab-responses、tokenlab-messages 或 tokenlab-chat 條目會覆蓋 bundle 中對應的同名路由,升級舊目錄時請檢查這些條目。保留 $DSH_HOME/settings.yaml 中其他 provider 和模型,不要用整份 Cordis patch 取代設定文件。
公開模型詳情僅標識 reasoning 能力,沒有列舉每個模型支援的 effort 值,因此 bundle 不宣告 reasoningEfforts。Harness 不會為這些自訂路由提供 effort 等級選項,這不表示伺服器端推理已關閉。若自行設定 reasoningEfforts,應先獨立驗證取值,再寫入對應 provider 的 models 清單中的模型條目,並保留其他模型。僅有 reasoning 能力不能證明支援 xhigh 或 max。
bundle 預設使用 TOKENLAB_MCP_TOOL_PROFILE=core,提供 32 個 MCP 工具,schema 預設為 TOKENLAB_MCP_SCHEMA_MODE=portable。僅作發現可選 catalog(6 個工具);需要全部 89 個工具及額外的 response 生命週期、batch、Seedance 資產/群組和 worlds 操作時,選 full。獨立的 tokenlab_wait_task 輪詢工具在所有 profile 均可用,不計入上述 MCP 工具數。其餘環境變數如下:
| 變數 | 預設值 | 用途 |
|---|---|---|
TOKENLAB_API_KEY | 無 | 模型路由、MCP 工具與非同步 poll 憑證 |
TOKENLAB_API_BASE | https://api.tokenlab.sh | MCP 與 task API root |
TOKENLAB_OPENAI_BASE_URL | https://api.tokenlab.sh/v1 | Responses 與 Chat base URL |
TOKENLAB_ANTHROPIC_BASE_URL | https://api.tokenlab.sh | Messages base URL |
TOKENLAB_MCP_TOOL_PROFILE | core | catalog (6) / core (32) / full (89) |
TOKENLAB_MCP_SCHEMA_MODE | portable | 可選 portable、exact、strict |
媒體工具的 delivery.mode 為 complete 時直接取結果;為 async 時把 delivery.task_id 交給 tokenlab_wait_task,讀取終態 status、response 與 result_urls。等待逾時不等於完成。保留計費或破壞性工具的審批,參見非同步任務。
卸載使用同一入口和 profile,然後重啟:
dsh plugin --profile web remove --workspace-root @tokenlabai/dsh-provider疑難排解
- **輸入框不可用:**選中工作區與模型。
- **
MISSING_CREDENTIAL或 401:**核對 provider 憑據;bundle 工具另外讀取啟動環境的TOKENLAB_API_KEY。 - **
UNKNOWN_MODEL或舊 ID 下線:**核對即時目錄、設定精確 ID,再開新會話。重裝0.1.5不會刷新快照。 - **生成失敗:**核對協定、Base URL 和接受的格式;不要靠刪掉歷史、工具或圖像來製造成功。
- **缺少
dsh或pnpm:**可用上面的版本化npx啟動;plugin 命令前需安裝 pnpm。
MCP 和 Skills 是獨立選擇
手動 provider 不安裝工具。若不需要 bundle,可按 TokenLab MCP 指南加入工具,先檢查發現,再執行生成。Skill 的完整目錄應放在專案根目錄 .dsh/skills/tokenlab-api-integration/,保留 SKILL.md 與引用檔案;Harness 也會讀取 .agents/skills/。Skill 不安裝 provider、MCP server 或 key,詳見官方 Skills 文件。
Jev / System One & Webhooks
Jev(POST /v1/systemone)使用 core 或 full 的 mcp__tokenlab__evaluate_decisions。先查 category=decision 與模型詳情。決策是同步結果,不是聊天模型或非同步任務;不要加入模型選擇器或交給 tokenlab_wait_task。
Webhook 管理需要 full 與啟動環境中獨立的 TOKENLAB_MANAGEMENT_TOKEN=mt-...,由 bundle 明確傳給 MCP。推理 key 不能替代管理 token;後者權限超出 Webhook。登記 Webhook 不代表 Harness 已成為接收端。