Skip to content

dsh-tui

Verified

@qiao-qyn/dsh-tui ยท v0.1.0-rc.8 ยท MIT

The dsh Claude Code-style terminal UI bundle: an interactive Ink-based REPL over dsh-base with no Host, HTTP, or browser layer.

Install

dsh plugin add @qiao-qyn/dsh-tui

Confirm the layer applied with dsh --profile default --dump-config โ€” see the install guide.

Source

Tags

Creators

Readme

@qiao-qyn/dsh-tui

English | ไธญๆ–‡

DeepSeek Harness ็š„ Claude Code ้ฃŽๆ ผ็ปˆ็ซฏ UIใ€‚ไธ€ไธช Cordis bundle๏ผˆtui-runner๏ผ‰๏ผŒ้ช‘ๅœจ dsh-base ไน‹ไธŠ๏ผŒๆŠŠ้ป˜่ฎค็š„ Web UI ๆ›ฟๆขๆˆๅ…จๅฑ Ink REPL โ€”โ€” ๅŒไธ€ไธช Agentใ€ๅŒๆ ท็š„ๅทฅๅ…ทใ€ๅŒๆ ท็š„ๆจกๅž‹๏ผŒๅชๆ˜ฏๆฌๅˆฐไบ†็ปˆ็ซฏ้‡Œใ€‚

โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚                                                                          โ”‚
โ”‚                      โ–ˆโ–ˆ    โ–ˆโ–ˆ   โ–ˆโ–ˆโ–ˆ  โ–ˆโ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆ  โ–ˆโ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆโ–ˆ โ–ˆ  โ–ˆ  โ”‚
โ”‚       โ–„โ–„โ–„โ–„โ–„โ–„         โ–€โ–ˆโ–„โ–„โ–ˆโ–€    โ–ˆ  โ–ˆ โ–ˆ    โ–ˆ    โ–ˆ  โ–ˆ โ–ˆ    โ–ˆ    โ–ˆ    โ–ˆ โ–ˆ   โ”‚
โ”‚    โ–„โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–„โ–„   โ–„โ–„โ–ˆโ–ˆโ–ˆโ–€      โ–ˆ  โ–ˆ โ–ˆโ–ˆโ–ˆ  โ–ˆโ–ˆโ–ˆ  โ–ˆโ–ˆโ–ˆ  โ–ˆโ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆ  โ–ˆโ–ˆโ–ˆ  โ–ˆโ–ˆ    โ”‚
โ”‚   โ–ˆโ–ˆโ–ˆโ–ˆ  โ–ˆโ–ˆโ–ˆโ–ˆ  โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ      โ–ˆ  โ–ˆ โ–ˆ    โ–ˆ    โ–ˆ       โ–ˆ โ–ˆ    โ–ˆ    โ–ˆ โ–ˆ   โ”‚
โ”‚   โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ      โ–ˆโ–ˆโ–ˆ  โ–ˆโ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆโ–ˆ โ–ˆ    โ–ˆโ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆโ–ˆ โ–ˆ  โ–ˆ  โ”‚
โ”‚   โ–€โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–€      โ–ˆ  โ–ˆ  โ–ˆโ–ˆ  โ–ˆโ–ˆโ–ˆ  โ–ˆ  โ–ˆ โ–ˆโ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆโ–ˆ       โ”‚
โ”‚    โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ       โ–ˆ  โ–ˆ โ–ˆ  โ–ˆ โ–ˆ  โ–ˆ โ–ˆโ–ˆ โ–ˆ โ–ˆ    โ–ˆ    โ–ˆ          โ”‚
โ”‚      โ–€โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–€         โ–ˆโ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆ  โ–ˆ โ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆ  โ–ˆโ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆโ–ˆ       โ”‚
โ”‚                                โ–ˆ  โ–ˆ โ–ˆ  โ–ˆ โ–ˆ โ–ˆ  โ–ˆ  โ–ˆ โ–ˆ       โ–ˆ    โ–ˆ       โ”‚
โ”‚        ๆŽข็ดขๆœช่‡ณไน‹ๅขƒ๏ผ           โ–ˆ  โ–ˆ โ–ˆ  โ–ˆ โ–ˆ  โ–ˆ โ–ˆ  โ–ˆ โ–ˆโ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆโ–ˆ       โ”‚
โ”‚                                                                          โ”‚
โ”‚  tui-01e62198 ยท v0.1.0-rc.8       deepseek-official/deepseek-v4-flash   โ”‚
โ”‚  ~/Desktop/dsh-tui (main*)           Tip: /help ยท /status ยท Tab completes โ”‚
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ

โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚ > ้—ฎ dsh ไปปไฝ•ไบ‹โ€ฆ                                                         โ”‚
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ

ๅฎ‰่ฃ…

่ฆๆฑ‚๏ผšNode โ‰ฅ 22.19ใ€ไธ€ไธช็œŸ TTY๏ผˆiTerm / Terminal.app / Windows Terminal + PowerShell 7๏ผ›่€ conhost ็š„ cmd.exe ไธ่กŒ๏ผ‰ใ€ไธ€ไธช DeepSeek API keyใ€‚

ๆœฌๅŒ…ๅœจ npm ไธŠ็š„ๅๅญ—ๆ˜ฏ @qiao-qyn/dsh-tui๏ผˆไธๅœจ @deepseek-ai scope ไธ‹๏ผ‰ใ€‚ๅฎƒๆ˜ฏ dsh ็š„ไธ€ไธช bundle๏ผŒๆ‰€ไปฅๆต็จ‹ๆ˜ฏ๏ผšๅ…ˆๆŠŠ launcher ่ฃ…ไธŠ๏ผŒๅ†ๆŠŠ bundle ๆŒ‚่ฟ›ไธ€ไธช profileใ€‚

# 1. launcher๏ผˆๆฏๅฐๆœบๅ™จไธ€ๆฌก๏ผ‰
npm install -g @deepseek-ai/dsh

# 2. ๅปบไธ€ไธชๆŒ‚ไธŠๆœฌ bundle ็š„ profile
mkdir -p ~/.dsh/profiles/tui && cd ~/.dsh/profiles/tui
npm init -y
# @next ๆŠŠ dsh-base ้’‰ๅˆฐๅ’Œๆœฌ bundle ๅŒไธ€ไปฃ็š„ 0.1.0-rc.x๏ผ›
# latest ๆ ‡็ญพ็›ฎๅ‰่ฟ˜ๆŒ‡ๅ‘ๅทฒๅผƒ็”จ็š„ 0.0.1-rc.1ใ€‚
npm install @deepseek-ai/dsh-base@next @qiao-qyn/dsh-tui
echo '[]' > cordis.yml

# 3. ๆณจๅ†Œ bundleใ€‚`npm install` ๅชๅกซไบ† node_modules๏ผ›launcher ่ฏป็š„ๆ˜ฏ
#    package.json#dsh.profile.bundles๏ผŒ่ฟ™ไธ€ๆญฅๆ‰ๆŠŠๅฎƒๅ†™่ฟ›ๅŽปใ€‚
dsh plugin --profile tui install

# 4. ไธ€ๆฌกๆ€งๅ†™ keyใ€‚dsh ๆฏๆฌกๅฏๅŠจ้ƒฝไผš่ฏป ~/.dsh/.env๏ผŒไน‹ๅŽไธ็”จๅ† exportใ€‚
echo 'DEEPSEEK_API_KEY=sk-...' > ~/.dsh/.env
chmod 600 ~/.dsh/.env

# 5. ๅฏๅŠจ
dsh --profile tui

Windows๏ผˆPowerShell 7 + Windows Terminal๏ผ‰๏ผš

