Add DeepSeek Harness Interactive (dsh-acp-interactive) - #585
Conversation
|
I have updated the PR description to acknowledge the related DeepSeek Harness submissions (#506, #509, and especially the similarly editor-facing #510), document this implementation's package/composition boundary, and make its independent community-maintained status explicit. The first-time contributor workflow is currently waiting with |
bc8fb22 to
69ef271
Compare
|
Rebased onto current @Rizzen @benbrandt — when you have a moment, could you approve the first-time-contributor workflow run? Happy to adjust anything. |
f37185d to
50c227b
Compare
b0d40bf to
3267275
Compare
3267275 to
0d45b37
Compare
|
Update: the entry now points at Since the previous comment the authentication flow was reworked after testing in Zed and against an IntelliJ-style
Evidence, all linked from the description: cross-platform CI (https://github.com/ClickPM/dsh-acp-interactive/actions/runs/34313416901), this repository's No further changes planned on my side; happy to adjust anything. |
Adds DeepSeek Harness Interactive (
dsh-acp-interactive), a community-maintained, unofficial ACP adapter for DeepSeek Harness, published asdeepseekharness-acp-interactiveon npm.deepseekharness-acp-interactive@1.0.9(no args; the default command is the ACP server; no separate CLI or source checkout is required)initializereturnsdeepseek-api-keyas aterminalmethod (args: ["--setup"]) when the client declaresclientCapabilities.auth.terminalor the validator's_meta["terminal-auth"], and as an agent-type method with the same instructions otherwise, so a client never receives an empty list.--setupstoresDEEPSEEK_API_KEYthrough the Harness credential store without echoing it;session/newreturns the ACPauth_requirederror while the key is not configured, so clients show the method before the first prompt; the method also carries Zed's legacy_meta["terminal-auth"]object so stable Zed launches the terminal task; asession/prompton the DeepSeek route without a key is answered withauth_requiredas wellcurrentColor/noneonlyIt composes the published
@deepseek-ai/dsh-*packages behind a reviewed editor profile. It is not affiliated with or endorsed by DeepSeek and is a different package, id, and repository from the other DeepSeek Harness submissions (#506, #509, #510) and from the upstream automation-only@deepseek-ai/dsh-acp; the id follows the-acpconvention used for wrappers here and matches the executable and repository names.Validation
Run with this repository's own scripts on the PR branch:
uv run --with jsonschema .github/workflows/build_registry.py --dry-run→Added agent: dsh-acp-interactive v1.0.9python3 .github/workflows/verify_agents.py --auth-check --agent dsh-acp-interactive --clean→✓ Success: Auth OK: deepseek-api-key(terminal); from a cold npm cache the handshake completes in about 20 s on a GitHub-hosted runner (linked below) and comfortably inside the validator's 120 s budget in a cleannode:ltscontainerPublic evidence:
npm ci, typecheck, tests, pack, packed-install launcher verification): https://github.com/ClickPM/dsh-acp-interactive/actions/runs/34313416901 (7/7 jobs green)build_registry.py --dry-run+verify_agents.py --auth-checkrun against the published1.0.9on a GitHub runner, from the project's own workflow: https://github.com/ClickPM/dsh-acp-interactive/actions/runs/34313956609 (Auth OK: deepseek-api-key(terminal))auth_required→Configure DeepSeek API key→ terminal--setupflow, and a sandbox-denied write escalating to an ACP permission request (Allow once/Reject) with the resulting tool cards: https://github.com/ClickPM/dsh-acp-interactive#in-zedregistry/agent.jsonand re-validated daily with the Registry's scriptsThe workflow for this first-time contribution is waiting for approval (
action_required).🤖 Generated with Claude Code