xtermjs/xterm.js
一个用于浏览器的前端终端组件,让网页应用可以嵌入功能完整的终端。
- Star
- 21,287
- Fork
- 2,021
- 未关闭 Issue
- 322
- 最近提交
- 9天前
这是什么?
Xterm.js 是一个前端组件,可以让网页应用在浏览器中向用户提供功能完整的终端。VS Code 及其衍生版本、Tabby、Hyper 等项目都在使用它。核心库通过 npm 以 @xterm/xterm 安装,没有额外依赖。
它本身不是可以直接使用的终端程序,也不是 shell。它负责渲染输出并转发键盘输入,通常通过 node-pty 等伪终端接口与后端进程相连。bash、vim、tmux 等终端程序以及基于 curses 的应用都能正常运行,并支持鼠标事件。同时支持中日韩字符、emoji 和输入法,可选启用基于 WebGL 的 GPU 加速渲染器。
项目提供了一组官方插件,涵盖自适应容器尺寸、搜索、网页链接识别、图片显示、剪贴板访问、连字和序列化等功能。另有 @xterm/headless 无界面版本,可在 Node.js 中跟踪终端状态。
核心功能
- 01可运行 bash、vim、tmux 等终端程序,并支持鼠标事件。
- 02支持中日韩字符、emoji 和输入法。
- 03可选的 WebGL GPU 加速渲染器。
- 04核心库无依赖,以 npm 包形式发布。
- 05提供搜索、网页链接、自适应尺寸、图片显示等官方插件。
适用场景
- 为在线 IDE 或云端开发环境添加网页终端。
- 基于 websocket 构建浏览器端 SSH 或远程 shell 客户端。
- 在管理后台中以终端渲染方式展示容器或构建日志。
- 在 Node.js 中运行无界面终端,用于保存和恢复会话状态。
快速上手
- 1
从 npm 安装模块
npm install --save @xterm/xterm - 2
在代码中导入 Terminal
import { Terminal } from '@xterm/xterm'; - 3
创建终端、挂载到元素上并写入内容
- 4
在页面中引入 xterm.css 样式表
使用前须知
- 它是浏览器端前端组件,而不是可直接下载使用的独立终端应用。
- 需要连接到 node-pty 等后端伪终端才能运行 bash 等命令。
标签
常见问题
- xterm.js 是什么?
- 一个用于浏览器的前端终端组件,让网页应用可以嵌入功能完整的终端。 Xterm.js 是一个前端组件,可以让网页应用在浏览器中向用户提供功能完整的终端。VS Code 及其衍生版本、Tabby、Hyper 等项目都在使用它。核心库通过 npm 以 @xterm/xterm 安装,没有额外依赖。
- xterm.js 可以免费使用吗?用的什么许可证?
- xterm.js 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
- xterm.js 还在维护吗?
- 活跃维护中。xterm.js 最近一次提交是在 2026年10月13日。
- xterm.js 适合用来做什么?
- 为在线 IDE 或云端开发环境添加网页终端。 基于 websocket 构建浏览器端 SSH 或远程 shell 客户端。 在管理后台中以终端渲染方式展示容器或构建日志。 在 Node.js 中运行无界面终端,用于保存和恢复会话状态。
- xterm.js 怎么安装和运行?
- 从 npm 安装模块: npm install --save @xterm/xterm 在代码中导入 Terminal: import { Terminal } from '@xterm/xterm'; 创建终端、挂载到元素上并写入内容 在页面中引入 xterm.css 样式表
- 在哪里获取 xterm.js?
- 源代码和安装说明在 GitHub 上:https://github.com/xtermjs/xterm.js
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
一个命令行工具,让 AI 智能体能够操作 REPL、调试器和 TUI 等需要键盘交互的终端程序。
27025TypeScriptMIT更新于 6个月前
现代化的 Windows 终端应用(支持标签页和 Unicode),同时包含经典 Windows 控制台宿主 conhost.exe 的源码。
10.5万9667C++MIT更新于 昨天
一个快速、可扩展的 Python 与命令行进度条库。
3.1万4084PythonOther更新于 16天前
面向 NVIDIA GPU 的交互式终端监控工具,可查看设备与进程状态,并附带 CUDA 设备选择工具和 Python API。
7223251PythonApache-2.0更新于 5天前