前言¶
DeepSeek Harness(DSH)把智能體循環、工具權限和沙箱放在同一套運行時裏,模型側通常對接各家 chat-completions 或兼容接口。Cursor 對外提供的是本地 Agent 運行時(prompt、工具面、模型選擇),而不是標準的「整段對話 → 一條流式 assistant 消息」形態。若你已經在 Cursor 賬號裏開通了可用模型,又希望在 DSH Web 的模型選擇器裏與 OpenAI、DeepSeek 等 provider 並列使用,就需要一層適配:dsh-cursor 在 Harness 裏註冊名爲 cursor 的 LLM provider,用 Cursor agent SDK 產出流式回覆,並把 Harness 的工具面橋接爲進程內 custom tools。下面介紹該插件的定位、安裝方式與使用注意。
這是什麼¶
dsh-cursor(GitHub:atticuswx/dsh-cursor)由社區維護者 atticuswx 發佈,分類屬於 模型推理。簡介爲:Cursor model provider for DeepSeek Harness — model catalog, multi-key management in Settings, browser login。
插件聲明與 Cursor / Anysphere 無官方從屬關係,屬於非官方集成;僅應在你有權使用的賬號上、並符合 Cursor 服務條款的前提下使用。當前 package 版本爲 0.2.0,許可證 MIT;兼容 DSH ^0.2.1-rc.2,運行環境要求 Node.js >= 22.13。
核心功能¶
安裝後,Cursor 賬號可選的模型會出現在 Harness 模型選擇器中;流式輸出由 Cursor agent SDK 產生,與 Harness 其它 provider 並列可選。
橋接方式(與 README 一致):
- 每次請求把 Harness 會話(system、多輪對話、工具調用及結果)渲染成 一條 prompt,交給短生命週期的 Cursor agent;對 Harness 而言,單次請求仍是會話日誌的純函數。
- 創建 agent 時使用
tools: ['mcp'],不註冊 Cursor 自帶的文件、shell、搜索、子 agent 等工具;模型能調用的只有本次請求裏 Harness 暴露、並經插件橋接的工具。 - 模型發起工具調用時,插件 取消當前 Cursor run,把 tool call 交回 Harness;由 Harness 按自身權限、沙箱與審批 UI 執行,結果在下一輪請求帶回。
- 文本與 thinking 經
onDelta逐 token 流式返回;每輪上報 token usage。 - Settings > Models 中提供 Cursor 行:多 API key 管理、單選 active key、模型目錄隨 active 賬號刷新(緩存約 10 分鐘);支持瀏覽器登錄 CLI 作爲無託管 key 時的兜底憑證鏈。
可用能力: 模型選擇、流式文本與 reasoning、token 用量;Harness 完整工具面(bash、文件編輯、grep、todos、子 agent、MCP 等)仍由 Harness 權限與沙箱負責;會話標題、compaction 等輔助模型調用也可走該 provider。
已知限制: 每輪重放完整 transcript(輸入 token 統計高於原生 provider);工具調用會結束 Cursor run;無圖片輸入(附件改爲文本佔位);輔助調用各佔用一次 Cursor agent run。
安裝與啓用¶
從 GitHub 安裝(資料原文命令):
dsh plugin --profile web add github:atticuswx/dsh-cursor
包內聲明 DSH bundle patch,安裝後會自動掛載 provider。刷新頁面或重啓 dsh web 後,打開 Settings > Models,會出現 Cursor 行及 API key 卡片。該包未發佈到 npm,需從 GitHub 或本地 checkout 安裝。
本地目錄安裝(README 亦給出,供已有源碼時使用):
git clone https://github.com/atticuswx/dsh-cursor
dsh plugin --profile web add ./dsh-cursor
# 或: dsh plugin --profile web add ./dist/dsh-cursor-0.2.0.tgz
插件以當前 DSH 進程權限運行;安裝前請自行查看倉庫源碼與 MIT 許可證,確認符合你的合規要求。
API Key 與瀏覽器登錄¶
在 Settings > Models > Cursor 中:
- Add key:粘貼 key 並設標籤;首個 key 自動成爲 active。
- 單選按鈕切換 active key;請求以該賬號鑑權,模型目錄隨 active key 變化(切換後重新打開模型選擇器以加載新賬號模型)。
- Replace key / Delete 管理密鑰;標籤可改而不動 secret。密鑰經 Harness credentials 服務存爲
CURSOR_KEY_*引用,頁面僅顯示引用與末四位;列表與選中狀態在插件 settings 中持久化,secret 在$DSH_HOME/.credentials.yaml。
無託管 key 時,按順序回退:CURSOR_API_KEY(Models 頁字段)→ 環境變量 CURSOR_API_KEY → npx dsh-cursor login 寫入的 ~/.cursor/sdk/auth.json。
Key 在 https://cursor.com/dashboard/api 創建;Team admin API key 不受 Cursor SDK 支持,需用戶 key 或服務賬號 key。
瀏覽器登錄(單 key、不改 settings 卡片時):
npx dsh-cursor login # 打開 Cursor,在用戶目錄存 API key
npx dsh-cursor status # 是否已登錄
npx dsh-cursor models # 當前賬號可選 model id
npx dsh-cursor logout # 清除本地登錄
README 說明:npx dsh-cursor login 僅在本倉庫 checkout 或全局 git 安裝後可靠;直接向 Settings 卡片粘貼 key 無需 CLI。
模型目錄與離線配置¶
目錄來自 active 賬號的 Cursor.models.list(),按憑證緩存 10 分鐘。Cursor 側 thinking 類參數會映射到 Harness reasoning 選擇器。
若無法自動發現(例如隔離環境),可在插件配置中顯式列出 model id:
- id: dsh-cursor
name: dsh-cursor
config:
apiKeyEnv: CURSOR_API_KEY
models:
- composer-2
- gpt-5
故障排查(節選)¶
| 現象 | 處理 |
|---|---|
| 模型選擇器無 Cursor 模型 | 無 active key:在 Settings 添加、粘貼 key,或 npx dsh-cursor status / login |
會話 AUTH 失敗 |
active key 或回退憑證過期/撤銷:Replace key 或重新登錄 |
CURSOR_UNAVAILABLE |
@cursor/sdk 未加載;重裝包;主機需 Node.js 22.13+ |
INVALID_REQUEST 指名模型 |
該 id 不在賬號可用列表;運行 npx dsh-cursor models |
QUOTA |
Cursor 計劃對該模型無剩餘用量 |
適用場景與注意¶
適合:已在 Cursor 開通模型、希望在 DSH Web 統一編排智能體與工具,且接受「Cursor 只作推理後端、工具執行仍在 Harness」這一分工的開發者。
注意:非官方集成;每輪全量 transcript;無多模態圖片;插件與 DSH 同進程權限。社區目錄頁 skillhub.cn/plugins/atticuswx/dsh-cursor 與 GitHub 倉庫相互獨立索引,並非 DeepSeek / 幻方官方應用商店。
結尾¶
dsh-cursor 把 Cursor 賬號下的模型目錄與 agent SDK 流式能力接入 DSH 的 cursor provider,並在 Settings 中集中管理多 key 與 active 賬號。安裝命令以 README 爲準;細節與開發說明見 GitHub:atticuswx/dsh-cursor,目錄介紹見 skillhub.cn/plugins/atticuswx/dsh-cursor。