dsh-acp avatar

dsh-acp

Agent Client Protocol (ACP) server plugin for the DeepSeek Harness (dsh) - drive dsh agents from Zed, any ACP v1 client, or the built-in web UI over stdio / HTTP+SSE, with sessions, jobs, goals, skills and the agent tree on the wire

PluginBrowserNetworkUI & SkinsWeb search
Verification
L2 · Structured
Security
High
Health
Active
Trust
Silver

What it does

Agent Client Protocol (ACP) server plugin for the DeepSeek Harness (dsh) - drive dsh agents from Zed, any ACP v1 client, or the built-in web UI over stdio / HTTP+SSE, with sessions, jobs, goals, skills and the agent tree on the wire

Installation

dsh plugin --profile web add github:dushaobindoudou/dsh-acp

Install method: GitHub · not yet tested in container (L3+)

Compatibility

DSH VersionStatus
not statedDeclared — not tested

Requirements

  • • Node.js: not stated
  • • DSH: declared "not stated"
  • • External credentials: none detected

Security Report

Automated static scan, not manual review.

DSH.SOHIGH-RISKSCAN15 FILES
762e68
Automated review · daily
HIGH-RISK

Critical findings in non-blocking categories (dynamic code execution, shell execution, install scripts, obfuscation). Common in CLI/terminal plugins but worth reviewing.

4 critical·5 warning·4 info·15 files scanned
code-exec ×4
plugin version0.9.0dsh manifest
scanned commit762e687629ca2026-08-18
latest commit762e687629ca

The scan result is only valid for the scanned commit. If the latest commit differs, the badge shows outdated until the daily pipeline rescans.

Disclaimer: automated static analysis, not a security guarantee. Always review what you install.

Risk: High4 critical · 5 warning · 4 info

• Static heuristic scan: done (15 files)

• Dependency vulnerabilities: requires deep audit (L3+)

• Permission sandboxing: requires runtime testing (L4+)

Scan findings · 12

  • criticalChild process module usage (Node.js)bin/dsh-acp.mjs:18
    import { spawn, spawnSync } from 'node:child_process'
  • criticalChild process module usage (Node.js)bin/setup-profile.mjs:22
    import { spawnSync } from 'node:child_process'
  • criticalChild process module usage (Node.js)bin/setup-webacp.mjs:21
    import { spawnSync } from 'node:child_process'
  • warningHTTP request to a raw IP addressbin/setup-webacp.mjs:84
    process.stdout.write(`done. boot with: dsh ${profile === 'web' ? 'web' : `--profile ${profile}`}\nGUI and ACP then share one port: http://1
  • infoHardcoded IP addressbin/setup-webacp.mjs:84
    process.stdout.write(`done. boot with: dsh ${profile === 'web' ? 'web' : `--profile ${profile}`}\nGUI and ACP then share one port: http://1
  • criticalDynamic code execution via eval()examples/curl-conversation.sh:60
    if eval(want, {}, {'f': f}):
  • warningHTTP request to a raw IP addressexamples/curl-conversation.sh:16
    base="${1:-http://127.0.0.1:7800}"
  • warningDownloads a file from the networkexamples/curl-conversation.sh:37
    curl -sN --max-time 300 ${auth[@]+"${auth[@]}"} "$base/acp/stream" -H "acp-connection-id: $connection" > "$sse" &
  • warningDownloads a file from the networkexamples/curl-conversation.sh:41
    curl -sS -o /dev/null -w '%{http_code}' ${auth[@]+"${auth[@]}"} -X POST "$base/acp" \
  • warningDownloads a file from the networkexamples/curl-conversation.sh:109
    code=$(curl -sS -o /dev/null -w '%{http_code}' ${auth[@]+"${auth[@]}"} -X DELETE "$base/acp" \
  • infoHardcoded IP addressexamples/curl-conversation.sh:16
    base="${1:-http://127.0.0.1:7800}"
  • infoHardcoded IP addresssrc/serve-startup.ts:45
    .option('--host <host>', 'bind host', '127.0.0.1')

Heuristic static scan — may produce false positives. Review the source yourself before trusting.

Activity

Last commit 2026-08-18 · activity: Active

• Repo created: 2026-08-18

• Stars: ★ 6 · Forks: 4

• Health: Active — committed within last 30 days

Source

GitHub: github.com/dushaobindoudou/dsh-acp

Was this page helpful?