soolaugust/deepseek-harness-cli 预览 preview

soolaugust/deepseek-harness-cli

Interactive terminal agent (fork of DeepSeek Harness): Claude Code-style REPL — full-screen UI, markdown rendering, session stats, permission cycling, custom OpenAI-compatible providers.

项目介绍Project Overview

dsh cli 是 DeepSeek Harness 的终端交互代理插件,提供类 Claude Code 的全屏终端体验:流式 Markdown 渲染、工具卡折叠、会话统计栏与权限徽章,支持跨会话历史导航、会话恢复以及 OpenAI 兼容的自定义 provider 切换。适用于在命令行中完成编码任务、调试与多轮对话。需要 Node.js ≥ 22,且上游多 profile 架构与 Web UI 不在仓库内。

dsh cli is an interactive terminal agent plugin forked from DeepSeek Harness, delivering a Claude Code-style full-screen terminal experience with streaming Markdown rendering, collapsible tool cards, session stats, and a permission badge. It supports cross-session history navigation, session resume, and any OpenAI-compatible custom provider. Use it for coding, debugging, and multi-turn chat in the CLI. Requires Node.js ≥ 22, and the upstream multi-profile architecture and Web UI are not included.

或使用命令行安装(适合开发者)Or use CLI install (for developers)

命令行安装CLI Install

dsh plugin --profile web add github:soolaugust/deepseek-harness-cli

soolaugust/deepseek-harness-cli 加入你的 DSH 配置(web profile)即可启用。

READMEREADME

dsh cli — interactive terminal agent

English | 中文

dsh cli is an interactive terminal agent, forked from DeepSeek Harness with a CLI focus: a Claude Code-style coding experience in your terminal — full-screen UI, streaming output, tool cards, session history, and permission controls, with no browser needed.

Under the hood it is DeepSeek Harness's plugin architecture (everything is a plugin), but this repository only cares about and polishes the single dsh cli interaction path.

Features

  • Claude Code-style interaction: full-screen alternate screen, input bar pinned to the bottom, up/down arrow history navigation (including cross-session persistent history)
  • Markdown terminal rendering: bold, italic, code, lists, and headings rendered with terminal styles
  • Tool card folding: adjacent tool calls merge into one line, expand with Ctrl+O
  • Session stats bar: turns/steps, LLM time, first-token latency, throughput, cache hit rate, input/output tokens
  • Permission badge: Shift+Tab cycles read-only → workspace-write → danger-full-access, with danger-full-access shown as "bypass permissions"
  • Custom provider: point to any OpenAI-compatible endpoint (e.g. mify), with both model routing and web_search configurable
  • Session resume: reopening dsh cli continues the last session, switch with /session
  • Hot-reload development: pnpm dsh:dev (node --watch) auto-restarts on source changes

Demo

dsh cli interactive terminal

Quick start

Requires Node.js ≥ 22.

# from source
git clone https://github.com/soolaugust/deepseek-harness-cli.git
cd deepseek-harness-cli
pnpm install
pnpm run build
pnpm dsh cli

From npm:

npx @deepseek-ai/dsh cli

The first launch creates/resumes a session; type text and press Enter to send, and model output renders streaming above the input bar.

Usage

Action Effect
Type text + Enter Send to the agent
/ History navigation (cross-session persistent)
Shift+Tab Cycle permission preset
Ctrl+O Expand/collapse tool group
Ctrl+C Cancel current turn while running; quit at the prompt
/exit /help /clear /session /model /permission Slash commands

Full instructions in the CLI guide.

Configuring a custom provider

Point ~/.dsh/settings.yaml at any OpenAI-compatible endpoint (e.g. mify, OpenRouter); both model routing and web_search are configurable. See CLI guide · Using a custom model provider.

Development

pnpm dsh:dev          # auto-restart on source changes (hot-reload development)
pnpm run test         # unit tests
pnpm run typecheck    # type checks

Inherited from DeepSeek Harness

This repository is a fork of DeepSeek Harness focused on its dsh cli interactive terminal capability. The full multi-profile architecture, Web UI, SDK, and more remain in the upstream repository.

License

MIT

上一个 Prev dsh-voice-funasr 下一个 Next niulai-pet