- Inicio
- Plugins
- Mejoras de UI
- dsh-tui-app
dsh-tui-app
kouyichi/dsh-tui-app
Interactive terminal chat app for dsh: streaming conversation, tool cards, jobs panel, full-text search, trajectory replay, multi-session tabs, and A2A dispatch (Ink-based).
Instalar
dsh plugin --profile web add github:kouyichi/dsh-tui-appREADME
ð dsh-tui-app
DeepSeek Harness çç»ç«¯äž»çé¢ ââ äžæ¡èé²žïŒææ¥å šå®¶
äžäžªåºäº InkïŒReact for CLIïŒClaude Code 忬Ÿææ¯æ ïŒç dsh profile æä»¶ïŒClaude Code 圢æç亀äºåŒç»ç«¯çé¢ïŒDeepSeek åçé²žé±ŒïŒ äžäžªç»ç«¯åæ¶ææ¥ hermes / claude / codex / dsh å䞪 Agentã
âš çé¢é¢è§
âââââââ ââââââââ âââ âââ âââââ ââ
ââââââââ ââââââââ âââ âââ âââââââââââââââââââ ââââ
âââ âââ ââââââââ ââââââââ âââââââââââââââââââââ ââââââââ
âââ âââ ââââââââ ââââââââ âââââââââââââââââââââââââ âââââââââ
ââââââââ ââââââââ âââ âââ ââââââââââââââââââââââââââââââ ââââââââââ
âââââââ ââââââââ âââ âââ âââââââââââââââââââââââââââââââââ ââââââââ
âââââââââââââââââââââââââââââââââ® âââââââââââââââââââââââââââââââââââ ââââââ
â DeepSeek Harness â ââââ ââââââââââââââââââââââââââââââââââ
â model deepseek-v4-flash â ââââ âââââââââââââââ âââââââââââââ
â mode æ åæš¡åŒ â âââââ âââââââââ â ââââââââââ
â session session-41bbb⊠â âââââ âââââââ ââââ âââââââââ
â stats skills 15 · pl 92 â âââââââ âââ â âââââââââââ
â /help · /config · /quit â âââââââââ âââââââââ ââââââââââââ
â°âââââââââââââââââââââââââââââââ⯠ââââââââââââââââââââââââââââââââ
ð¯ 䞺ä»ä¹çšå®
- ð DeepSeek åç鲞鱌åŒå±ïŒfiglet 倧æ é¢ + 宿¹ logo 圢ç¶é²žé±ŒïŒåçè #4D6BFEïŒïŒHermes åŒå¹¶æåžå±
- ð A2A 掟掻ïŒèŸå
¥
@hermes åž®ææ¥âŠ/@codex 修䞪 bugââ äžäžªç»ç«¯ææ¥æ¬æºå šéš AgentïŒç»æå¡çåè¿å - ð 宿¶ç»è®¡ïŒèœ®æ¬¡/æ¥æ°ãLLM æ¶éŽãå·¥å
·æ¶éŽãçŒååœäžçãTPSãtoken æ»éïŒ
/configç©ºæ ŒåŒå ³ - ð åç§æš¡åŒïŒæ å / PTC / æç® / åé ââ äž web 忬Ÿè®Ÿçœ®ïŒ
/mode忢 - ð Markdown æž²æïŒæ é¢ãå衚ãåŒçšã代ç ãç²äœæäœçŽæ¥å¯è§å
- ð å
šææçŽ¢ïŒSQLite FTS 玢åŒå
šéšäŒè¯ïŒ
/searchç§çº§å®äœåå² - ð¬ èœšè¿¹åæŸïŒ
/trajectory鿥åçæ¯äžæ¥æèäžå·¥å ·è°çš - ð å€äŒè¯ TabïŒ
/tab newæ PgUp/PgDn çåæ¢ïŒæ¯äŒè¯ç¬ç«è®°å¿ - ð 宿Žå·¥å ·é¢ïŒåå°ä»»å¡é¢æ¿ãask_user_question æµ®å±ãplan å®¡æ¹æµãgoal ç¶æãæ¶æ¯åéŠ
- âšïž äžæ IMEãvim æš¡åŒãå€è¡èŸå
¥ãåœä»€èæ³ã
@æä»¶è¡¥å šãå岿µè§
ð å¿«éåŒå§
å眮ïŒdsh ⥠0.1.0-rc.6ãNode ⥠22ïŒå« corepack/pnpmïŒã
# 1. 建 profile
mkdir -p ~/.dsh/profiles/tui && cd ~/.dsh/profiles/tui
cat > package.json <<'EOF'
{
"name": "dsh-profile-tui",
"private": true,
"dependencies": {
"dsh-tui-app": "github:kouyichi/dsh-tui-app"
},
"dsh": { "profile": { "bundles": ["@deepseek-ai/dsh-base"] } }
}
EOF
printf 'packages:\n - .\n\nnodeLinker: hoisted\nautoInstallPeers: false\n' > pnpm-workspace.yaml
# 2. è£
äŸèµ
corepack pnpm install
# 3. å profile patchïŒæ³šå
¥æä»¶è¡ + æ²ç®± + æçŽ¢çŽ¢åŒïŒè§ README 宿ŽçïŒ
cat > cordis.patch.yml <<'EOF'
- id: system-prompt
config:
persona: >-
You are a coding agent powered by the {{model}} model. Your working directory is {{cwd}}.
- id: hmr
disabled: true
- id: sandbox-policy
config: { mode: danger-full-access, workspaceRoot: !!js process.cwd() }
- id: approval
config: { policy: never }
- id: web-search-deepseek
config:
apiKeyEnv: DEEPSEEK_API_KEY
baseURL: http://127.0.0.1:8899/anthropic/v1
- insert:
- id: tui-startup
name: 'dsh-tui-app/startup'
- id: session-stats
name: '@deepseek-ai/dsh-session-stats'
- id: agent-presets
name: '@deepseek-ai/dsh-agent-presets'
config: { default: standard }
- id: tui-runner
name: 'dsh-tui-app'
inject: [tuiStartup]
config: { sessionId: !!js ctx.tuiStartup.sessionId }
EOF
# 4. å¯åš
dsh --profile tui
âšïž åœä»€äžå¿«æ·é®
| åœä»€ | äœçš |
|---|---|
/mode | Agent æš¡åŒïŒæ å / PTC / æç® / åé ïŒæ°äŒè¯çæïŒ |
/model | æš¡åéæ©åš + æšçå床ïŒe åæ¢ïŒ |
/config | ç¶ææ ç»è®¡åŒå ³ïŒç©ºæ Œåæ¢ïŒæä¹ åïŒ |
/jobs | åå°ä»»å¡é¢æ¿ïŒç©ºæ Œæ¥å¿ · k åæ¢ïŒ |
/search <è¯> | äŒè¯å šææçŽ¢ïŒFTSïŒ |
/trajectory | äºä»¶èœšè¿¹åæŸ |
/feedback up|down [倿³š] | æ¶æ¯åéŠ |
/tab new | /tab <n> | å€äŒè¯ Tab |
/agents | A2A ç«¯ç¹æ¢æµ |
/goal | ç®æ ç¶æïŒé¶æ®µ/蜮次/åé»åå ïŒ |
@hermes/@claude/@codex/@dsh <ä»»å¡> | A2A 掟掻 |
| å¿«æ·é® | äœçš |
|---|---|
| Shift+Enter | å€è¡èŸå ¥ |
| Esc | vim æš¡åŒ |
| Tab / ââ | åœä»€èæ³éæ© |
| ââïŒæ èæ³æ¶ïŒ | å岿µè§ |
| Ctrl+O | æè/å·¥å ·å¡çæå |
| PgUp/PgDn | 忢äŒè¯ Tab |
| Ctrl+C | äžæ / éåº |
ð æ¶æ
dsh-tui-app (cordis æä»¶, 纯 Node ESM, é¶æå»º)
âââ lib/index.js agent é©±åš + äŒè¯ Tab + èåè·¯ç± + ç»è®¡
âââ lib/runtime/ Ink æèœœ / èªå®ä¹èŸå
¥å±ïŒIME·vim·ç²èŽŽïŒ/ store
âââ lib/channel/ äºä»¶åœäžå + A2A 客æ·ç«¯ïŒ50ms æ¹éæž²æïŒ
âââ lib/components/ splash / æ¶æ¯æµ / å·¥å
·å¡ç / å颿¿ / TabBar
âââ lib/markdown.js 蜻é Markdown æž²æïŒé¶äŸèµïŒ
âââ lib/theme/ åçè paletteïŒå¯äž SGR æ¥æºïŒ
âââ test/ node:test åæµ
æ žå¿ååïŒTUI æ¯èçé¢ ââ agent/äŒè¯/å·¥å
·å
šéšæ¥èª @deepseek-ai/dsh-baseïŒ
agent.ctx.on("session/event") æ¯å¯äžæ°æ®æºïŒäžèœçãäžå€å¶é»èŸã
𧪠åŒå
node --test test/input.test.js test/palette-events.test.js # 21 项念
printf 'äœ å¥œ\n/quit\n' | timeout 60 script -qec "dsh --profile tui" /dev/null # åç
ð 讞å¯
MIT ââ DeepSeek æ å¿åœ DeepSeek ææïŒæ¬é¡¹ç®äžºç¬ç«é宿¹æä»¶ã