前言¶
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。