by qiz029
A DeepSeek coding agent harness: persistent shell, Ultra subagents, auto approval, Chrome MCP and session telemetry
# Add to your Claude Code skills
git clone https://github.com/qiz029/dscodeGuides for using ai agents skills like dscode.
Last scanned: 9/21/2026
{
"issues": [
{
"file": "README.md",
"line": 77,
"type": "remote-install",
"message": "Install command (remote install script piped to a shell — review the source before running): \"curl -fsSL https://raw.githubusercontent.com/qiz029/dscode/main/install.sh \\| sh\"",
"severity": "low"
}
],
"status": "PASSED",
"scannedAt": "2026-09-21T09:37:45.185Z",
"npmAuditRan": true,
"pipAuditRan": true,
"promptInjectionRan": true
}See how dscode compares with popular alternatives.
dscode is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by qiz029. A DeepSeek coding agent harness: persistent shell, Ultra subagents, auto approval, Chrome MCP and session telemetry. It has 998 GitHub stars.
Yes. dscode passed SkillsLLM's automated security scan — a dependency vulnerability audit plus prompt-injection heuristics — with no high-severity issues. You can read the full report in the Security Report section on this page.
Clone the repository with "git clone https://github.com/qiz029/dscode" and add it to your Claude Code skills directory (see the Installation section above).
dscode is primarily written in JavaScript. It is open-source under qiz029 on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh dscode against similar tools.
No comments yet. Be the first to share your thoughts!
From $49 · 30 days · terms & refunds
⚠️ Third-Party Software Notice
This skill is third-party open-source software developed and hosted independently on GitHub. SkillsLLM is an informational directory and does not control or maintain the underlying repository.
Any security checks, ratings, or warnings displayed by SkillsLLM are automated and limited in scope. They do not constitute a security certification or guarantee that the software is safe, error-free, or free from malicious code, vulnerabilities, compromised dependencies, or prompt-injection risks.
Review the source code, permissions, dependencies, and configuration before installing or running any third-party skill. Use is at your own risk. To the maximum extent permitted by applicable law, SkillsLLM is not liable for losses arising from third-party software.
Automated security scan — not a certification.
Write code in your terminal. Plug scripts into a live session. Hand tasks between agents.

