Back to home@riesbri

dshline

A terminal interface for DeepSeek Harness: an in-process Cordis bundle with a zero-dependency renderer

Stars
0
Language
TypeScript
Created
Aug 17, 2026
Updated
Aug 23, 2026
GitHub repo

Introduction

dshline: a terminal-native frontend for DeepSeek Harness. Harness plugins flow through capability contracts into native terminal UI.

dshline

The terminal-native frontend for the DeepSeek Harness plugin ecosystem.

npm CI OpenSSF Scorecard license

Install

dsh plugin --profile dshline add dshline
dsh --profile dshline

See Install for requirements, verification, the dshline launcher, 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.

Capability flow from DeepSeek Harness plugins through standard capability surfaces and dshline adapters to a native terminal UI with real scrollback.

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. 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.

  • /sessions — browse and resume Harness sessions
  • /work — inspect jobs and subagents
  • /connect — configure providers through Harness
  • /todos — inspect projected Todo state
  • /model — switch registered models

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.