用途:在网页中嵌入终端界面,可连接后端 PTY,也可在浏览器内运行 Bash。
主要能力:Zig/WASM 核心解析 VT100/VT220/xterm;DOM 渲染带来原生选择、复制粘贴、浏览器查找与无障碍;支持 WebSocket PTY、备用屏幕缓冲、24 位色、回滚缓冲和主题。
包结构:@wterm/core 为无头 WASM 桥接与 WebSocket 传输;@wterm/dom 为 DOM 渲染器与输入处理;@wterm/react 提供 React 组件与 useTerminal Hook;@wterm/just-bash 为浏览器内 Bash;@wterm/markdown 在终端渲染 Markdown。
安装:React 用 npm install @wterm/react @wterm/core;原生 JS 用 npm install @wterm/dom @wterm/core;浏览器内 Bash 用 npm install @wterm/just-bash @wterm/core。需将 WASM 复制到公共目录:cp node_modules/@wterm/core/wterm.wasm public/。
用法:React 可直接使用 <Terminal wsUrl=... theme=... />,或用 useTerminal 获取 terminal、connect、disconnect、write、resize;原生 JS 用 createTerminal 并调用 connect、write、resize。可传入 transport 使用 JustBashTransport 实现无后端 Shell。内置主题有 default、solarized-dark、monokai、light,也可通过 CSS 自定义属性定制。
限制:容器需显式宽高;Next.js 中需以 ssr: false 动态加载;WASM 需可访问;WebSocket 后端需自行提供并注意 CORS 与 wss;备用屏幕应用需后端设置 TERM=xterm-256color 并发送二进制帧。开发需 Zig 0.15.2+、Node.js 20+、pnpm 10+。