@askdkc/dsh-cli

中文文档
0.14.18发布于 2026/11/01MITTypeScriptES Module近 30 天下载 8221

Interactive terminal interface for DeepSeek Harness agents, sessions and tools.

原始使用文档
文档目录9 节
  1. Run without Kiokuko for one launch
  2. Preview
  3. Highlights
  4. Quick Start
  5. Optional Kiokuko Lisp mode
  6. Use
  7. Documentation
  8. Acknowledgments
  9. License

dsh-cli animated whale logo

English | 简体中文 | 日本語

CI MIT License Public beta GitHub stars

dsh-cli

An interactive terminal UI plugin for DeepSeek Harness.

This is dkc's independently developed fork of dsh-TUI by chimney.

Run without Kiokuko for one launch

dsh-cli --ignore-kiokuko
dsh-cli --ignore-kiokuko --resume <session-id>

dsh-cli works independently; Kiokuko is optional. --ignore-kiokuko prevents kiokuko-dsh and its subpath plugins (including model integration) from loading for this launch, before their imports, services, tools or hooks run. It omits Kiokuko's bundle effects while preserving explicit profile, home and --patch overrides and other plugins. Kiokuko-provided providers/tools are unavailable. Existing session history remains; resuming does not re-enable the plugin.

The option does not uninstall anything or save an opt-out setting. Temporary composition files are removed after use; the next launch without the flag uses the ordinary profile again. It is a startup option, not an unload command for an already-running session. --dump-config shows the effective startup tree; schema/default-only dumps and profile replacement cannot be combined with this option. If the host cannot safely compose the exclusion, startup fails with a diagnostic rather than silently loading Kiokuko. Normal host startup housekeeping and explicit in-session settings edits still follow the host's normal behavior.

Preview

Recorded dsh-cli session with an animated pixel whale.

Highlights

  • Streaming Markdown, tool cards, images, Mermaid diagrams, and keyboard completion.
  • A pixel whale, live work status, context bar, TPS gauge, and clickable timeline.
  • Session management with resume, fork, rewind, background work, and export.
  • DSH presets, skills, MCP, goals, subagents, provider authentication, and extensions.
  • Authentication for OpenAI, Claude, OpenCode, OpenRouter, Hermes Agent, and Infron.
  • Virtualized rendering and bounded caches for long sessions.
  • Optional scoped code analysis through the separate LSP provider; see code-analysis setup and current acceptance limits.
  • Optional Common Lisp mode through the separate kiokuko-dsh plugin, which must be installed in the same profile; see Kiokuko Lisp setup.

Quick Start

Requires Node.js >=22.19.0, pnpm 11, a DeepSeek Harness source checkout with dependencies installed, and DEEPSEEK_API_KEY. We aim to support current DSH APIs. Compatibility is checked against installed packages and the upstream default branch, without a release allowlist; see ADAPTER.md.

Clone recursively to fetch submodules. In an existing checkout, run git submodule update --init --recursive before installation.

git clone --recurse-submodules https://github.com/askdkc/dsh-cli.git
cd dsh-cli
pnpm install --frozen-lockfile
pnpm build
node scripts/with-publish-manifest.mjs npm pack --ignore-scripts
TARBALL="$PWD/askdkc-dsh-cli-$(node -p "require('./package.json').version").tgz"

cd ~/DIR/TO/deepseek-harness
pnpm dsh plugin --profile dsh-cli add "@askdkc/dsh-cli@file:${TARBALL}"
pnpm dsh --profile dsh-cli

Replace ~/DIR/TO/deepseek-harness with your checkout path. The first interactive launch registers dsh-cli; open a new shell, then run it from your project directory. The managed command saves the built Harness checkout path, so a separate global DSH installation is unnecessary. Harness plugin add refreshes an existing managed command during updates; no manual registration is needed. An explicit DSH_CLI_DSH_ROOT overrides the saved path. To update this fork, rebuild and reinstall the tarball. /update uses the registry.

Use the named @askdkc/dsh-cli@file:... form for local tarball updates. A bare tarball path can fail with ENOENT when pnpm resolves a previous file: dependency whose archive has been deleted. TARBALL holds the archive's absolute path; pass it to the install command instead of executing it.

