DeepSeek Guide — whale logoDeepSeek GuideFAN SITE
TUTORIAL3 MIN READ

Use DeepSeek Harness with Cursor: ACP, MCP & Headless Integration

UPDATED: AUG 16, 2026AUTHOR: INDEPENDENT FAN GUIDE
OVERVIEW

dsh has no official IDE plugin, but dsh-cursor-codex adds three channels: ACP, MCP, and headless. Set up DeepSeek Harness with Cursor in minutes.

01

Why You Need a Bridge

DeepSeek Harness ships with a local Web UI and a CLI, but no official IDE plugin. The community dsh-cursor-codex project (August 15, 2026) fills the gap with three integration channels, verified against dsh 0.1.0-rc.6[1].

The goal is simple: keep Cursor as your editor and let dsh do the agent work — or delegate from Cursor into dsh without leaving the IDE.

  • Official dsh: Web UI + CLI + headless, no IDE plugin
  • Community bridge: ACP channel, MCP channel, headless channel
  • Verified on dsh 0.1.0-rc.6 (Aug 15, 2026)
02

Channel 1: ACP (Agent Client Protocol)

ACP is the emerging standard for connecting editors to agents. With dsh's ACP plugin, your ACP-capable client (Cursor, Zed, JetBrains) can drive the harness directly[1].

NOTE

ACP support in Cursor and JetBrains is evolving fast in 2026 — check your IDE's ACP client settings and the dsh-cursor-codex README for the current wiring.

example_code.py
# Install the ACP channel
dsh plugin --profile acp add @jeremy9682/dsh-acp

# Start the ACP stdio server
dsh --profile acp

# Then point an ACP client (Cursor / Zed / JetBrains) at this server
03

Channel 2: MCP Tools for Cursor

The same project ships a zero-dependency MCP stdio server exposing dsh_delegate and dsh_health as MCP tools. Merge its cursor template into your ~/.cursor/mcp.json and Cursor gains dsh as callable tools[1].

Codex users configure the same server through dsh.config.toml instead of the Cursor JSON.

This channel is the reverse of the MCP setup guide: here dsh itself becomes an MCP server consumed by the IDE.

example_code.py
# 1. Install the MCP server plugin (per profile)
dsh plugin --profile web add <mcp-server-package>

# 2. Merge the cursor template into your Cursor config
#    templates/cursor/mcp.json  ->  ~/.cursor/mcp.json

# 3. Reload Cursor, then:
#    dsh_delegate "<task>"   — hand a task to the harness
#    dsh_health              — check profile status
Sponsored
04

Channel 3: Headless One-Shot Tasks

No protocol needed for one-off jobs — dsh's headless profile runs a session, prints the final answer, and exits[2].

Headless mode is ideal for delegating from an IDE keybind, a CI job, or a terminal alias. Non-zero exit codes signal a failed command/config/startup, which makes it scriptable[2].

example_code.py
# Run a single task without a UI
dsh --profile headless "Refactor src/utils.ts and run the tests"
05

The One-Click Open Editor Plugin

For the opposite direction — jumping from a dsh session into your editor — the community plugin dsh-plugin-open-editor adds a header button that opens the current project in your local editor: VS Code, Cursor, JetBrains, or Vim[1].

The common real-world workflow reported by testers: run the harness in a terminal (or Web UI), use Cursor as the IDE, and let the open-editor plugin sync the project context. 'Terminal harness + Cursor IDE, both doing their thing'[1].

  • dsh session header → one click → open project in Cursor
  • Supported editors: VS Code, Cursor, JetBrains, Vim
Sponsored
06

Workflow Tips

Based on early hands-on reports and the integration project's own docs[1].

  • Use headless for quick delegated tasks from the editor; use ACP when you want full agent-in-IDE
  • Keep your dsh profile dedicated to one project to avoid workspace confusion (dsh uses the launch directory as its filesystem root)[2]
  • Store DeepSeek keys once in the Models screen; they are written-only afterwards[3]
  • For model-side Cursor setup (the older proxy route for V4 Pro reasoning_content), see V4 Pro with Cursor
NOTE

Stuck on any step? The common errors guide has the official troubleshooting table, and the MCP guide covers server wiring in depth.

Sponsored
Sponsored