At a glance
What it does
A native terminal frontend for DeepSeek Harness plugins and agent sessions.
Deepseek Harness Profile
DeepSeek Harness peer packages: 0.1.5-alpha.1; Cordis: ^4.0.2
Evidence-verified
Checked Sep 9, 2026, 2:26 PM UTC
Code-evidenced contributions
What it adds to DSH
Adds a native terminal interface for DeepSeek Harness capabilities, including sessions, models, providers, profiles, plugins, work, themes, and image staging.
Mechanism evidence ↗Before you choose it
dshline is an npm-delivered DeepSeek Harness bundle that presents Harness capabilities in a bounded live terminal UI while leaving completed output in normal terminal scrollback. Its documented commands cover sessions, worktrees, jobs and subagents, provider connection, model selection, agent presets, profiles and bundles, todos, themes, and image staging.
Best for
Developers already using DeepSeek Harness who want an interactive terminal surface instead of a separate web interface.
Common tasks
- Start and resume Harness sessions from a terminal.
- Browse worktrees, workflows, jobs, and subagents with /work.
- Configure available providers through /connect and switch registered models with /model.
- Browse or customize agent preset composition with /plugins, and manage Harness profiles and bundles with /profiles.
Permissions and data
dshline relies on the active DeepSeek Harness profile for runtime policy, sandboxing, state, credentials, and persistence.
Permissions- Harness profile tool permissions determine what ordinary tool calls may do.
- The bundle composes Harness authorization support used by /connect.
- Session, credential, settings, and persistence behavior are owned by Harness rather than a separate dshline state store.
- Finished output remains in the terminal's scrollback; only a bounded live region is redrawn.
- Provider sign-in flows shown by /connect depend on credential and authorization services registered by Harness.
Limitations
- Requires Node.js ^22.19 or later in the declared supported ranges and compatible DeepSeek Harness peer packages.
- Provider availability is determined by mounted Harness adapters; dshline does not ship its own provider list or login protocol.
- Its README warns that ordinary tool calls can run without per-call review, depending on the active Harness profile.
- The npm package contents and an actual installation were not audited or executed in the supplied evidence.
What DSHub checked
- The immutable Git source commit, package manifest, and Cordis bundle patch were captured and the bundle structure check passed.
- The manifest declares package version 0.20.0, MIT licensing, Node.js requirements, and a public npm distribution identity.
What DSHub did not check
- Installation, first-run profile creation, command behavior, provider connections, and runtime compatibility were not executed.
- The registry package contents were not audited; only its identity was verified.
Pinned install
Install dshline
This plugin bundle does not have a DSH Plugin install action. Use its source documentation for the delivery method.
Maintainer source
Project README
dshline
English | 中文
The terminal-native frontend for the DeepSeek Harness plugin ecosystem.
An agent in your terminal — not instead of it. Finished output stays in your terminal's own scrollback; only a bounded live region redraws.
Website: dshline.xyz
See it in action
<p align="center"> <img src=".github/assets/dshline-demo.gif" alt="Animated terminal walkthrough of dshline: choosing a model, browsing plugins, and following a subagent task." /> </p>Install
npm install -g @deepseek-ai/dsh @dshline/dshline
dshline
The first run asks once before letting Harness create the dshline profile and install this package into it. See Install for requirements, verification, explicit setup with dshline --setup, and source installs.
[!WARNING] Sandbox and tool permissions are controlled by the active Harness profile; ordinary tool calls may run without per-call review. See Permissions and the sandbox before using dshline on important code.
Why dshline?
Harness plugins publish capabilities; dshline presents supported capabilities natively in the terminal. It runs in-process and consumes Harness contracts rather than creating separate provider runtimes, state stores, or policy.
Harness plugin → standard capability → dshline presentation adapter → native terminal UI
Harness owns capabilities, state, runtime, persistence, and policy. dshline owns terminal presentation.
<p align="center"> <img src=".github/assets/dshline-architecture.svg" alt="Capability flow from DeepSeek Harness plugins through standard capability surfaces and dshline adapters to a native terminal UI with real scrollback." /> </p>Generic capability integration
dshline integrates through standard Harness capabilities instead of provider-specific code. Work consumes ctx.jobs and ctx.subagents; Sessions uses ctx.sessionQuery; /connect uses Harness's model, settings, credentials, and authorization services; /plugins reads and switches the running agent's composition through ctx.agentPresets; /profiles reads the profile roster through Harness's own home-path service and forwards every change to dsh plugin. New providers can therefore flow through existing interfaces without requiring a dedicated dshline implementation.
It ships no provider list and no login protocol: /connect offers whatever the mounted adapters declare configurable and runs whatever flows Harness has registered, so the same providers are reachable from the terminal and from the official web Models page, over one settings document and one credential store.
See Architecture for the capability model and current adapter boundaries.
Native terminal by design
Finished output is committed to real terminal scrollback and never rewritten. Normal scrolling, selection, and copying keep working while dshline redraws only a bounded live region. The Harness-independent renderer stays small, dependency-light, and focused on terminal correctness: widths, Unicode, escaping, keys, and safe redraws.
See Design for the terminal invariants and Comparison for the trade-offs.
Use dshline
Type / to discover the commands and capabilities available in the active Harness profile.
/new— start a fresh session in the current workspace; the previous one is reopenable when the active Harness profile provides session persistence/clear— wipe the screen and start a fresh session in the current workspace, like/new; the previous one is reopenable when the active Harness profile provides session persistence/image <path>— stage a PNG, JPEG, WebP, or GIF as a real Harness image for the next prompt;@pathremains a textual reference/sessions— browse and resume Harness sessions/worktrees— choose a working directory represented in your Harness session history, then a conversation there or a new one/work— inspect workflows, subagents, and jobs/connect— configure providers through Harness/plugins— browse, search, and customize the running agent's Harness preset composition/profiles— browse Harness profiles and the bundles each one composes; install, update, or remove one/todos— inspect projected Todo state/model— switch registered models/theme— choose the colour palette this window draws with
Usage covers keys, sessions, commands, and permission guidance.
Contributing
Contributions are welcome, especially generic capability adapters, terminal robustness, cross-platform verification, Unicode/CJK correctness, sessions, attachments, and focused UX improvements. Start with CONTRIBUTING.md, then read AGENTS.md and the canonical Roadmap.
Documentation
License
MIT. Not affiliated with or endorsed by DeepSeek.
Operate deliberately
Install and manage
Prerequisites and target Profile
Target: Deepseek Harness Profile
Delivery: Dsh Bundle Git — riesbri/dshline#7d36318c47cafd65bb5b26772107d9375c418d81。
Verify, update, and remove
Show lifecycle commands
dsh plugin --profile deepseek-harness listCompatibility and access
Requires Node.js ^22.19 or >=24 and DeepSeek Harness peer packages: DeepSeek Harness peer packages: 0.1.5-alpha.1; Cordis: ^4.0.2。
Review compatibility evidence ↗
Risk facts
Tool permissions and sandbox behavior are controlled by the active Harness profile; ordinary tool calls may not receive per-call review.
Evidence ↗The package declares a prepare lifecycle script that runs TypeScript compilation.
Evidence ↗Evidence and editorial reviewManifest, Bundle patch, distribution and freshness
Immutable evidence
Review status and source activity
Use the pinned source link to inspect the bundle patch and manifest before installation.
AI reviewed Sep 9, 2026, 2:27 PM UTC。GitHub facts last checked Sep 9, 2026, 2:27 PM UTC。
No material source change has been recorded since this evidence baseline.