For PATH setup and install issues, see Getting started.

Optional Kiokuko Lisp mode

Lisp mode is provided by the separate kiokuko-dsh plugin. dsh-cli supplies the terminal prompt and /kioku-lisp command handling, but the plugin must be installed in the same DSH profile:

cd ~/DIR/TO/deepseek-harness
pnpm dsh plugin --profile dsh-cli add kiokuko-dsh

Enable Lisp in the profile's cordis.patch.yml (by default ~/.dsh/profiles/dsh-cli/cordis.patch.yml), then restart dsh-cli:

- id: kiokuko-dsh
  config:
    enabled: true
    lisp:
      enabled: true
      sbclPath: sbcl

A working SBCL is required; Linux also needs Bubblewrap with user, PID, and network namespaces. Profiles are isolated, so adding the plugin to another profile, such as web, does not enable Lisp mode in dsh-cli. Without the plugin, /kioku-lisp is unavailable and no Lisp-mode choice appears. With the plugin enabled, startup waits for it, and activation that exceeds 30 seconds stops startup with a diagnostic.

After restart, /kioku-lisp status reports whether Lisp is available. A coding request can then offer the Lisp choice, or /kioku-lisp enable turns it on for the session. See Getting started for consent, managed operations, and command timing.

Use

Enter sends, Tab completes, Ctrl+Enter interrupts and sends, and double Esc rewinds. Press ? for shortcuts.

The working-status line follows each accepted request in English, Japanese, or Chinese. Ambiguous short requests keep that session's previous progress language; /lang controls the rest of the interface separately.

/resume opens the session manager; /auth connects providers and /model selects a model. /bg keeps a session running until the TUI exits. See Interaction and commands for the full reference.

/model opens a centered picker with Favorites, Recent, and provider sections. /model seek deep opens it with an order-independent search; an exact /model provider/model-id switches directly. In the picker, use Ctrl+F to toggle a favorite, Ctrl+A to connect a provider, and Esc to close.

To import Claude Code, Codex, OMP, zcode, or Grok Build conversations, run dsh-cli migrate to see available histories, then dsh-cli migrate <agent> [--dry-run]. Tool traffic is not imported. See Session migration.

Documentation

Acknowledgments

The pixel whale's 22 hand-drawn frames and idle animations come from dsh-ui-whale by @lhh010 (BSD-3-Clause). Thank you for the art and inspiration 🐋💜

Community projects and companion tools: Friends' links.

License

MIT. The original copyright notice for chimney is retained; dkc's copyright notice covers the fork's independent development.

版本与发布记录

@askdkc/dsh-cli 共发布 34 个版本,首次发布于 2026/09/27;过去 12 个月发布了 34 个版本。

版本发布日期距今
0.14.18latest2026/11/016 天前
0.14.172026/10/317 天前
0.14.162026/10/317 天前
0.14.152026/10/299 天前
0.14.142026/10/299 天前
0.14.132026/10/299 天前

关于 @askdkc/dsh-cli 的常见问题

@askdkc/dsh-cli 是什么?

Interactive terminal interface for DeepSeek Harness agents, sessions and tools.

如何安装 @askdkc/dsh-cli?

在项目目录运行 npm install @askdkc/dsh-cli,或使用 pnpm add / yarn add / bun add。它还提供命令行工具 dsh-cli,可以用 npx dsh-cli 直接运行。

@askdkc/dsh-cli 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@askdkc/dsh-cli 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@askdkc/dsh-cli 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=22.19.0。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@askdkc/dsh-cli 可以商用吗?

@askdkc/dsh-cli 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@askdkc/dsh-cli 的下载量有多少?

根据 npm 官方下载统计,@askdkc/dsh-cli 在 2026/10/07 – 2026/11/05 这 30 天内被下载 8,221 次,日均约 274 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@askdkc/dsh-cli 还在维护吗?

最新版本 0.14.18 发布于 2026/11/01(6 天前);至今共发布 34 个版本,其中过去 12 个月发布了 34 个;首次发布于 2026/09/27。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。