npm install -g @deepseek-ai/dsh
$p = "$env:USERPROFILE\.dsh\profiles\tui"
New-Item -ItemType Directory -Force -Path $p | Out-Null
Set-Location $p
npm init -y
npm install @deepseek-ai/dsh-base@next @qiao-qyn/dsh-tui
Set-Content cordis.yml "[]"
dsh plugin --profile tui install
Set-Content "$env:USERPROFILE\.dsh\.env" "DEEPSEEK_API_KEY=sk-..."
dsh --profile tui

ๆƒณ็”จ pnpm ไนŸ่กŒ๏ผšๅŒๆ ท็š„ๆญฅ้ชคๆขๆˆ pnpm add๏ผŒๅฆๅค–่ฆ่ท‘ไธ€ๆฌก pnpm approve-builds ๏ผˆๅ‹พ้€‰ node-ptyใ€koffiใ€protobufjsใ€dsh-subprocess-local๏ผ‰โ€”โ€” npm ้ป˜่ฎค ๅฐฑๆ‰ง่กŒ่ฟ™ไบ› build ่„šๆœฌใ€‚Windows ไธŠๅฆ‚ๆžœไพ่ต–ๆ ‘่งฆๅ‘ ENAMETOOLONG๏ผŒๆŠŠ profile ่ฃ…ๅˆฐ ็ฆป็›˜็ฌฆๆ นๆ›ด่ฟ‘็š„ไฝ็ฝฎ๏ผˆๆฏ”ๅฆ‚ C:\tui๏ผ‰๏ผŒๆˆ–่€…ๆŠŠ HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem ็š„ LongPathsEnabled ่ฎพไธบ 1ใ€‚

็”จ่ตทๆฅ

ๆ‰“ไธ€ๅฅ่ฏ๏ผŒEnter ๅ‘้€๏ผ›Esc ๅ–ๆถˆๆญฃๅœจ่ท‘็š„่ฟ™ไธ€่ฝฎ๏ผ›/exit ้€€ๅ‡บใ€‚

/help ๅˆ—ๅ‡บๆ‰€ๆœ‰ๆ–œๆ ๅ‘ฝไปค
/status ๅฝ“ๅ‰ๆจกๅž‹ใ€session idใ€็”Ÿๆ•ˆไธญ็š„ๆƒ้™้ข„่ฎพ
/model ๆ˜พ็คบๅฝ“ๅ‰ๆจกๅž‹๏ผ›/model <ๅๅญ—> ๅˆ‡ๆข๏ผŒ/model ๆ‰“ๅผ€้€‰ๆ‹ฉๅ™จ
/clear ๆธ…็ฉบๅฏ่งๅฏน่ฏๅŒบ๏ผˆsession log ไธๅ˜๏ผ‰
/context / /usage ไธŠไธ‹ๆ–‡็ช—ๅฃ๏ผŒไปฅๅŠๆœฌๆฌก session ็š„ token ๅผ€้”€
/mcp ๅทฒ่ฟžๆŽฅ็š„ MCP ๆœๅŠกๅ™จ๏ผ›/mcp addใ€/mcp remove <server>
/permission ้€‰ๆ‹ฉใ€Œๆฒ™็ฎฑ + ๅฎกๆ‰นใ€ๆ‰“ๅŒ…้ข„่ฎพ
/approval ๆŸฅ็œ‹ๆˆ–ๅˆ‡ๆขๅฎกๆ‰น็ญ–็•ฅ๏ผˆask / never๏ผ‰
/skill ๆŒ‘้€‰ๅนถ่ฟ่กŒไธ€ไธชๅฏ่ฐƒ็”จ็š„ skill
/languageใ€/theme en / zh๏ผ›auto / dark / light
/copy ๆŠŠๆœ€ๆ–ฐๅ›žๅคๆ”พ่ฟ›ๅ‰ช่ดดๆฟ๏ผ›/copy code ๅ–ๆœ€ๆ–ฐไปฃ็ ๅ—
/verbose ้•ฟ่พ“ๅ‡บๅคš็œ‹ๅ‡ ่กŒ๏ผˆCtrl-O ๆ˜ฏๅŒไธ€ไธชๅผ€ๅ…ณ๏ผ‰
/keybinds ่พ“ๅ…ฅๆก†้”ฎไฝ๏ผšdefault ๆˆ– vim
/providerใ€/plugins ๅทฒๆŒ‚่ฝฝ็š„ LLM ่ทฏ็”ฑ๏ผ›ๅทฒๅŠ ่ฝฝ็š„ๆ’ไปถ
/sessionsใ€/resume ๅˆ—ๅ‡บๅทฒๅญ˜ session๏ผ›/resume <id> ๆˆ– /resume last
/history ๆ˜พ็คบๆˆ–้š่—ๆŽฅ็ปญ session ๅธฆๆฅ็š„ๅทฒๅญ˜ๅކๅฒ
!ใ€!! ่ท‘ไธ€ๆก็ณป็ปŸๅ‘ฝไปค โ€”โ€” !! ่ฟ˜ไผšๆŠŠๅฎƒ็ป™ๆจกๅž‹็œ‹
/exit, /quit ้€€ๅ‡บ REPL
Tab ่กฅๅ…จ้ซ˜ไบฎ็š„ / ๅ‘ฝไปคๆˆ– @ ่ทฏๅพ„
@ ๆ‰“ๅผ€ๆ–‡ไปถ้€‰ๆ‹ฉๅ™จ
โ†‘ / โ†“ใ€PageUp / PageDownใ€Ctrl-L ๆปšๅŠจๅฏน่ฏ / ๆธ…ๅฑ้‡็”ป
Ctrl-C ๅ–ๆถˆ่ฟ™ไธ€่ฝฎใ€ๆธ…็ฉบ่พ“ๅ…ฅใ€ๆˆ–้€€ๅ‡บ๏ผˆไผšๅ…ˆ้—ฎไธ€ๆฌก๏ผ‰

