Slash commands with pickers
/model , /permission , /mcp add and /skill open pickers over what is actually mounted, so you pick a name instead of guessing one.
A Claude Code-style terminal UI for DeepSeek Harness. One Cordis bundle that mounts on dsh-base and replaces the default web UI with a full-screen Ink REPL — same agent, same tools, same model.
Runs in the terminal’s alternate screen, like vim or htop — your scrollback comes back when you leave.
╭──────────────────────────────────────────────────────────────────────────╮ │ │ │ ██ ██ ███ ████ ████ ███ ████ ████ ████ █ █ │ │ ▄▄▄▄▄▄ ▀█▄▄█▀ █ █ █ █ █ █ █ █ █ █ █ │ │ ▄██████████▄▄ ▄▄███▀ █ █ ███ ███ ███ ████ ███ ███ ██ │ │ ████ ████ ███████████ █ █ █ █ █ █ █ █ █ █ │ │ ███████████████████████ ███ ████ ████ █ ████ ████ ████ █ █ │ │ ▀█████████████████████▀ █ █ ██ ███ █ █ ████ ████ ████ │ │ █████████████████████ █ █ █ █ █ █ ██ █ █ █ █ │ │ ▀███████████████▀ ████ ████ ███ █ ██ ███ ████ ████ │ │ █ █ █ █ █ █ █ █ █ █ █ │ │ 探索未至之境! █ █ █ █ █ █ █ █ ████ ████ ████ │ │ │ │ tui-01e62198 · v0.1.0-rc.7 deepseek-official/deepseek-v4-flash │ │ ~/Desktop/dsh-tui (main*) Tip: /help · /status · Tab completes │ ╰──────────────────────────────────────────────────────────────────────────╯
/model , /permission , /mcp add and /skill open pickers over what is actually mounted, so you pick a name instead of guessing one.
!git status runs it and shows the output; !! also hands it to the model. !cd moves the working directory and stays moved.
@src/pro + Tab completes the path into your message. Nothing is read behind your back — the model opens the path with its own tools.
Drop an image on the terminal and the path is pulled out of the text and sent as an attachment, with a chip confirming what went.
A tool call that needs you gets a card with its arguments. The answer stays in the transcript, so a resumed session never shows a call that silently never ran.
/skill lists the user-invocable skills your assembly mounted. Tab fills the line, Enter runs it.
/sessions lists what is stored, /resume last goes back to the newest, and /history hide starts the transcript at the new work.
/theme dark|light follows an OSC 11 probe of your terminal, /language en|zh switches the chrome, /keybinds vim adds a normal mode.
/model opens a picker across every mounted provider /mcp add connects one !! also shows it to the model npm install -g @deepseek-ai/dsh the launcher, once per machine
npm i @deepseek-ai/dsh-base@next @qiao-qyn/dsh-tui inside a profile — @next pins dsh-base to the same 0.1.0-rc.x line
dsh plugin --profile tui install && dsh --profile tui register the bundles and launch
~/.dsh/.env once; dsh loads it on every launch.pnpm add, plus pnpm approve-builds once for the native modules.