Evidence snapshot reviewed Sep 9, 2026GitHub checked Aug 21, 2026
Evidence-verifiedPlugin BundleInterface & ExperienceDeepseek Harness Profile

dshline

A native terminal frontend for DeepSeek Harness plugins and agent sessions.

At a glance

What it does

A native terminal frontend for DeepSeek Harness plugins and agent sessions.

Use cases
Interface & ExperienceTerminal UiPlugin ManagementSession Management
Works with
Deepseek HarnessNodejs
Compatibility

Deepseek Harness Profile
DeepSeek Harness peer packages: 0.1.5-alpha.1; Cordis: ^4.0.2

Trust & status

Evidence-verified
Checked Sep 9, 2026, 2:26 PM UTC

Code-evidenced contributions

What it adds to DSH

Terminal UIdshline terminal frontend

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.
Data handling
  • 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.
Credentials
  • 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.

Visit the source project

Maintainer source

Project README

View at commit 7d36318
Maintainer-authored contentCaptured from README.md on Sep 9, 2026. The text and repository-relative media are fixed to commit 7d36318c47ca with content hash cf9c5331f2d4; provider-hosted badges may update independently. README commands are upstream documentation; the DSHub copy action above is the verified, version-pinned install.
<p align="center"> <img src=".github/assets/dshline-hero.svg" alt="dshline: a terminal-native frontend for DeepSeek Harness. Harness plugins flow through capability contracts into native terminal UI." /> </p>

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

npm CI OpenSSF Scorecard license

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; @path remains 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
Verify
dsh plugin --profile deepseek-harness list

Compatibility 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

Permissions

Tool permissions and sandbox behavior are controlled by the active Harness profile; ordinary tool calls may not receive per-call review.

Evidence
Lifecycle Script

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

AI reviewed

Use the pinned source link to inspect the bundle patch and manifest before installation.

AI reviewed Sep 9, 2026, 2:27 PM UTCGitHub facts last checked Sep 9, 2026, 2:27 PM UTC

No material source change has been recorded since this evidence baseline.

Next step

Follow the Plugin installation workflow

Subscribe to material changes for dshline