Skip to content
dsh.fish
Bundle

dsh-cursor-acp

Hand a standalone job to the Cursor CLI already signed in on this machine.

Source
loeanxi
stars
2 stars
License
MIT
Updated
Updated yesterday

Readme

# dsh-cursor-acp

English | [中文](README.zh.md)

A community plugin for DeepSeek Harness. In a normal chat, the current agent can hand a standalone job to the **Cursor CLI** already signed in on this machine.

This is not a Cursor row in the model picker, and it is not an official Cursor product.

## Before you start

Install the [Cursor CLI](https://cursor.com/docs/cli/installation) on the same computer, then sign in:

Windows (PowerShell):

```powershell
irm 'https://cursor.com/install?win32=true' | iex
agent login
```

macOS / Linux:

```bash
curl https://cursor.com/install -fsS | bash
agent login
```

You can also set `CURSOR_API_KEY` instead of `agent login`.

## Mainland China / proxy

`agent login` and `cursor_agent` must reach Cursor's servers. A browser proxy does **not** apply to the terminal. Clash-style system proxy is ignored by Node unless you set it in **the same window** you will use:

```powershell
$env:HTTP_PROXY = "http://127.0.0.1:7890"
$env:HTTPS_PROXY = "http://127.0.0.1:7890"
$env:ALL_PROXY = "http://127.0.0.1:7890"
$env:NO_PROXY = "localhost,127.0.0.1"
$env:NODE_USE_ENV_PROXY = "1"
```

Use the port your proxy app shows (7890 is common). Then run `agent login` and start DeepSeek Harness in that same window. This plugin forwards `HTTP_PROXY` / `HTTPS_PROXY` / `ALL_PROXY` / `NO_PROXY` / `NODE_USE_ENV_PROXY` to the Cursor child. Let `node.exe` / `agent` use the proxy; do not force them to DIRECT. If a Clash config sends `node.exe` DIRECT, Settings and `doctor` will say the child may skip the proxy.

## Install

From npm (preferred):

```sh
dsh plugin --profile desktop add dsh-cursor-acp
```

Web:

```sh
dsh plugin --profile web add dsh-cursor-acp
```

Or from GitHub:

```sh
dsh plugin --profile desktop add github:loeanxi/dsh-cursor-acp
dsh plugin --profile web add github:loeanxi/dsh-cursor-acp
```

Restart DeepSeek Harness after install.

## After install

Open **Settings → Cursor subagent**.

- If it found the CLI, the chat can see the `cursor_agent` tool. **Finding the CLI is not the same as being signed in.** The page also checks `agent status` and whether this process has `HTTPS_PROXY` + `NODE_USE_ENV_PROXY=1`. It will say if you are not signed in, or if the proxy is missing. It does not show your email.
- You can pick the child model (effort, Fast, model), then click **Apply**. That only affects `cursor_agent`, not the model of the current chat. The choice is stored by this plugin, so it works on stock DeepSeek Harness too — it does not need the Host settings allowlist. If an official settings row for this plugin is grey, ignore it and use **Settings → Cursor subagent**.
- **Test** sends one official read-only `agent --print --mode ask` job (reply `pong`). It uses a little Cursor quota. It does not start a full ACP session.

![Settings → Plugins](assets/cursor-settings-overview.png)

![Cursor subagent status](assets/cursor-settings-status.png)

![Cursor subagent model settings](assets/cursor-settings-model.png)

## How to use it

Ask in chat, for example: “Have Cursor implement this feature” or “Have Cursor review this file.” Give enough detail in that message. The agent should call `cursor_agent` on its own.

The job runs in the current workspace folder and uses your Cursor subscription. The parent chat only sees the final result.

![A chat where cursor_agent finishes a small job](assets/job.png)

## If it cannot find the CLI

```sh
dsh plugin --profile desktop exec dsh-cursor-acp doctor
```

On web, use `--profile web`. This prints the CLI path, login/proxy hints, and whether this dsh can load `@deepseek-ai/dsh-subagent-acp` / `dsh-tool-subagent`. It does not read Cursor credentials. If those official packages are missing, Settings says so and `cursor_agent` is not registered.

## License

MIT

Install

dsh plugin --profile web add github:loeanxi/dsh-cursor-acp

Profile: web

  • This package builds from source on install. pnpm will ask you to allow its build script — that is permission to run the package’s code on your machine, outside the agent sandbox. Only allow sources you trust.
  • This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.
Source