dsh-plugin-terminal:在 DSH Web 底部面板中使用真实 PTY 终端

前言

在 DSH 里做开发时,经常会遇到需要查看 shell 输出、执行交互式命令或运行全屏终端程序的情况。如果只需要静态文本,普通输出面板可能已经够用;如果希望保留 ANSI 颜色、光标移动和 256 色输出,就需要一个真实 PTY 终端。dsh-plugin-terminal 就是面向 DSH Web 的这类插件。

下面介绍它的功能、安装方式和需要注意的限制。

这是什么

dsh-plugin-terminal 是一个 DSH Web 插件:在 VS Code 风格的可折叠底部面板中提供真实 PTY 终端。它由 host PTY + WebSocket + xterm.js 组成,插件 owner 是 mervyn-teo,许可证为 MIT

核心功能

  • 提供真实交互式终端,通过 PTY 运行默认 shell:Windows 默认 PowerShell,其他环境默认 $SHELL/bin/bash
  • 使用 xterm.js 渲染 ANSI 颜色、光标移动、全屏应用和 256 色输出。
  • 提供 VS Code 风格可折叠底部面板,包含头部、顶部可拖拽调整高度、重启按钮和折叠开关。
  • 支持 Ctrl + ` 切换面板。
  • 面板尺寸变化时,PTY 会重新流式布局。
  • Settings → Plugins 中提供 Terminal 设置卡片,可配置主题、字体大小、最大高度、不透明度、初始折叠、shell 和工作目录。
  • xterm.js 无法加载时,提供纯流式视图 fallback。

安装与启用

先确认 DSH 已挂载 subprocesswebServer 服务。安装插件后,再重启 dsh web,因为 host bundles 在启动时加载。

dsh plugin --profile web add github:mervyn-teo/dsh-plugin-terminal

典型用法

1、在 DSH Web 中使用 Ctrl + ` 切换终端面板。

2、打开 Settings → Plugins → Terminal,调整主题、字体大小、最大高度、不透明度、初始折叠、shell 和工作目录。

3、主题、不透明度、字体大小、最大高度会立即应用;shell 和工作目录在下次打开终端时应用。

4、Windows 默认使用 powershell.exe。如需 Command Prompt,可设置 shell 为 cmd.exeshellArgs: []

shell: cmd.exe
shellArgs: []

适用场景与注意

适合需要在 DSH Web 中直接操作真实 shell 的 DSH 用户和插件开发者。使用前注意:

  • 插件以当前 dsh 进程权限运行,安装前应检查源码与许可证。
  • 终端会话是 process-local,不会在 harness 重启后保留。
  • WebSocket 路由像 Web GUI 一样绑定 loopback
  • Windows 需要 Windows 构建的 node-ptyconpty/winpty)。
  • 首次渲染 xterm.js 需要访问 jsDelivr CDN;离线时仍可使用纯流式 fallback。

结尾

dsh-plugin-terminal 的价值在于把真实 PTY 终端放进 DSH Web 的底部面板,提供可折叠面板、终端渲染、实时尺寸调整和终端设置卡片。GitHub 仓库:mervyn-teo/dsh-plugin-terminal

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