DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

askdkc /

askdkc/dsh-cli

Verified

DSH向けCLI Plugin / DSH CLIplugin — supports easy ai provider setup for codex, claude, opencode, openrouter, hermes agent, orcarouter and infron

★ 3 Stars0 Forks0 IssuesN/A Community rating0 Confirmed installs
View on GitHubProject homepage
READMESource: master@29e3b251

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, the CLI waits up to 30 seconds. On timeout it warns and accepts input while the Loader continues starting Kiokuko in the background.

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

  • Getting started · VS Code
  • Interaction · Configuration · Themes
  • Architecture and limitations · All docs
  • Plugin development · Contributing

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.

—/ 5

No ratings yet

Verified DSH bundle

Commit 29e3b2519740

Community comments

No comments yet. Be the first to write one.

DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

CommunityResourcesAPIAbout