lijian-ui/dsh-term: DSH 侧边栏式本地终端

前言

在 DSH Web GUI 的开发与调试场景中,通常需要直接访问宿主机的 Shell 环境。普通的命令行工具或简单的执行器无法满足交互式调试的需求。dsh-term 插件通过在 DSH 界面中嵌入一个真实的终端面板,解决了这一痛点,让用户可以在浏览器中直接操作本地 Shell。

插件介绍

lijian-ui/dsh-term 是一个为 DSH Web GUI 设计的本地终端插件。它利用 node-pty 提供真实的伪终端(PTY)会话,而非仅仅运行预设的命令。插件通过 xterm.js 实现了多标签页的 UI 渲染,并采用了热插拔的架构设计,无需修改 DSH 源码即可集成。

核心功能

  • 真实 PTY 会话:使用 node-pty 库建立本地 Shell,确保交互的真实性。
  • 多标签终端面板:基于 xterm.js 构建,支持在同一个面板内打开多个终端标签。
  • 布局集成:终端面板作为右侧的一列停靠,与文件管理器面板并列,保持界面的一致性。
  • 工作区 CWD:每个新会话默认在当前工作区的根目录下启动。
  • 热插拔支持:作为配置包(Profile Bundle)加载,安装和使用过程对宿主 DSH 无侵入。

安装与启用

通过 DSH 命令行工具安装:

dsh plugin add @lijian-ui/dsh-term

也可以手动编辑配置文件,将 @lijian-ui/dsh-term 添加到 profile 的 bundles 或 dependencies 中,并在 cordis.yml 中引用。

典型用法

插件默认安装后处于折叠(关闭)状态。启用时,请点击右侧面板启动器中的“终端”按钮。终端面板会自动停靠在文件管理器面板的右侧,成为最右侧的一列。

注意事项

  • 当前版本限制:目前为 A 版本,仅支持本地用户终端。B 版本 计划增加 SSH 连接和会话级 Shell 选择功能。
  • 会话管理:会话由宿主机服务管理,该服务通过仅限本地回环的 HTTP 路由和 SSE(Server-Sent Events)接口暴露给前端,前端通过 xterm.js 进行渲染和交互同步。
  • 权限要求:由于提供真实的本地 Shell,该插件运行在宿主机进程的权限上下文中。

生态链接

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

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

小夜