Introduction

The core design philosophy of DeepSeek Harness (DSH) is “everything is a plugin.” When integrating with Cursor’s subscription service, only two official client entry points are provided: IDE and CLI, and there is no public OpenAI-compatible API. The dsh-llm-cursor plugin implements the Cordis plugin contract, providing DSH with an unofficial integration path and allowing users to directly use Cursor’s subscription models through DSH’s interface.

This plugin is maintained by NOirBRight and released under the MIT License. It communicates with Cursor’s private endpoints over HTTP/2 and does not rely on official Cloud Agents or @cursor/sdk.

Installation

Installation must be performed through the DeepSeek Harness Web interface. Use the following commands to install the dsh-llm-providers-ui and dsh-llm-cursor components:

dsh plugin --profile web add --force \
  https://github.com/NOirBRight/dsh-llm-providers-ui/releases/download/v0.2.9/dsh-llm-providers-ui-0.2.9.tgz
dsh plugin --profile web add --force \
  https://github.com/NOirBRight/dsh-llm-cursor/releases/download/v0.2.23/dsh-llm-cursor-0.2.23.tgz
dsh web

After installation, restart DSH Web.

Core Features

Login and Configuration

In DSH settings, navigate to LLM Providers -> Cursor to see the configuration card provided by this plugin.
1. Click Sign in with Cursor; the system starts the Deep Control PKCE flow and opens the system browser to complete login.
2. After successful login, the session information is stored on the host side at $DSH_HOME/cursor-oauth.json with permissions 0600; the plugin does not receive the Token in the browser.
3. Click Fetch available models; the plugin reads the account’s available model list, merges Cursor SKUs split by thinking level into model families, and distinguishes Fast SKUs from Max Context SKUs.

Chat and Requests

Once the model families are configured, you can start chatting.
1. Chat requests are sent to POST https://api2.cursor.sh/agent.v1.AgentService/Run via the HTTP/2 Connect + protobuf protocol.
2. The plugin automatically adds compatibility request headers, including x-cursor-client-type: cli, x-cursor-client-version, and x-ghost-mode: true.
3. The card displays subscription usage, based on unofficial dashboard data, as well as the logged-in account email.

Technical Details

  • Protocol requirements: The plugin requires an HTTP/2 connection to api2.cursor.sh (including ALPN). It does not provide an HTTP/1 proxy bridge; if the underlying transport layer does not support HTTP/2, requests will fail.
  • Compatibility mechanism: The plugin maintains a list of verified Host versions in the dsh.compatibility.dshReleases field of package.json, used to confirm environment compatibility.
  • Export structure: The plugin root directory exports the Cordis plugin contract and also exports ./client, providing a concrete implementation for DSH.

Risks and Limitations

ToS Violation Risk

This is the first issue to consider when using this plugin. Cursor staff have explicitly stated that using private client endpoints for login and chat is a violation of the Terms of Service. Using this plugin to log in, send chat messages, or even run it locally does not avoid this risk. Enforcement actions may include account restrictions or permanent bans.

Feature and Implementation Limitations

  • Missing cache fields: The Token usage block returned by the Run interface does not include cache fields, so DSH cache-hit-rate statistics remain empty.
  • SKU logic: Fast SKUs are independent model families (for example, gpt-5.2 vs gpt-5.2-fast), not a simple toggle. 1M context SKUs are shown only for model families where Cursor actually provides Max Context; manually added generic context rows are not subject to this restriction.
  • Version dependency: The CLI version number is locked; if Cursor releases a new CLI that causes a version mismatch, the plugin may stop working.
  • Data source: The usage percentage displayed on the card comes from the unofficial Dashboard Rails, not the official API.

Summary

dsh-llm-cursor provides a workable solution for directly using Cursor’s subscription within DSH. It communicates with Cursor’s private endpoints using HTTP/2 Connect and the Protobuf protocol. However, before using it, make sure the potential ToS violation risk is within an acceptable range and confirm that the current DSH environment supports the required HTTP/2 features.

  • Project homepage: https://github.com/NOirBRight/dsh-llm-cursor
  • Community catalog: https://www.skillhub.cn/plugins/NOirBRight/dsh-llm-cursor