dsh-term
开发工具 活跃维护

dsh-term

lijian-ui/dsh-term

作为Web GUI的配套面板式本地终端,开箱即用,无需复杂配置即可在Web界面内直接调用本地终端能力,支持多会话并行管理,操作轻量流畅,适配日常本地开发调试需求。

0
Stars 标星
0
Forks 分支
0
Watchers 关注
0
Open Issues
TypeScript
主要语言
MIT
开源协议
1.2 MB
仓库大小
19 天前
最后推送
一键安装扩展 / 插件指令
dsh plugin --profile web add github:lijian-ui/dsh-term
git clone https://github.com/lijian-ui/dsh-term.git
git clone git@github.com:lijian-ui/dsh-term.git
README.md main

@lijian-ui/dsh-term

Panel-style local terminal for the DSH web GUI.

  • Real PTY sessions via node-pty — a genuine local shell, not a curated command runner.
  • Multi-tab terminal panel built on xterm.js, docked in the right-side panel (alongside @lijian-ui/dsh-file-manager).
  • Workspace cwd — each session starts in the current workspace root.
  • Hot-pluggable — loaded as a profile bundle; no changes to DSH source are required.

This is the A edition: local user terminal only. A planned B edition adds SSH connections and per-session shell selection.

Install

dsh plugin add @lijian-ui/dsh-term

Or add @lijian-ui/dsh-term to your profile's bundles / dependencies and reference it from cordis.yml.

Behavior

  • Default state is collapsed (closed). Open it from the right-side panel launcher (the "终端" button) — it docks as the rightmost column next to the file-manager panel.
  • Sessions are managed by a host-side service (src/host/pty-service.ts) exposed over loopback-only HTTP + SSE routes (src/host/routes.ts). The client renders them with xterm.js and syncs resize/input.

Development

npm install
npm run build      # tsc -b && tsdown -> lib/
npm run watch      # rebuild on change
npm test           # vitest

License

Apache-2.0