命令行工具
wavetermdev/waveterm avatar
wavetermdev/waveterm

Wave Terminal:把终端、编辑器与浏览器揉进一个窗口的开源尝试

Wave 将终端、编辑器、浏览器和 AI 辅助结合在一个跨平台工作区中。

22,288 个 Star1,126 个 ForkGoApache-2.0

秒懂

它是什么?
Wave Terminal 是一个用 Go 写的跨平台终端,把 SSH、文件编辑、文件预览和 AI 助手塞进同一个界面。它解决的是远程开发中工具切换的碎片化问题,但代价是界面复杂度和对既有工作流的改造。
适合谁用?
Wave Terminal 适合经常在多个远程主机之间切换、需要图形化编辑远程文件、并且愿意接受 AI 助手介入终端输出的开发者。不适合那些已经深度定制了本地终端(比如 tmux、zsh 插件、自定义快捷键)或者对界面复杂度敏感的人。
能商用吗?
可以。Apache-2.0 是宽松许可证:你可以使用、修改并销售基于它的软件,只需保留版权和许可证声明。
还在维护吗?
在维护。仓库最近一次提交在 6 天前。
用什么语言写的?
主要是 Go(依据 GitHub 的语言统计)。

以上回答依据项目的 GitHub 数据(最近同步于 2026年9月15日)和我们的分析,不构成法律意见。

开源项目深度解析

一个终端,为什么需要浏览器和编辑器

传统终端只做一件事:运行 shell。远程开发时,你要在终端里敲命令,用 scp 传文件,再用另一个工具编辑。Wave Terminal 把终端、编辑器、浏览器和 AI 助手放进同一个窗口,试图消灭这种切换。它的目标用户很明确:经常操作远程 SSH 主机、需要预览远程文件、并且希望 AI 能理解终端输出的人。这不是一个面向所有人的终端,它更像一个针对远程工作流的集成工作台。

界面与工作流:块(Block)是核心概念

Wave 的界面由可拖拽的块组成。每个块可以是一个终端、一个编辑器、一个浏览器或者一个 AI 聊天窗口。你可以把终端块和编辑器块并排放置,也可以全屏切换任意块,再回到多块视图。这种布局让远程文件编辑变得直观:在终端里 ssh 到服务器,在旁边的编辑器里打开同一个文件,修改后直接保存。文档没有说明块之间如何同步状态,但根据仓库结构,每个块是一个独立的 WebView 或渲染组件。

持久 SSH 会话:断网不丢连接

Wave 的 SSH 会话被设计为可持久化。网络中断、切换 Wi-Fi、甚至 Wave 重启,会话都会自动重连。这意味着你可以在笔记本上开着到服务器的会话,合上盖子再打开,连接还在。实现方式没有在 README 中详细说明,但 wsh 命令行工具负责管理会话和共享数据。这种设计对移动办公很有价值,但代价是会话状态由 Wave 管理,而不是由系统 ssh 客户端管理。如果你依赖 ssh 的 ControlMaster 或自定义 ProxyCommand,可能需要调整。

内置编辑器与文件预览:远程文件当本地文件用

Wave 内置的编辑器支持语法高亮,可以编辑远程文件。文件预览系统支持 markdown、图片、视频、PDF、CSV 和目录。这意味着你不需要在本地下载文件就能查看远程服务器上的图片或 PDF。编辑器的功能没有详细列出,但根据 README 的措辞,它具备“现代编辑器特性”,具体包括什么并不清楚。如果你需要复杂的重构工具或插件系统,这个编辑器可能不够用。

AI 助手:读你的终端输出,但需要你自己的 API key

Wave AI 是上下文感知的终端助手。它能读取终端输出和滚动缓冲区,分析错误信息,还能读写文件,但写操作需要用户批准。你可以用 OpenAI、Claude、Gemini 的 API key,也可以用 Ollama 或 LM Studio 跑本地模型。README 提到“免费 Beta 期间提供 AI 积分”,但具体额度没有说明。AI 的上下文读取是一个亮点,但也意味着你的终端内容会被发送到模型提供商,除非你使用本地模型。文档没有提到数据脱敏或本地处理选项,这一点值得注意。

安装与运行:三条平台路径,一个 wsh 辅助工具

Wave 支持 macOS 11+、Windows 10 1809+ 和基于 glibc 2.28 的 Linux。安装方式在文档中有详细说明,也可以从官网下载。源码构建的步骤在 BUILD.md 中。关键的一点是 wsh 辅助工具,它负责 SSH 会话管理和文件同步。wsh 支持 Linux Kernel 2.6.32 以上,这比 Wave 本身的要求宽松。安装后,你可以用 wsh ai 从命令行直接调用 AI,或者用 wsh file 在本地和远程主机之间复制文件。

局限性与替代方案:不是所有人的菜

Wave 的明显局限是它的复杂性。一个窗口里塞进终端、编辑器、浏览器和 AI,学习曲线比传统终端高。另一个问题是 AI 功能的隐私性:即使使用本地模型,终端输出也会被处理,如果你在终端里输入敏感信息,需要谨慎。替代方案方面,你可以用 tmux 加 ssh 实现会话持久化,用 VS Code Remote-SSH 实现远程文件编辑,用独立的 AI CLI 工具(比如 Warp 的 AI 功能)获得类似体验。区别在于:tmux 和 VS Code 是分离的工具,而 Wave 试图统一它们。如果你已经习惯了 tmux 的快捷键和 VS Code 的插件生态,Wave 可能让你觉得束手束脚。

维护与许可:Apache-2.0,活跃开发中

Wave 采用 Apache-2.0 许可,这意味着你可以自由使用、修改和分发,但需要注意保留版权声明。仓库最近一次推送是 2026 年 4 月,版本号到 v0.14.5,更新频繁。Apache-2.0 对商业使用友好,但如果你要修改源码并分发,需要遵守许可条款。维护成本方面,Wave 的依赖项在 ACKNOWLEDGEMENTS.md 中列出,但具体内容没有提供。考虑到项目还在快速迭代,API 和配置格式可能变化,升级时需要关注 release notes。

编辑结论

Wave Terminal 适合经常在多个远程主机之间切换、需要图形化编辑远程文件、并且愿意接受 AI 助手介入终端输出的开发者。不适合那些已经深度定制了本地终端(比如 tmux、zsh 插件、自定义快捷键)或者对界面复杂度敏感的人。采用前先验证三件事:你的 Linux 发行版是否满足 glibc 2.28 的要求,你的 SSH 密钥是否兼容 wsh 的会话管理,以及你是否接受 AI 功能需要自带 API key 或使用其免费额度的模式。Wave 的持久 SSH 与内置编辑器是实打实的功能,但它的多块布局和 AI 上下文读取会改变你与终端的交互方式。

官方来源

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
社区笔记

社区笔记