Core features · What's new · Quick start · Commands · Changelog · Docs
DSCODE is a terminal coding agent for macOS and Linux, built on DeepSeek Harness. Dedicated file tools read and edit code with file-version checks; a persistent shell handles searches, builds and tests. The TUI, the CLI and your scripts all share one session runtime instead of each starting their own. It installs as a pinned, reproducible harness—DSH dependencies, TUI and plugins are versioned and verified together.
Most coding agents work alone. DSCODE is built on the opposite assumption: sessions on your machine are visible to each other, so one can hand a task over, another can review the diff, and an independent reviewer decides approvals from your instruction rather than from a rule table.
See it in 60 seconds. Three things most coding agents cannot do, and where to look:
| In one terminal | What it shows |
|---|---|
/btw why is the cache cold on the first turn? |
A side question runs in its own read-only child session and answers in a panel; the exchange never enters the main conversation. |
dscode send <session-id> --steer "review the change in parser.ts and reply" |
Work handed to another session on this machine; it can read your transcript, answer, and hand the result back. |
/permission auto-review · /review-usage |
Approvals decided by an independent reviewer from your instruction, with what it allowed and what it cost. |
The demo guide summarizes DSCODE features, outlines a five-minute Desktop walkthrough, and retains the 90-second terminal shot list and recording commands.
| Feature | What you get |
|---|---|
| Agentic coding loop | Bounded, cached file reads, single-file batch edits and atomic writes with stale-version protection and diff metadata. Persistent Bash saves large captured results for later reads. Project instructions, skills, plan, goal and hooks are wired in. |
| Background host | The terminal and the agent runtime run as separate processes: the first dscode starts a local background host that owns sessions, and each terminal attaches to it. Work survives closing a terminal, several terminals can share a session, and a crashed terminal reattaches. dscode host status/stop manages it; --in-process keeps one process. |
| Remote runtime | Run the runtime on a server with dscode server --port 8080 and the terminal on your machine: dscode config --runtime host:8080 --token … --alias devbox --set-default, then dscode or dscode runtime devbox. For unattended use, dscode server install --port 8080, then dscode server start; manage status and logs with dscode server status/logs. Compatible protocol contracts allow different app versions. Inspect it with dscode runtime status devbox or dscode runtime doctor devbox (both accept --json). Update individual connection fields with dscode config --alias devbox. The footer identifies the remote machine and connection state; network drops reconnect, while token or version failures require correction. Session writes restore after server restart; request IDs protect delivery retries, interrupts target the observed turn, and deletion checks storage ownership. Tools, files and credentials stay on the server. Token-authenticated but unencrypted, so use a VPN, LAN or SSH tunnel. Add --yolo to server or server install for unrestricted file, shell, browser and desktop tool access with automatic approval across all server sessions; OS permissions still apply. Restart without it to restore ordinary policies. |
| Session bridge | Start a task in the TUI, then add requirements, read output or subscribe to progress from another terminal (dscode sessions, send, read, watch). Every source enters the same runtime and context, and readers never take the session write lock. |
| Agent-to-agent tasks | The agent finds, reads and messages other sessions with list_sessions, read_session, send_session and reply_session, choosing queue, steer or defer. A persisted mailbox, retry de-duplication and a finite budget bound message loss, double processing and wake-up loops. |
| Session cards | Each session advertises its project, workspace and the topics of its last five user requests—enough to pick the right collaborator without reading its transcript. Cards describe what the user asked for, not conclusions. |
| Cross-session memory | Reusable experience is extracted in the background and retrieved together with its workspace and source messages. Memory can be disabled per session or globally, and its model usage is tracked separately. |
| Effort and sub-agents | Ultra uses the model's max reasoning and decides how far to investigate, delegate and verify; below Ultra the agent can still delegate, but only when a task clearly warrants it. Parents pick a separate effort per child, and children that edit can work in isolated Git worktrees created from a clean HEAD. |
| Independent review | After a code change passes its relevant checks, the agent sends the Git diff—or, outside a repository, the changes since a snapshot taken when the task began—to a separate read-only model and fixes concrete findings before ending the turn. /review runs the same reviewer by hand, scoped to the staging area, a base branch, a commit or a path. |
| Non-interactive runs | dscode exec "prompt", or git diff | dscode exec "review this", runs a full turn in scripts and CI: the reply streams to stdout, tool activity and the session id go to stderr, and the exit code reflects the turn. --json and --resume are supported. |
| Terminal UX | Six interface languages, select-and-copy text, scrollback through history, visible tool failures and file-change summaries, expandable diffs, an input area pinned to the bottom, a sub-agent overview, and footer TPS / context / cost / cache figures. A bordered welcome card and full-height layout keep input at the bottom from startup. Default themes use aligned prose and restrained colours; Prismatic and Rainbow add decorative animation. The activity line shows the current target and tool time; verbose mode reveals thinking and calls. Cached balances retain currency and distinguish account funds from key limits. |
| Guardrails | A workspace-write sandbox by default and Auto permission review by an independent model, switchable to human approval. Ultra grants no extra permissions and Computer Use keeps human authorisation. |
| Agent email | A local [ToAgent] inbox shared by all sessions: Enter steers a message into the live session as user-selected context, and with Gmail configured the agent can send mail through the same approval flow. |
0.7.54 — Fixes message submission in projects with prompt hooks and IPv6 server readiness checks that could terminate a healthy Host after 90 seconds. See the release notes.
0.7.51 — The terminal moves to Harness 0.2.1-rc.3, adds batched edits, bounded cached reads and saved large Bash output. server --yolo supports unattended operation; Linux gains scoped desktop observation, verified actions, control leases and private server desktops. Wayland stream control remains experimental. See the release notes.
0.7.50 — Remote servers can run as a managed macOS or Linux user service, with authenticated readiness checks and safe pause/resume during updates. Remote status, diagnosis and connection identity are easier to inspect. Session writes recover after a server restart, delivery request IDs prevent duplicate retries, interrupts can target an observed turn, and deletion respects storage ownership. Both ends must use the same protocol revision and pinned Harness version. See the release notes.
0.7.49 — The terminal moves to Harness 0.2.1-rc.2, which DeepSeek recommends for DeepSeek-V4.1-Flash-1017; the Desktop package stays on 0.2.0-rc.2. Child agents now always start in the background and report back when they settle. On OpenRouter and OpenCode Go, deepseek-flash switches to V4.1 Flash instead of the retired V4 Flash. Background memory no longer fails on its own output limit. See the release notes.
0.7.48 — Remote runtime: dscode server --port PORT s