ๆฏไธชๅ‘ฝไปคใ€ๆŒ‰้”ฎๅ’ŒๅŠŸ่ƒฝ็š„ๅฎŒๆ•ด่ฏดๆ˜Ž โ€”โ€” ! ็ณป็ปŸๅ‘ฝไปคใ€MCP ๆœๅŠกๅ™จใ€ๅ›พ็‰‡ใ€skillใ€hookใ€ ๅฎกๆ‰นใ€session ๆŽฅ็ปญใ€ๅทฒ็Ÿฅ้™ๅˆถ๏ผšdocs/USAGE.mdใ€‚

ๆ›ดๅคšๆ–‡ๆกฃ

  • ้กน็›ฎไธป้กต โ€”โ€” ้•ฟไป€ไนˆๆ ทใ€่ƒฝๅšไป€ไนˆใ€ไธ‰ๆญฅ่ฃ…ๅฅฝ๏ผˆไธญ่‹ฑๅŒ่ฏญ๏ผ‰ใ€‚
  • docs/USAGE.md โ€”โ€” ๅ„ๅŠŸ่ƒฝ่ฏฆ็ป†่ฏดๆ˜Ž๏ผŒไปฅๅŠๅฎŒๆ•ด็š„ๅ‘ฝไปคไธŽๆŒ‰้”ฎ้€ŸๆŸฅ่กจใ€‚
  • docs/DEVELOP.md โ€”โ€” ๆ”นๆบ็ ๏ผšlink ๆจกๅผ profileใ€็ผ–่พ‘ / ้‡ๅปบ / ้‡ๅฏๅพช็Žฏใ€้กน็›ฎ็ป“ๆž„ใ€ๅ‘็‰ˆๆต็จ‹ใ€‚
  • docs/SPEC.md โ€”โ€” ่ฎพ่ฎกๅฅ‘็บฆ๏ผš่ง†่ง‰่ง„ๅˆ™ใ€่ทฏ็บฟๅ›พใ€่ดก็Œฎ่€…็บฆๅฎšใ€‚

License

MIT