Cursor 订阅接入 orrinzeng/dsh-cursor-subscription
DeepSeek Harnessv0.6.12在 DeepSeek Harness 里直接登录 Cursor 账户,用上你的 Cursor 订阅,不需要 API Key,也不依赖 Cursor IDE 或 Cursor CLI。
40.5/100
综合分
8
GitHub 星标
173
npm 周下载
—/5
用户评分
数据截至 2026/9/30 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add dsh-cursor-subscriptionnpm 源 · dsh-cursor-subscription 的发布者账号已校验与本仓库一致
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · model
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 34 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✓npm 包dsh-cursor-subscription @ 0.6.12
✓Node 引擎要求 ^22.19.0 || >=24.0.0 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/11/1 00:46:39
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
读写/删除本地文件发起外部网络请求
查看扫描证据(共 7 处,展示前 7 条)
- 读取本地文件lib/index.js:36
return JSON.parse(readFileSync(new URL("../package.json", import.meta.url), "utf8")).version; - 发起网络请求lib/index.js:62
const req = client.request( - 发起网络请求lib/index.js:580
const response = await this.fetch(`${CURSOR_BASE_URL}${CURSOR_REFRESH_PATH}`, { - 发起网络请求lib/index.js:644
response = await this.fetch(`${CURSOR_BASE_URL}${CURSOR_POLL_PATH}?uuid=${encodeURIComponent(uuid)}&verifier=${encodeURIComponent(verifier)}`, { - 发起网络请求lib/index.js:1729
this.stream = this.session.request(headers); - 发起网络请求lib/index.js:2637
const response = await this.fetch(url, { - 写入本地文件lib/index.js:3086
appendFileSync(this.hangTracePath, lines.join("\n"));
扫描于 2026/11/3(0 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/schemastery@deepseek-ai/cordis@deepseek-ai/dsh-client-connection@deepseek-ai/dsh-client-locale@deepseek-ai/dsh-client-ui-primitives@deepseek-ai/dsh-client-ui-settings@deepseek-ai/dsh-client-ui-slots@deepseek-ai/dsh-client-ui-tool@deepseek-ai/dsh-credentials@deepseek-ai/dsh-llm@deepseek-ai/dsh-settings@deepseek-ai/dsh-tools给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 登录Cursor账户
- 使用Cursor订阅
- 无需APIKey
最近更新
在 GitHub 查看全部 →v0.6.122026-09-30
English | 中文
· dsh-cursor-subscription v0.6.12
DSH 0.2.0-rc.2 让本插件起不来了,但这次不是「某个 API 被删掉」那种故障:插件调用的一切都还在。这个版本加了版本兼容闸门,而本插件声明错了版本线。
· 0.2.0-rc.2 改了什么
在配置档导入插件之前,DSH 现在会把该插件 peerDependencies 里所有 @deepseek-ai/dsh 与 @deepseek-ai/dsh-* 的范围拿去和当前运行时版本比对:
semver.satisfies(runtimeVersion, range, { includePrerelease: true })
只要有一个范围不满足,整个插件就被拒绝;而且被拒绝的插件是在启动器自己那份组合结果里被拒的——它根本不会被 import,也不会贡献任何条目。后半句正是症状令人费解的原因。配置档自己的 cordis.patch.yml 里带着一条针对 cursor-subscription 条目的配置覆盖,于是被拒的插件并不是报一句「不兼容」就停下,而是报:
dsh: [C:\Users\\.dsh\profiles\web\cordis.patch.yml] patch: entry "cursor-subscription" not found
读起来像是配置档坏了,而不是插件被拒。真正的信息在它上面一行:
dsh: warning: Plugin dsh-cursor-subscription@0.6.11 is incompatible with dsh 0.2.0-rc.2:
peerDependencies {"@deepseek-ai/dsh-client-locale":"0.1.0-rc.6", ...}
这个检查有两个细节值得记住。@deepseek-ai/cordis 与 react 不属于 @deepseek-ai/dsh-*,永远不会被检查;而 includePrerelease: true 让预发布范围比裸 semver.satisfies 更宽松地匹配预发布运行时——Connection 那条旧范围 >=0.1.0-rc.6 =0.1.0-rc.6 Cursor 显示 v0.6.12。
· 兼容性与已知事项
· 本构建声明的是 0.2.0-rc 线,不再覆盖 DSH 0.1.x。若你仍在 0.1.x 的 DSH 上,请留在 0.6.11:0.6.12 会被 0.1.x 的组合结果拒绝,方式与 0.6.11 被 0.2.0-rc.2 拒绝完全一样。
· 若不想改版本、只想对某一对具体版本放行,可以授予豁免——dsh plugin --profile web allow-version dsh-cursor-subscription@ --dsh-version --accept-risk。豁免在两端都是精确的:插件升级与 DSH 升级都不会继承它。
· 服务商的运行时行为、Run 协议、工具桥、设置项与客户端面板相对 v0.6.11 均无变化。本版本动的是声明和一处注册调用。
· 仓库的 pnpm-workspace.yaml 现在把 0.2.0-rc.2 相关包列入了 minimumReleaseAgeExclude,这样全新一次 pnpm install 能在它们仍处于 pnpm 24 小时发布年龄窗口内时解析到它们。
v0.6.112026-09-25内容较长已截断
· dsh-cursor-subscription v0.6.11
两处修复针对同一个症状,另加一个开关,针对它的结构性原因。观察到的现象是:Cursor 的一轮任务在反复重推自己的计划,而不是干活——这一步重述目标、把目标读回来、重写计划,永远停在第一项,而同一步里每次工具调用都返回了真实数据。
· 重放会保留每次请求的内容
冷启动——进程重启、桥断、或压缩之后的重建——会把 DSH 历史重放成文本,而工具请求过去只重放成 [Previous tool request: todo_write] 一个名字。对计划来说,请求就是它的参数,于是模型回来时手里没有自己刚写的那张表,只能重新推导一张;同一个缺口也藏起了它已经跑过的检索,这就是同一个调用被重复发起的来源之一。现在每条重放的请求都保留参数,上限 600 字符:计划完整保留,整文件写入则被截断。
这个改动针对的抖动,取自真实会话:15 次 todo_write,没有一次与上一次逐字相同;某一轮连续三步重写同一份三项计划,而第一项始终停在 in_progress,其中一次还变成了英文。计划抖动主要是「卡住」的症状:计划工具每次调用都整表替换、结果只回计数不回显清单,于是任何改动都是重打一遍;一个推进不下去的智能体,就会去改它唯一还能控制的东西。
· 可选的「每步重放完整历史」
dsh-codex-subscription 与本插件只在一处结构上不同,而它正是「同一个会话里 Codex 模型跑完 114 步、Cursor 模型却卡住」的原因:codex 插件走标准 function calling,历史由它自己组装、每次请求自带;本插件把历史交给 Cursor 服务端,只发增量。工具面也是同一个差别的结果:Codex 模型只会看到 DSH 的工具,而本插件这边还会被提供 Cursor 自己的工具,只能回绝。
每步重放完整历史(设置 → Cursor,默认关闭)让每一步都从 DSH 历史重建对话,而不是接着 Cursor 保留的对话往下走,于是模型看到的历史,和 function calling 适配器给它的那份一样明确。之所以做成可选,是因为 Cursor 没有服务商侧的压缩:每一步都要重发整份记录,token 随步数增长。
促成这个开关的那一轮任务里,get_goal 出现了四次,todo_write 两次,每一步的文本里都重述了目标,而同一步里的 grep、glob 和 read 调用全都返回了真实数据——原生工具一次都没被尝试(24 步里 0 次消息中途往返),这就排除了「工具被回绝」这条路径。
· 验证
· 单元测试:宿主侧 101 个测试通过。本次发布新增两个用例:冷启动的动作文本保留一条 todo_write 请求和它带的清单,保留应答它的结果,并把正文 5000 字符的写入截断而不是重放;开关打开时,工具结果已到手的一步会开启新的一轮,释放它不再续用的桥,把 DSH 历史和该结果带进新一轮,且不再应答已放弃的 exec,同时设置 RPC 往返覆盖了新字段,并仍然丢弃未知键。
· 未改动的路径:续用路径、沙箱回绝提示、协议进度行,以及 v0.6.10 的工具结果处理,测试全部保持通过。
· 抖动,读自真实会话:15 次 todo_write,没有两次相邻的清单完全相同,同一份三项计划连续重写三次,其中一次用英文。
· 卡住,读自真实会话:在用户中止的一轮里,get_goal 四次、todo_write 两次,同几步里 grep、glob 和 read 都返回了数据,原生工具请求一次都没发起。
· 安装或升级
dsh plugin --profile web add dsh-cursor-subscription@0.6.11
dsh plugin --profile web list dsh-cursor-subscription --depth 0
之后手动重启 DSH,确认设置 → Cursor 显示 v0.6.11,且运行时设置卡片列出「每步重放完整历史」。
· 兼容性与已知说明
· 重建开关用 token 换明确性:打开后,一步的提示词会随整份记录增长,Cursor 那边不会压缩它。它不改动其他行为——同样的工具调用、同样的权限,只是不再续用服务端对话。
· 重放的请求最多保留 600 字符参数。计划能完整放下;文件正文放不下,而它的结果本来就在记录里。
· 这个开关是唯一的新设置。运行流、除该字段外的 Config schema,以及 RPC 接口都与 v0.6.10 一致。
· 打开这个开关是实验,不是默认:这是本适配器唯一能更接近 function calling 插件行为的地方,代价是每步多花 token。如果打开后某一
v0.6.102026-09-23内容较长已截断
English | 中文
· dsh-cursor-subscription v0.6.10
Cursor 的一轮对话有两件事一直藏着:运行过程中它在做什么,以及工具调用被拒后怎么脱身。一个步骤只显示一句话和一张工具卡,于是一轮对话读起来像同一个请求被反复提交;沙箱拒绝又只以一条光秃秃的错误返回,模型便断定本地工具在这里用不了,而不是向用户申请权限。
· 步骤背后的工作现在看得见了
推理是适配器展示非回答文本工作的唯一通道。Cursor 的一个步骤大部分时间花在从未进入对话记录的协议往返上:模型先尝试的原生工具调用、接着发起的 DSH 工具 schema 拉取,以及在这两者之前就已完成的思考。这些原本都不可见,现在下面四条增量会报告出来,统一加 [cursor] 前缀,放在独立的推理块(索引 3)上,这样模型自己的思考——块索引 1——保持原样,仍是模型产出的内容。
| 时机 | 对话记录显示的内容 |
| --- | --- |
| 模型结束思考 | [cursor] thinking finished after 4.2s |
| 原生 Cursor 工具被拒 | [cursor] native grep call declined; using the DSH tools instead |
| 工具 schema 已拉取 | [cursor] loaded the DSH tool schemas (27 tools) |
| DSH 工具即将运行 | [cursor] calling the DSH tool grep |
thinking_completed(InteractionUpdate 字段 5)一直带着时长,却被当作未知更新忽略;现在已能解码。另外三行报告的是适配器早已处理、只在协议层应答过的事件。
· 沙箱拒绝会带上申请批准的办法
每个服务商都适用同一条规则:沙箱拒绝某次调用时,用 sandbox_permissions 加一句理由把这次调用原样重试一次,DSH 就会弹出审批提示。只有 pwsh 的描述写明了这一点——write、edit、read 的描述分别只有 42、59、56 个字符,没有相关措辞,拼装出的系统提示词也完全没提沙箱。拒绝结果本身同样没给补救办法;Cursor 一轮对话收到的是:
Error: SetNamedSecurityInfoW failed (Win32 5): grantWrite(D:\myworks\mkgame_front)
模型若没从工具描述里记住这条规则,就会把它读成「这个工具在这里用不了」并弃用——一轮对话就这样报出本地工具不可用,转去做只靠搜索的工作。不是模型不会升级:同一构建在一个会话里被观察到升级了八次,先升到 workspace-write(被上面的 ACL 授权拒绝),再升到 danger-full-access,跑通了。
withSandboxHint() 现在会把规则追加到拒绝结果上,结果回传给模型的两条路径都覆盖——实时桥接的 mcp_result 和冷启动的历史回放。两类拒绝读起来不同,因为要的答案不同。策略拒绝保留「最窄优先」规则:
[cursor] The DSH sandbox refused this call, and that is recoverable: retry this exact call once with sandbox_permissions set to the narrowest wider mode that suffices (workspace-write, or danger-full-access when that is not enough) plus a one-sentence justification. DSH then asks the user to approve it. If the retry is refused as well, stop and report it instead of trying another mode.
ACL 失败则明说没有更窄的模式可用,因为先点名一个正是把单次拒绝变成重试循环的原因——有个会话里,一轮对话请求 workspace-write,也就是它当时已处的模式,请求了 101 次:
[cursor] The DSH sandbox cannot start in this workspace — its own ACL grant fails (SetNamedSecurityInfoW) — so no narrower mode can succeed. Retry this exact call once
数据来自仓库的 GitHub Release,可能与插件实际版本不一致。
README
由 DeepSeek 最新模型翻译生成DSH Cursor 订阅
登录你的 Cursor 账户,直接在 DeepSeek Harness 中使用你的 Cursor 订阅——无需 API 密钥,也不依赖 Cursor IDE 或 Cursor CLI。该插件保留了 DSH 现有的会话、工具和权限系统:登录后,你可以在模型选择器中选择 Cursor 订阅模型,而智能体工具调用则通过 DSH 的本地工具集执行。
⚠️ 本插件集成了 Cursor 未公开的 Agent 协议(agent.v1.AgentService/Run)。这是一个社区逆向工程项目,当 Cursor 更改其服务端实现时可能会失效。本项目与 Anysphere 或 Cursor 无关联,也未获得其认可。请遵守 Cursor 的服务条款。
功能
- 通过基于浏览器的 PKCE 登录,直接在 DSH 中使用 Cursor 订阅——无需 API 密钥。
- 将凭据存储在 DSH 的本地凭据存储中,并自动刷新访问令牌。
- 通过 Cursor 的 GetUsableModels 动态发现当前账户可用的模型,若发现失败则使用内置的回退列表。
- 流式传输对话,支持推理输出、图片附件和 DSH 工具调用。
- 在设置页面查看登录状态和令牌过期时间,该页面会标注已安装的构建版本。
展开完整文档(README 剩余 1 节)
DSH Cursor 订阅 登录你的 Cursor 账户,直接在 DeepSeek Harness 中使用你的 Cursor 订阅——无需 API 密钥,也不依赖 Cursor IDE 或 Cursor CLI。该插件保留了 DSH 现有的会话、工具和权限系统:登录后,你可以在模型选择器中选择 Cursor 订阅模型,而智能体工具调用则通过 DSH 的本地工具集执行。 ⚠️ 本插件集成了 Cursor 未公开的 Agent 协议(agent.v1.AgentService/Run)。这是一个社区逆向工程项目,当 Cursor 更改其服务端实现时可能会失效。本项目与 Anysphere 或 Cursor 无关联,也未获得其认可。请遵守 Cursor 的服务条款。 功能 - 通过基于浏览器的 PKCE 登录,直接在 DSH 中使用 Cursor 订阅——无需 API 密钥。 - 将凭据存储在 DSH 的本地凭据存储中,并自动刷新访问令牌。 - 通过 Cursor 的 GetUsableModels 动态发现当前账户可用的模型,若发现失败则使用内置的回退列表。 - 流式传输对话,支持推理输出、图片附件和 DSH 工具调用。 - 在设置页面查看登录状态和令牌过期时间,该页面会标注已安装的构建版本。 - 按照 Cursor 自身仪表盘的布局查看并手动刷新订阅用量:一个包含 Cursor Models 和 Other Models 两个池的已含用量表格,每个池后跟使用该池的模型,每行显示令牌数和百分比,此外还有已含请求数、按需支出和计费周期。 - 查看并手动刷新当前账户可用的模型,按名称而非 Cursor 的响应顺序列出。 - 在设置页面配置每次运行的工具轮次上限、HTTP 重试策略,以及每一步是否重放完整历史记录。 - 以简体中文、英语、繁体中文、日语、韩语、西班牙语、法语、德语、意大利语、巴西葡萄牙语、俄语或阿拉伯语阅读设置页面。面板会为阿拉伯语镜像自身;贡献的语言会加入 DSH 自己的语言选择器,位于 Settings → General → Language 下,在面板之外则回退为英语。 安装 使用智能体安装(推荐) 向智能体发送 AGENTS.md 的链接。其中包含安装、更新、移除和验证的说明。 使用 dsh 命令手动安装 dsh plugin --profile web add dsh-cursor-subscription dsh plugin --profile web list dsh-cursor-subscription --depth 0 dsh --profile web --dump-config 已安装的包列表应恰好包含一个 dsh-cursor-subscription,且组合配置应恰好包含一个 cursor-subscription 条目。 pnpm 11 及更高版本内置了 24 小时的 minimumReleaseAge 门禁,因此普通的 add 永远不会选择过去 24 小时内发布的版本。在某个版本刚发布后,请显式安装它(dsh plugin --profile web add dsh-cursor-subscription@0.5.8),或在配置文件的 pnpm-workspace.yaml 中按名称豁免此包: minimumReleaseAgeExclude: - dsh-cursor-subscription 本地开发安装 在配置文件目录中运行以下命令,例如 %USERPROFILE%\.dsh\profiles\web: pnpm add file:D:/mcp/dsh-cursor-subscription 然后将 dsh-cursor-subscription 添加到 package.json 中的 dsh.profile.bundles 数组,并重启 DSH。 登录与使用 1. 在 DSH 中打开 Settings -> Cursor Subscription。 2. 选择 Browser Sign-in。你的浏览器将打开 Cursor 登录页面。 3. 完成登录和授权。设置页面将自动显示你已登录。 4. 从模型选择器中选择一个 Cursor 模型,例如 composer-2 或 claude-4-sonnet。 当需要工具时,代理会将 Cursor 的工具请求转换为本地 DSH 工具执行。结果通过对话历史返回给模型;不会使用 Cursor 的文件系统工具。当 Cursor 转而请求它自己的某个内置工具时——包括比此构建版本所知的更新的工具——插件会立即拒绝该请求,告诉模型使用 DSH 工具,因此运行会继续,而不是等待一个永远不会到来的结果。 Runtime settings 卡片控制单次 Cursor 运行中的最大工具轮数、HTTP 重试策略,以及每一步是否重放完整历史。工具轮数上限默认为 200(范围 1–1000),超出时以 TOOL_LIMIT 结束运行。重试次数表示额外尝试次数,默认为 0(禁用)。Cursor 的流式 POST 协议无法证明失败的尝试未在远程被处理,因此启用重试可能会重复模型工作或用量。重试仅在初始 HTTP 状态匹配配置列表时、且在任何响应输出之前发生。Replay the full history each step 默认关闭:它会在每一步从 DSH 历史重建 Cursor 对话,而不是恢复 Cursor 在服务端保留的对话,这正是重新发送自身历史的适配器所做的——代价是每一步都重新发送对话记录,因为 Cursor 没有提供方侧压缩来限制它。 更新与移除 dsh plugin --profile web update dsh-cursor-subscription # Update dsh plugin --profile web remove dsh-cursor-subscription # Remove 如果 DSH 正在运行,请在安装或更新后手动重启它。 故障排除 - 登录后 DSH 仍报告你已登出: 确保浏览器完成了整个授权流程并重定向到完成页面。轮询最多等待约 2.5 分钟。 - 模型列表为空: GetUsableModels 取决于账户类型。如果发现失败,插件会使用其内置模型列表,你仍然可以手动输入模型名称。 - 请求返回 401: 如果访问令牌已过期且刷新令牌不再有效,请从设置页面重新登录。 - DSH 启动失败并报错 cannot get property "webServer" without inject: 已安装的 DSH 的 Connection 插件未声明 webServer,而较旧的通道注册依赖于此。请安装此插件的 0.5.8 或更高版本。 - DSH 启动失败并报错 Plugin dsh-cursor-subscription@... is incompatible with dsh ...,或警告 patch: entry "cursor-subscription" not found: 自 DSH 0.2.0-rc.2 起,profile 会拒绝加载其声明的 DSH peer 范围未覆盖当前运行的 DSH 版本的插件,而被拒绝的插件不会贡献 cursor-subscription 条目——因此 profile 自身针对该条目的 patch 会报告其缺失。0.6.12 及更高版本声明了 0.2.0-rc 系列;0.6.11 及更早版本仅声明了 0.1.x 系列。请安装与你的 DSH 匹配的构建版本,或使用 dsh plugin --profile web allow-version dsh-cursor-subscription@ --dsh-version --accept-risk 为一对确切的版本组合显式接受风险。 - 普通安装会选中旧版本: pnpm 内置的 24 小时 minimumReleaseAge 门控会跳过过去一天内发布的版本。请安装显式版本或按名称豁免此包;参见安装部分。 - 服务器协议已更改: Cursor 的 Agent 协议未公开。如果请求失败,请检查插件更新。 范围与支持 - 支持图像输入(用户上传的附件)。图像生成和网络搜索等 Cursor 原生功能仍不在本插件的范围内。 - 请通过仓库的 Issues 页面报告问题。 MIT
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
orrinzeng/dsh-cursor-subscription
在 DeepSeek Harness 里直接登录 Cursor 账户,用上你的 Cursor 订阅,不需要 API Key,也不依赖 Cursor IDE 或 Cursor CLI。
相关插件 · 模型接入
API 中继安全审计toby-bridges/api-relay-audit
面向 AI API 中转与 LLM 代理的本地安全审计。
★ 897已汉化DSH
69.4
免费搜索插件DDDMUC/dsh-free-search
DeepSeek Harness 免费搜索插件 —— 无需 API key,零成本,多引擎可切换。 一个插件,给…
★ 850已汉化DSH
68.9
免费联网搜索liustack/modsearch
在官方 App 里模型能联网,切到 API 就不能了。ModSearch 把联网补回来:网页搜索、X…
★ 863已汉化DSH
68.5
OpenCode 免费模型FishBottle7/opencode2dsh
在 DSHDeepSeek Harness里原生使用 OpenCode Zen 的免费匿名模型。
★ 385已汉化DSH
67.9
AI 模型网关tingly-dev/tingly-box
Tingly Box Web UI 演示
★ 373已汉化DSH
67.4
WorkBuddy 账号池XDTrees/dsh-xdpool
把你能白嫖的模型额度接进 DSH 同一个池:WorkBuddy 多账号自动容错、十三家扫码登录、76…
★ 359已汉化DSH
67.1
这是你的仓库?认领条目