面向 Ghostty 终端的网页版可视化配置生成器,可导出精简的配置文件。
coder/ghostty-web
基于 Ghostty WASM 解析器、兼容 xterm.js API 的浏览器终端模拟库。
- Star
- 2,980
- Fork
- 186
- 未关闭 Issue
- 69
- 最近提交
- 4天前
这是什么?
ghostty-web 将 Ghostty 的终端模拟器引入浏览器,以 npm 包的形式提供。解析器由 Ghostty 自身源码编译为 WebAssembly,与原生 Ghostty 应用使用的是同一套 VT100 实现,而不是用 JavaScript 重新实现。
该库力求与 xterm.js 的 API 保持兼容,现有项目只需把导入从 `@xterm/xterm` 改为 `ghostty-web` 即可迁移。它没有运行时依赖,WASM 包约 400KB。项目对 Devanagari、阿拉伯文等复杂文字的渲染处理更好,并支持 xterm.js 尚未实现的 XTPUSHSGR/XTPOPSGR 序列。
项目最初为并行智能体开发桌面应用 Mux 而创建,同时也设计为可通用。npx 演示会在回环地址上启动一个带有单次运行令牌保护的本地 shell。
核心功能
- 01解析器由 Ghostty 源码编译为 WebAssembly
- 02兼容 xterm.js API,便于迁移
- 03无运行时依赖,WASM 包约 400KB
- 04对 Devanagari、阿拉伯文等复杂文字正确处理字形簇
- 05支持 XTPUSHSGR/XTPOPSGR 转义序列
适用场景
- 替换网页终端或 IDE 面板中的 xterm.js
- 构建通过 WebSocket 连接服务端的浏览器 shell
- 在基于 Web 技术的桌面应用中嵌入终端
- 渲染包含复杂非拉丁文字的终端输出
快速上手
- 1
安装软件包
npm install ghostty-web - 2
导入并初始化,然后在页面元素中打开终端(参见用法)
- 3
或者在本地试用演示
npx @ghostty-web/demo@next
使用前须知
- 从源码构建需要 Zig 和 Bun。
- 演示会启动真实的本地 shell,因此请勿将其暴露到远程。
标签
常见问题
- ghostty-web 是什么?
- 基于 Ghostty WASM 解析器、兼容 xterm.js API 的浏览器终端模拟库。 ghostty-web 将 Ghostty 的终端模拟器引入浏览器,以 npm 包的形式提供。解析器由 Ghostty 自身源码编译为 WebAssembly,与原生 Ghostty 应用使用的是同一套 VT100 实现,而不是用 JavaScript 重新实现。
- ghostty-web 可以免费使用吗?用的什么许可证?
- ghostty-web 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
- ghostty-web 还在维护吗?
- 活跃维护中。ghostty-web 最近一次提交是在 2026年10月15日。
- ghostty-web 适合用来做什么?
- 替换网页终端或 IDE 面板中的 xterm.js 构建通过 WebSocket 连接服务端的浏览器 shell 在基于 Web 技术的桌面应用中嵌入终端 渲染包含复杂非拉丁文字的终端输出
- ghostty-web 怎么安装和运行?
- 安装软件包: npm install ghostty-web 导入并初始化,然后在页面元素中打开终端(参见用法) 或者在本地试用演示: npx @ghostty-web/demo@next
- 在哪里获取 ghostty-web?
- 源代码和安装说明在 GitHub 上:https://github.com/coder/ghostty-web
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
430484TypeScriptApache-2.0更新于 3天前
一款开源的 AI 编程代理,可在终端运行,并提供桌面应用与内置的构建、规划两类代理。
21.7万2.9万TypeScriptMIT更新于 12小时前
Anthropic 推出的智能体编程工具,在终端中运行,可读取代码库,并通过自然语言完成编码任务和 git 工作流。
15.2万2.7万TypeScript无许可证更新于 24小时前
终端编程智能体,内置 LSP、调试器、浏览器和子智能体,支持 60 多家模型服务商。
3.6万3957TypeScriptMIT更新于 5小时前
基于 libghostty 的 macOS 原生终端,提供垂直标签页、AI 编程代理通知和可编程 CLI,适合并行运行多个编程代理。
2.8万2542SwiftOther更新于 5小时前