uniTerm 是一个用 Go + Wails v3 写的桌面终端,把 30 多种协议塞进同一个窗口:SSH、RDP、SFTP、数据库、Kubernetes,外加一个能在终端里自主规划、多轮执行 shell 命令的 AI Agent。
- 官网:https://uniterm.net
- 用户手册:https://uniterm.net/guide/en/introduction
- GitHub:https://github.com/ys-ll/uniterm
- Gitee:https://gitee.com/ys-l/uniterm
功能
终端与远程访问
- 远程终端 —— SSH / Telnet / Mosh / Raw TCP,支持密码或密钥认证;自带 SSH 隧道端口转发,任何连接都能走 SSH 跳板机。
- 本地与串口终端 —— PowerShell / CMD / Git Bash / WSL,以及可配置波特率、数据位、停止位、校验位和本地回显的串口连接。
- 文件传输 —— SFTP / SCP / FTP / FTPS / SMB / WebDAV / S3 / Zmodem,双栏浏览,SSH 终端里支持 rz/sz。
- 远程桌面 —— RDP(仅 Windows)、VNC、SPICE(KVM/QEMU 虚拟机)、X11。
- 数据库客户端 —— MySQL / PostgreSQL / Oracle / SQL Server / rqlite / Redis / MongoDB / Elasticsearch。
- 容器 —— Kubernetes / Docker / Podman / nerdctl (containerd) / WSLC。
- 服务器监控 —— 实时 CPU、内存、磁盘、网络、进程、端口和网卡信息。
AI 助手
AI Agent 直接在终端里独立规划和执行多轮 shell 命令。
- 自主多轮执行 —— 规划、执行、观察结果、迭代,多轮 shell 命令不需要人工介入。
- LLM 接入 —— 侧边栏聊天,兼容 Anthropic / OpenAI API,支持 Claude、GPT 及其他兼容模型。
- 执行模式 —— Bypass、仅危险命令、危险 + 写操作、全部确认,四档决定 AI Agent 需要多少人工监督。
- 会话持久化 —— 聊天记录按会话保存,应用重启后依然存在。
- 终端集成 —— AI 命令直接在活跃的终端标签页里执行,可固定到指定标签,也可跟随当前活跃标签;分屏各自拥有独立的终端上下文。
- 智能补全 —— SSH 终端输入时基于命令历史实时建议,并支持 AI 驱动的命令改写。
- Skill 与命令 —— 可复用的 Skill 工作流和提示模板命令,在 AI 输入框用
/调用;AI 也能自己保存新 Skill。
个性化
- 连接管理器 —— 分组、快速搜索、创建、批量操作服务器连接。
- 分屏 —— 把终端标签拖到内容区自由分屏,拖动面板边缘调整大小。
- 云同步 —— 通过 GitHub、GitLab 或 Gitee 上自己的去中心化私有仓库加密自动同步配置。
- 自定义快捷键,28 种终端主题加 3 种 UI 主题(Dark / Deep Blue / Light),可换背景图。
- 国际化 —— 9 种语言的 UI。
支持的协议
| 类别 | 协议 |
|---|---|
| 终端 | SSH、Telnet、Mosh、Serial、Raw TCP、Local(PowerShell/CMD/Git Bash)、WSL |
| 文件传输 | SFTP、SCP、FTP/FTPS、SMB、WebDAV、S3、Zmodem (rz/sz) |
| 远程桌面 | RDP(仅 Windows)、VNC、SPICE、X11 |
| 数据库 | MySQL(MySQL/MariaDB/TiDB)、PostgreSQL(含 CockroachDB)、Oracle、SQL Server、rqlite、Redis、MongoDB、Elasticsearch |
| 容器 | Kubernetes(集群浏览、Pod 日志与 exec、性能指标)、Docker(本地或走 SSH 的远程)、Podman、nerdctl(containerd,可切 namespace)、WSLC(仅 Windows) |
Oracle 数据库支持使用纯 Go 驱动实现。uniTerm 不捆绑 Oracle Database、Oracle Instant Client、OJDBC、wallet 文件或 Oracle 品牌资源;用户需要自行负责 Oracle 授权、凭据和数据库访问。
下载
GitHub Releases:https://github.com/ys-ll/uniterm/releases
Gitee Releases:https://gitee.com/ys-l/uniterm/releases
Windows(amd64 / arm64):安装包
uniterm-windows-*-installer-*.exe,或便携版uniterm-windows-*-portable-*.zipmacOS(Intel / Apple Silicon):
uniterm-darwin-*-*.dmgLinux(amd64 / arm64):
.tar.gz、.deb或.rpm
关于 Windows 杀软误报:项目没有购买代码签名证书,未签名的可执行文件可能触发误报(比如 Windows Defender)。这是 Go/Wails 应用的已知问题(wailsapp/wails#3308)。只从 GitHub/Gitee 下载,或自行从源码构建。
包管理器
# Windows
scoop bucket add uniterm https://github.com/ys-ll/scoop-uniterm && scoop install uniterm
# macOS
brew install --cask ys-ll/uniterm/uniterm
# Linux (deb)
curl -sLo uniterm.deb https://github.com/ys-ll/uniterm/releases/latest/download/uniterm-linux-amd64-*.deb
sudo dpkg -i uniterm.deb
# Linux (rpm)
curl -sLo uniterm.rpm https://github.com/ys-ll/uniterm/releases/latest/download/uniterm-linux-amd64-*.rpm
sudo rpm -i uniterm.rpm
运行时依赖
- Windows:WebView2 运行时(Windows 10+ 已内置;更早版本需要一次性安装)
- macOS:无(使用系统 WebKit)
- Linux:libgtk-3-0 和 libwebkit2gtk-4.1-0
快速上手
- SSH 连接:连接管理器里 New Connection → 填主机/端口/认证方式(密码或密钥)→ Connect。
- AI 助手:设置里配置 AI provider(API endpoint、model、key)→ 打开一个终端标签 → 打开 AI 侧边栏,输入任务,Agent 会在你的终端里执行命令。
- SFTP:在连接管理器里右键一个 SSH 连接 → Connect SFTP → 在双栏界面里浏览、上传、下载、拖拽。
技术栈
| 层 | 技术 |
|---|---|
| 桌面框架 | Wails v3 |
| 后端 | Go |
| 前端 | Vue 3 + Pinia + Element Plus |
| 终端 | xterm.js |
| AI 协议 | Anthropic Messages API / OpenAI Chat Completions API |
从源码构建
需要 Go 1.26+、Node.js 20+,以及 wails3 CLI v3.0.0-beta.12:
go install github.com/wailsapp/wails/v3/cmd/wails3@v3.0.0-beta.12
macOS 需要 Xcode Command Line Tools;Linux 需要 libgtk-3-dev 和 libwebkit2gtk-4.1-dev。
git clone https://github.com/ys-ll/uniterm.git
cd uniTerm
cd frontend && npm install && cd ..
wails3 dev # Development
wails3 build # Production build
项目结构
uniTerm/
├── main.go # Entry point
├── app.go # Wails bindings, LLM API proxy, SFTP API
├── app_*.go # Platform-specific implementations
├── backend/
│ ├── session/ # SSH/Telnet/Serial/SFTP/database session management
│ ├── database/ # SQL execution, schema introspection, DSN builders
│ ├── container/ # Docker/Podman/nerdctl container management
│ ├── k8s/ # Kubernetes cluster management
│ ├── store/ # Persistent config
│ ├── sync/ # Cloud sync (GitHub/GitLab/Gitee)
│ ├── update/ # Auto-update
│ ├── platform/ # Platform abstraction layer
│ └── log/ # File-based logging
├── frontend/src/
│ ├── components/ composables/ stores/ services/ i18n/ types/ utils/ vendor/
├── plugins/ # Plugin directory
├── docs/
├── Taskfile.yml # wails3 build tasks
└── build/config.yml # build config (app info, dev mode)
路线图与反馈
路线图见 ROADMAP.md。这是一个业余时间维护的个人爱好项目,没有商业化或赞助计划。欢迎提 Issue 和 PR。License:Apache 2.0。
取舍与边界
Wails v3 目前仍是 beta,构建依赖的 wails3 CLI 固定在 v3.0.0-beta.12。Windows 安装包不带代码签名,杀软误报属于预期内的情况。Oracle 走纯 Go 驱动实现,Instant Client、wallet 和授权都要自己准备。RDP 与 WSLC 只在 Windows 上可用。云同步走的是你自己在 GitHub/GitLab/Gitee 上的私有仓库,不是托管服务。