编程 uniTerm:用 Go + Wails v3 写的 30 协议终端,K8s、Docker 和 AI Agent 都在一个窗口

2026-09-17 00:04:34

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-*.zip

  • macOS(Intel / Apple Silicon):uniterm-darwin-*-*.dmg

  • Linux(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 上的私有仓库,不是托管服务。

推荐文章

程序员茄子在线接单