dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
Drive your DeepSeek Harness (dsh) coding agent from your phone — typed ACP protocol, one-tap approvals, self-hosted push notifications, no screen scraping.
dshrc
Remote control for DeepSeek Harness. Drive your dsh coding agent from your phone — over ACP, not a screen scrape.
Features · Install · Quickstart · News · What's next · Guide · Architecture
Not affiliated with or endorsed by DeepSeek. dshrc is an independent, unofficial
client that talks to DeepSeek Harness
(dsh) over the Agent Client Protocol, via thecommunity adapter deepseek-acp.start and drive dsh sessions over ACP, approve tool calls with one tap, receive self-hosted push notifications, and reach the daemon over LAN, Tailscale, or an outbound relay. A terminal client and an Even Realities G2 glasses client are included. Full notes in the Changelog.
# 1. deepseek-acp — the ACP adapter dshrc drives (unofficial; wraps DeepSeek Harness)
npm install -g deepseek-acp
deepseek-acp --setup # paste a DeepSeek API key once, or export DEEPSEEK_API_KEY
# 2. dshrc
npm install -g dshrc
# 3. One required setting — where new sessions open
dshrc config set defaultCwd ~/code
# 4. Start
dshrc up --lanOpen the printed URL on your phone, enter the 6-character code, add to Home Screen.
dshrc listening on http://192.168.1.10:4319
No paired devices. Open the URL above and enter:
Y8M8GF(192.168.1.10 is an example — use the address your machine prints.)
Approvals need no extra setup: deepseek-acp's sandbox always asks before a tool touches anything outside the session's working directory, so one-tap remote approval just works out of the box.
For access from anywhere (cellular, travel), use Tailscale so the phone gets HTTPS on your private tailnet — see Guide → Tailscale.
Check the install anytime: dshrc doctor
· Existing tools · dshrc Transport · PTY / terminal bytes · ACP JSON-RPC (typed) Waiting for you? · Regex over ANSI · session/request_permission — always sent, no config bypass Approve a tool · Send keystrokes · One tap by optionId Networking · Open inbound ports · LAN, Tailscale, or outbound relay Terminal + phone · Separate sessions · Same session (dshrc term) Platforms · Often iOS-only · PWA — iOS and Android DeepSeek Harness · Unsupported · Native, via deepseek-acp
Full usage: docs/GUIDE.md
Requires Node 20+ and deepseek-acp (itself a wrapper over DeepSeek Harness).
npm install -g deepseek-acp
npm install -g dshrcFrom source:
git clone https://github.com/sandeep-alluru/deepseek-harness-rc.git
cd deepseek-harness-rc
npm install && npm run build
npm linkPlatform · Packaged CLI · Full suite (CI) · Service Linux · Node 20–24 · Node 22, 24 · systemd user unit macOS · Node 20–24 · Node 22, 24 · — Windows · Node 20–24 · Node 22, 24 · Scheduled Task
Verified against deepseek-acp 0.8.0.
dshrc config set defaultCwd ~/code # required
dshrc doctor # agent, ACP, approvals
dshrc up --lan # reachable on your LANGoal · Command Pair another device · dshrc pair List devices · dshrc devices Revoke a device · dshrc revoke Terminal on same session · dshrc term Run as a service (Linux) · see Guide → Service Outbound relay · dshrc up --relay wss://your-relay Use a different agent binary · dshrc up --agent-command /path/to/deepseek-acp
dshrc up --lan on a trusted Wi‑Fi onlysudo tailscale set --operator=$USER tailscale serve --bg http://127.0.0.1:4319 Open the printed https://your-machine.tail-xxxx.ts.net URL (sample shape only)
Step-by-step Tailscale setup (install, Serve, pair, persist, troubleshooting): Guide → Tailscale
dshrc spawns deepseek-acp directly over stdio — no subcommand or mode flags, since any argv it doesn't recognize as --setup/--version/--help falls through to running as an ACP service. The daemon, ACP client, pairing, push, relay, and phone/PWA/glasses clients all speak the same typed protocol regardless of which agent is on the other end of the pipe, so the whole stack above the transport layer never has to know or care that the agent is deepseek-acp.
A few things worth knowing about how this backend behaves:
DEEPSEEK_ACP_MODEL environment variable —deepseek-acp has no --model CLI flag of its own.
deepseek-acp's sandbox always sendssession/request_permission before a tool leaves the session's working directory — there is no config key, flag, or environment variable that turns it off. There is no state a phone-controlled session can end up in where tools run unattended without the phone getting a say. See SECURITY.md.
deepseek-acpprocess — there is no shared-backend mode to configure. (--leader is accepted in config files for compatibility.)
The roadmap builds on dsh's own session store. Verified against real files: dsh writes one compressed session.jsonl.zstd per session under $DSH_HOME/sessions/ and keeps no live-process registry. Three features build on that store, in order:
The reader decompresses the zstd JSONL and reads the type:"session" header line and the later session/title event; the schema is documented in code comments in src/daemon/session-manager.ts.
"refuse to join a standalone owner" guard. takeOver() resumes today; the guard builds on a live-process registry to check against.
compressed log with the same reader (src/daemon/observer.ts).
Session resume of a session dshrc itself created works today — deepseek-acp advertises ACP's loadSession capability, and the on-disk existence check matches dsh's real directory-naming scheme. PRs on any of the three are very welcome.
Doc · Contents Guide · Install, config, daily use, push, relay, service, troubleshooting, FAQ Architecture · Topology, ACP, session modes, event model Security · Threat model, reporting Contributing · Dev setup, tests, PRs Changelog · Release notes
Component · Version · Role dshrc · 0.1.0 (npm) · This package — daemon, phone PWA, terminal and glasses clients deepseek-acp · 0.8.0 (verified) · The ACP adapter over DeepSeek Harness; dshrc spawns it over stdio DeepSeek Harness (dsh) · upstream · The coding agent being driven Node.js · 20–24 · Runtime
macOS, and Windows (Node 22 and 24) — see the badges above.
backend (docs/captures/), and the README screenshots are generated from a live deepseek-acp session.
dshrc doctor re-checks a live install — agent, ACP, approvals — on your machine.Remote control of a coding agent is remote code execution. Pair devices, prefer Tailscale or relay over open LAN — approvals need no extra configuration; the sandbox always asks. See SECURITY.md.
deepseek-acp — the ACP adapter dshrc spawns.ThatCrispyToast/g2-claude-remote.
@software{dshrc,
title = {dshrc: Remote control for DeepSeek Harness},
author = {Alluru, Sandeep Varma},
url = {https://github.com/sandeep-alluru/deepseek-harness-rc},
year = {2026}
}MIT.