无需服务器wtermjust-bash让真实Bash在浏览器终端跑起来的完整指南【免费下载链接】wtermA terminal emulator for the web项目地址: https://gitcode.com/gh_mirrors/wterm1/wtermwterm 是一款面向 Web 的终端模拟器A terminal emulator for the web核心由 Zig 编写并编译为约 26 KB 的 WASM 二进制渲染到真实 DOM天然支持文本选中、复制粘贴与无障碍访问。而它的一个特别之处是与 just-bash 搭配后不需要任何后端服务器就能在浏览器里跑起一个可用的 Bash Shell有彩色提示符、有 Tab 补全、有 CtrlR 历史搜索甚至自带一个虚拟文件系统。为什么浏览器里需要 Bash对于以下场景无服务器终端特别实用演示与教学在网页上展示命令交互效果观众点击即可上手无需部署任何后端文档站点wterm 的官方文档首页就内嵌了一个可交互终端访客能直接敲ls、cat试试轻量沙盒给应用内嵌一个看起来像终端的控制台输入被纯前端逻辑接管离线可用shell 完全跑在浏览器内存中不依赖网络默认离线运行它是怎么做到无服务器的整个方案由两层组成组件作用wtermWeb 终端模拟器WASM 核心负责解析 ANSI/转义序列DOM 渲染器负责显示与输入just-bash纯 JavaScript 实现的 Bash 解释器命令在浏览器内存中执行wterm/just-bash适配器把两者接起来提供行编辑、补全、历史等 Shell 体验关键在适配器 BashShell终端就绪后调用attach(write)接管输出之后终端的每次按键通过handleInput(data)交给 just-bash 处理结果直接写回终端——全程没有一个网络请求。最快上手三步接入 React 项目第 1 步安装依赖npm install wterm/dom wterm/react wterm/just-bash just-bash第 2 步挂载终端Terminal组件负责显示onReady回调里创建BashShell并attachonData回调里把按键转发给handleInput。完整可运行示例见 just-bash 文档const shell new BashShell({ files: { /home/user/hello.txt: Hello, world!\n }, greeting: Welcome to wterm!, }); shell.attach(write); // 终端就绪后 // onData: shell.handleInput(data)第 3 步打开页面敲命令ls、cat hello.txt、pwd、cd都能正常工作——它们操作的是一块内存中的虚拟文件系统。✨仓库里的现成示例Svelte 浏览器终端不想从零搭项目仓库提供了一个开箱即用的示例 examples/svelte/它在浏览器中运行 just-bash预置了两个虚拟文件并带主题切换pnpm install pnpm --filter svelte-example dev启动后打开终端按提示试试ls、cat README.md或bash hello.sh。预置的虚拟文件定义在 App.svelte 中greeting会在终端挂载时打印欢迎语。虚拟文件系统给 Shell 预置家目录通过files选项传入「路径 → 文件内容」的映射目录会由路径隐式创建new BashShell({ files: { /home/user/README.md: # My Project\n\nHello, world!\n, /home/user/data/config.json: { key: value }\n, }, });之后ls、cat、cd都针对这块虚拟文件系统工作。提示符也会跟随cd自动更新即使命令以非零状态退出BashShell 选项说明。快捷键和真 Bash 一样顺手Shell 内置了完整的行编辑体验实现见 src/index.ts常用操作一览按键功能Tab补全文件与命令支持编辑命令前半段↑/↓翻历史并还原未完成的输入与光标位置CtrlR增量搜索历史回车执行、Esc 编辑、CtrlG 恢复原输入CtrlW/AltBackspace删除光标前一个单词CtrlU/CtrlK删除光标前 / 后的文本CtrlY恢复被删文本连续删除可一起恢复CtrlC/CtrlL取消输入 / 清屏它还支持 Unicode 感知的编辑emoji 和组合字符会被当作整体移动与删除。进阶让浏览器 Shell 联网默认情况下 shell 完全离线。如需在浏览器内执行curl、fetch等联网命令可传入network配置开启网络访问见 just-bash 文档的 Network Access 一节。 如果你的场景需要真实的系统 Shell而非 just-bash仓库还提供了 examples/local/ 示例Next.js 应用通过 WebSocket 连接node-pty启动本机 PTY支持多会话标签页——那就需要服务器了属于另一条路线。核心文件导航文件说明packages/wterm/just-bash/src/index.tsBashShell 适配器源码apps/docs/content/docs/just-bash.mdx官方文档选项、方法、虚拟文件系统、快捷键全表examples/svelte/无服务器终端完整示例apps/docs/content/docs/vanilla.mdxVanilla JS / 各框架接入方式总结wterm just-bash 的组合证明了一件事浏览器里也能有真终端体验——DOM 渲染保证原生交互WASM 核心保证解析性能just-bash 保证 Shell 语义。三步安装、零后端依赖把一个小终端搬进你的网页只需十几行代码。【免费下载链接】wtermA terminal emulator for the web项目地址: https://gitcode.com/gh_mirrors/wterm1/wterm创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
企业数字化 ERP 产品动态
相关推荐
macshot视频编辑器Studio全解:自动变焦、可编辑光标与字幕六大功能 macshot视频编辑器Studio全解:自动变焦、可编辑光标与字幕六大功能 【免费下载链接】macshot Feature-packed native macOS screenshot & recording tool: annotate, auto-redact PII, record GIFs, OCR translate, scroll capture, beautify, and more. No El… · 2026/9/26 17:17:04
PDE数值解工程实践:从PDF决策手册到可部署仿真代码 简介:本资源是Elsevier出版的英文专著《Numerical Methods for Partial Differential Equations:Finite Difference and Finite Volume Methods》,由俄亥俄州立大学Sandip Mazumder教授撰写,面向计算数学、工程仿真及科学计算领域… · 2026/9/26 17:16:58
微信表情包保存到手机相册,新手照着做 如果你是第一次把微信表情保存到手机相册,照着这几步做就行。第一步,微信里搜「表情保存助手」,关注它。第二步,把表情发给它。第三步,点它回的下载地址,选「保存到手机」。下面一步一步慢慢来,… · 2026/9/26 17:42:38
多体系统粒子模拟的三大难点与工程化解法 我第一次正经做多体系统的粒子模拟,是在一个分子动力学相关的课题里。实验室师兄丢给我一段代码,说"你在这个基础上加几十万个粒子就行"。我天真地以为只是改个循环次数,结果一跑起来才发现,问题远不是"加个循环&q… · 2026/9/26 17:42:32
企业级容器化CI/CD落地实践:从流水线设计到部署回滚 1. 企业级容器化 CI/CD 的整体设计思路 在聊容器化 CI/CD 之前,先明确一个基本认知:CI/CD 不是一套工具那么简单,它是把"代码提交到生产环境上线"这条链路彻底标准化、流程化、自动化的工程实践。而容器化,则是在这条链… · 2026/9/26 17:42:13
基于开源工具与RAG搭建个人AI知识库的实战指南 先说结论:这套知识库很糙,糙到我都不好意思叫它"系统"。但它真的能用,而且从决策到跑通,基本只花了一个周末。文章写的是我最近折腾出来的AI知识库搭建过程,核心思路就一句话——用现成的开源工具࿰… · 2026/9/26 17:42:13
AI率90%怎么降?知网维普查重避坑指南,5个免费方法保住学术底线 最近这段时间,我的后台和私信几乎被同一个话题刷屏了:“AI率怎么降?”。点开一看,好家伙,不是“知网AI率90%”就是“维普AI率爆表”,再配上各种“降AI神器”的推荐截图,焦虑感直接拉满。作为一个… · 2026/9/26 17:42:13
并发编程的原子性、可见性与有序性:从JMM到volatile和CAS的实战解析 1. 一个并发计数器,把三大特性全踩了一遍先从一个最典型的例子说起。你写了一个多线程累加程序,逻辑极其简单,就是让100个线程分别对同一个变量执行10000次count,最后期望值是1000000。结果跑下来,结果可能是973452&am… · 2026/9/26 17:42:07
数据库课后习题答案别硬背:当测试用例集刷,效率翻倍 简介:万常选版《数据库原理与设计》课后习题答案资源,覆盖第2至6章及第9章,适合正在学习关系模型、数据库建模、关系数据理论与模式求精的本科生、自学者作为复习与自测材料。压缩包共7个文件,含3个doc参考答案、2个sql示例脚本、… · 2026/9/26 0:00:21
OpenClaw 替代品?Hermes Agent 踩坑实录:macOS 飞书接入 TaoToken 配置 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 0:00:40
向下兼容与向上兼容:接口设计中的兼容性策略与工程实践 一次版本升级事故,是很多团队绕不过去的坎。线上环境里,服务端明明已经上线了新版接口,老的移动端还在照着旧文档传参数。请求一到网关,校验直接拒绝,用户操作失败,客服群炸了锅,开发群里开始互… · 2026/9/26 0:00:46