WaveTerm:内置AI的跨平台终端,从安装到远程开发全流程
【免费下载链接】wavetermAn open-source, AI-integrated, cross-platform terminal for seamless workflows项目地址: https://gitcode.com/GitHub_Trending/wa/waveterm
凌晨三点,你在三台机器的终端窗口之间来回切换,构建日志还在第三个窗口里刷着。生产服务器的SSH连接刚断,跑了一半的脚本也没了。这个场景,就是 WaveTerm——一个内置AI的开源跨平台终端——想帮你解决的:终端会话、文件预览、网页浏览器、AI助手,全都以"块"的形式出现在同一个窗口里,拖拽、合并、各管一摊,不用再Alt+Tab。
一条命令装好 WaveTerm
系统要求不苛刻:macOS 11+、Windows 10 1809+、主流Linux发行版(glibc 2.28+)都能跑,x64 和 ARM64 都支持(Windows 的 ARM64 还在路上)。各平台挑一条命令就行:
# macOS brew install --cask wave # Linux sudo snap install --classic waveterm# Windows winget install CommandLine.WaveWindows 上也可以用 choco,Linux 有社区维护的 AUR、Nix 包;想试最新开发版本的话可以自行从源码编译,仓库里的 BUILD.md 有完整步骤。
装完打开就是一个终端,直接干活。按Cmd+n能在同一窗口再加一个终端块(Win/Linux 上全文的Cmd都用Alt代替,后文不再重复)。想改字体或主题,在终端里敲wsh editconfig,配置文件会直接在内置编辑器里打开,带语法高亮,省得自己找路径。
同时盯三个项目的构建日志
传统做法是开三个终端窗口,Alt+Tab 轮流看,屏幕不够大就放弃。WaveTerm 里这些都是块:Cmd+n新增终端,Cmd+d水平分割、Cmd+Shift+d垂直分割,拖住块标题栏就能重新排列。想细看某个块,Cmd+m放大到接近全屏,再按一次恢复,布局一点不丢。
也可以在终端里直接"指挥"布局:
# 新开一个块跑开发服务器,并立即放大 wsh run -m -- npm run dev # 新开一个块跑构建,结束后自动关闭 wsh run -x -- npm run build有个隐藏细节:按住Ctrl+Shift,每个块会露出编号,接着Ctrl+Shift+3直接跳到 3 号块,方向键(或 hjkl)在块之间移动焦点。多窗口切换党会很舒服。
不用切浏览器就能看 API 文档
传统流程是:终端 → 浏览器 → 翻标签页 → 搜索 → 再切回来。WaveTerm 内置网页块,终端里一句wsh web open localhost:3000,页面就开在旁边;也可以直接搜,wsh web open "关键词"会打开搜索结果页。页面内搜索是Cmd+f,跟你的肌肉记忆一样。
文件预览同理。wsh view .看当前目录,wsh view README.md渲染后的 Markdown 直接可读,CSV 变表格、图片直接显示,按Cmd+e在预览和编辑模式间切换。远程服务器上的文件也一样,wsh edit /etc/nginx/nginx.conf会用带语法高亮的内置编辑器打开,不用再 cat 加 vi。
把命令输出直接喂给 AI 助手
遇到报错想问AI,传统流程是:复制日志 → 打开聊天网页 → 粘贴 → 手动删到字数限制内。WaveTerm 里管道符就能搞定:
git diff | wsh ai - dmesg | wsh ai -s - -m "帮我看看这些报错"-表示从 stdin 读,-m带问题,-s自动提交;文件也能直接附上,比如wsh ai main.go utils.go -m "帮我找bug"。默认只附上不发送,你可以先检查内容再决定发不发。
💡 AI 后端完全自定:OpenAI、Claude、Gemini、Azure、Perplexity,或者用 Ollama 跑本地模型,填自己的 key 即可,不用注册账号。AI 还能读取终端的 scrollback,不用反复粘贴上下文,用法详见仓库里的 Wave AI 文档。
远程服务器拉进终端,断线了还在
点顶栏的连接按钮输入user@host就能连,或者终端里wsh ssh -i ~/.ssh/key.pem dev@server,得到的是和本地一模一样的远程终端块:文件预览、网页块、wsh 命令全都能用。
远程开发最烦的就是断线。WaveTerm 有 durable session:在 settings.json 里开term:durable: true(或在块标题的盾牌图标上切换)。之后网络断了、甚至关掉 Wave,shell 都会留在远端服务器继续跑——状态类似 tmux,但内置了,重连后自动接上,回滚的 scrollback 也不丢。
搬文件也顺。远程终端里wsh://local/~/指的就是你的本机:
# 在远程执行:把本机一个脚本直接拉到当前目录 wsh file cp wsh://local/~/notes/deploy.sh ./变量还能用wsh setvar/wsh getvar在本地和远程之间共享,不用记环境变量。
把常用工具变成一键组件
右侧边栏有一列快捷组件,可以自定义。在~/.config/waveterm/widgets.json里定义一下:
{ "system-monitor": { "icon": "chart-line", "label": "系统监控", "blockdef": { "meta": { "view": "sysinfo", "sysinfo:type": "CPU + Mem" } } } }之后终端里wsh launch system-monitor,或直接点侧边栏图标,一个 CPU 和内存监控块就出来了。你常用的开发文档、监控脚本、天天盯着的 localhost,都能变成一键组件。
上手之后,这些细节会让你更快
- Win/Linux 上所有
Cmd换成Alt:Alt+t新标签页,Alt+n新块,别按错键。 - 给
app:globalhotkey设一个全局快捷键,在系统任何位置一键唤起最近窗口。 Cmd+Ctrl+1~9直接切换工作区,每个项目存一个工作区,天然的项目切换器。- 长任务结尾接一句
wsh notify "构建完成",跑完会有系统通知,不用盯着日志。 - 敏感信息存进
wsh setvar或内置的密钥存储,别把 key 写死在脚本里。 - 想换风格改
term:theme、term:transparency,终端背景还能做半透明。
几个容易踩的坑
wsh 是什么,为什么我在别的终端里用不了?wsh是 Wave 的内部命令行接口,依赖 Wave 下发的访问令牌,只在应用内工作。连远程服务器时 Wave 会自动装 wsh 助手,装不上会弹提示,点确认即可。
启动时提示 ARM64 兼容层警告?说明你在 ARM 机器上装了 x64 版本,走的是兼容层,性能有损。换原生版本重装即可;只想屏蔽警告就设app:dismissarchitecturewarning=true。
配置怎么迁移到新机器?把~/.config/waveterm/整个目录拷走就行,settings.json、connections.json、widgets.json 都在里面,也能随时用wsh editconfig打开改。
性能差或者画面花屏?在 settings.json 加window:disablehardwareacceleration: true试试;term:scrollback适当调小(上限 10000)也能省内存,window:reducedmotion可关掉大部分动画。
回到开头那个凌晨三点:现在一个 WaveTerm 窗口,左边三个块各自盯着构建日志,右边连着生产服务器,上次断掉的会话早就自动接上了。去装一个试试,下次想看日志的时候,先按Cmd+n再说。更多快捷键和 wsh 用法,仓库 docs/docs/ 目录下都有现成的参考文档。
【免费下载链接】wavetermAn open-source, AI-integrated, cross-platform terminal for seamless workflows项目地址: https://gitcode.com/GitHub_Trending/wa/waveterm
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考