uniTerm 是一款轻量级一站式开源终端软件。整合终端、文件传输、远程桌面、数据库客户端、容器等 5 大类协议于一身,覆盖 32 种协议,安装包不到 20 MB;内置可自主执行的 AI Agent,能规划并执行多轮 Shell 命令。
v1.12 最重要的几项更新:Docker Web 多租户部署——uniTerm 可作为浏览器访问的服务部署,每位用户拥有相互隔离的工作区;本地服务——新增 HTTP、TFTP、SSH 等七种本地服务,统一支持自动停止超时;终端效率大升级——会话录制回放、多主机批量执行、基于 shell 历史的行内补全建议三项功能齐上线。
⭐ GitHub 千星达成
uniTerm 是作者个人业余时间维护的开源项目,本次发布恰逢项目 GitHub Star 数突破 1000。从最初的一个终端小工具,到如今覆盖 5 大类 32 种协议、内置 AI Agent 的一站式终端,每一步都离不开社区朋友的使用、反馈与贡献。千星是里程碑,更是新起点——项目无商业化计划,欢迎广大社区朋友参与共建 ❤️
🐳 Docker Web 多租户部署
该功能由 @NatureLProokie 贡献。
🛰️ 本地服务
-
七种本地服务一键开启 — 新增 HTTP、TFTP、SSH、FTP、Telnet、NFS、S3 本地服务,指定一个本地目录即可对外提供对应协议的访问,无需再单独安装配置各类服务端软件。
-
典型场景 — 把本机目录快速变成局域网文件服务器,手机、同事的电脑直接下载文件;TFTP 给交换机 / 路由器备份配置、传输固件;FTP / Telnet 兼容老旧设备和嵌入式设备;NFS 给虚拟机挂载共享目录;S3 供本地开发测试 S3 兼容客户端。
-
自动停止超时 — 所有本地服务支持统一的自动停止超时,忘记手动停止的服务会在设定时间后自动停止,避免长期占用资源和安全风险。
该功能由 @etanman 贡献。
🖥️ 终端:录制、批量执行与行内建议
-
终端录制与回放 — 会话可录制为 asciinema cast v2 格式并随时回放;录制时终端内显示带实时时长的 REC 徽标,录制列表提供回放、删除、打开目录等操作。(@laigcss)
-
批量执行 — 选中多个 SSH 连接即可在全部主机上并发执行同一命令,支持并发数、超时与失败策略配置,实时展示逐主机结果表格,结果可导出为 CSV / JSON;入口在连接右键菜单中选中两台及以上主机时出现。(@laigcss)
-
行内补全建议 — 基于登录 shell 的历史,光标后以暗色提示补全,按右方向键接受;Tab 键仍保留给 shell 自己的补全。提示与建议弹窗在终端设置中各有独立开关。(@dungvv)
-
历史读取提速 — 供行内建议使用的 shell 历史改为只读历史文件尾部(最多 4 MiB)而非整个文件,积年膨胀到数十 MB 的历史文件不再卡顿首次按键。(@boltomli)
-
SSH 主机密钥校验 — 采用 TOFU(首次信任)机制:首次连接记录服务器指纹,密钥变化时弹出对话框显示新旧指纹,可选择保存新密钥、不记录仅连一次,或取消。(@laigcss)
-
Windows Terminal 风格右键 — 新增「复制或粘贴」右键模式:右键选中文本即复制,无选中时右键即粘贴。
-
体验细节 — Ctrl+Backspace 删除前一个词;按 F2 重命名当前活动标签页且重启后保留;本地 / WSL 终端连接表单新增启动参数与工作目录字段,可带参数启动其他终端程序。(@surenwuyuwuqiu、@macoladik)
-
稳定性修复 — 修复超长自动换行的输出行导致界面卡死的问题;长粘贴命令跨行不再损坏;行号栏预留五位数字,宽行号不再挤压布局。(@surenwuyuwuqiu)
🤖 AI:本地风险护栏
-
本地风险护栏 — 独立于模型对 AI 要执行的每条命令做模式匹配分级(读 / 写 / 危险),即使模型被恶意提示误导、把删除用户主目录这类危险命令标为安全,确认提示依然会被强制执行。(@laigcss)
-
自动压缩可配置 — 长会话自动压缩可以关闭,也可按设备设置触发预算和独立的摘要模型。(@surenwuyuwuqiu)
-
优雅降级 — 会话超出上下文预算时不再因 context-too-large 错误报废:尽量压缩,超大工具输出仅在请求中裁剪(界面保留完整输出),下一轮自动恢复;默认压缩触发阈值从 32K 提升到 96K。
-
会话修复 — 保持 tool_use / tool_result 配对一致,被丢弃的并行工具调用不再使压缩死锁;修复工具调用入参对象显示为空的问题;Ctrl+C 后释放前台执行锁;会话内复制改用平台剪贴板,窗口失焦也能正常复制。(@lijinxiao1982、@mikemikimike、@surenwuyuwuqiu)
✨ 更多新功能
-
远程桌面 — RDP 新增画质档位(高 / 均衡 / 低带宽),慢速链路下降低服务端图形特性;RDP / VNC / SPICE 的分辨率与缩放控制移入状态栏和全屏工具栏,按连接保存。
-
底部面板 — 标签区下方新增底部停靠区,任意侧边栏视图(快捷命令、系统监控等)都可停靠至此,与左侧边栏同时显示;视图可通过右键菜单、面板标题栏按钮或拖拽在两个停靠区之间移动和排序。
-
系统监控 — 监控边栏显示的监控项可配置,禁用的监控项隐藏且不再轮询,降低被监控节点的负载。
-
容器 — 支持导入镜像压缩包、将容器提交为镜像,创建容器时新增 stdin 与 TTY 选项。(@surenwuyuwuqiu)
-
数据库 — 结果表格支持就地筛选,CSV 导入 / 导出改为原子写入。(@surenwuyuwuqiu)
-
更多细节 — 系统托盘图标可隐藏(macOS 下隐藏的窗口仍可经 Dock 或全局快捷键找回);快捷命令新增按钮平铺样式;连接列表新增紧凑显示样式;文件面板 F5 刷新;macOS 原生窗口菜单跟随系统语言。(@surenwuyuwuqiu、@etanman)
🌐 截止 v1.12 版本支持协议一览
-
终端:SSH、Telnet、Mosh、Serial、Local、WSL、Raw TCP
-
文件传输:SFTP、SCP、FTP / FTPS、SMB、WebDAV、S3、Zmodem
-
远程桌面:RDP、VNC、SPICE、X11
-
数据库:MySQL、PostgreSQL、Oracle Database、SQL Server、SQLite、rqlite、Redis、MongoDB、Elasticsearch
-
容器:Kubernetes、Docker、Podman、nerdctl(containerd)、WSLC
本项目为作者个人业余开源社区项目,无商业化计划。欢迎广大社区朋友参与共建。
感谢所有提交 PR 和 issue 的朋友,是你们让 uniTerm 变得更好 ❤️
感谢 @NatureLProokie、@etanman、@laigcss、@dungvv、@surenwuyuwuqiu、@boltomli、@macoladik、@lijinxiao1982、@mikemikimike、@wuqiang57、@sonnartliao、@kevin9327、@gezerui888 对本版本的贡献。