开源自荐:Sageport,一款集成终端、SFTP、凭据管理和 AI 助手的 SSH 桌面工作台

AI摘要
这是一篇关于开源项目Sageport的【知识分享】。Sageport是一款跨平台SSH桌面工作台,集成了终端、SFTP、凭据管理、命令片段和AI助手等功能,采用本地优先、端到端加密同步的设计,旨在将服务器运维的高频操作整合到统一界面中,提升效率。

开源自荐:Sageport,一款集成终端、SFTP、凭据管理和 AI 助手的 SSH 桌面工作台

大家好,我最近在做一个开源桌面应用 Sageport,它是一款面向日常服务器运维的跨平台 SSH 工作台。

一句话介绍:Sageport 把 SSH 终端、SFTP 文件传输、主机管理、SSH 密钥管理、命令片段、数据同步和 AI 助手整合到一个类似 VS Code 的桌面工作台里。

项目地址:github.com/joygqz/sageport

Sageport 工作台截图

上图是 Sageport 的主界面,整体采用类似 VS Code 的工作台布局,把主机列表、终端标签页、SFTP 面板、命令面板等常用能力组织在同一个桌面应用中。

为什么做这个项目

日常管理服务器时,我经常会在多个工具之间来回切换:

  • 用终端连接服务器;

  • 用 SFTP 工具上传和下载文件;

  • 单独维护服务器地址、用户名、密码和 SSH Key;

  • 把常用命令记在笔记里;

  • 换设备时还要想办法同步配置;

  • 有时还希望 AI 能根据当前终端上下文辅助分析问题。

这些工具本身都很好,但组合使用时会有一些割裂感。Sageport 想解决的就是这个问题:把服务器运维中的高频操作收进一个统一、安静、效率优先的桌面应用里。

Sageport 能做什么

SSH 终端

Sageport 内置了基于 xterm.js 的终端,支持多标签会话。连接打开后,即使切换到其他视图,会话也可以继续在后台保持。

目前终端相关能力包括:

  • 多个 SSH 会话并行打开;

  • 会话标签页管理;

  • 断线后快速重连;

  • 终端滚屏搜索;

  • 链接识别;

  • Unicode 显示;

  • 基于 WebGL 的终端渲染。

主机与凭据管理

项目里把「主机」和「凭据」做了拆分。一个身份凭据可以复用到多个服务器,避免每个主机都重复维护用户名、密码或密钥。

支持的能力包括:

  • 主机分组管理;

  • 连接状态显示;

  • 密码、SSH Key、Agent 等认证方式;

  • 内置 SSH Key 管理;

  • 生成和导入 Ed25519、RSA、ECDSA 等 OpenSSH 格式密钥;

  • 可选的密钥口令保护。

SFTP 文件传输

Sageport 提供双栏文件浏览器,每一栏都可以是本地目录,也可以是远程 SFTP 目录。

它适合处理一些常见场景:

  • 本地和远程之间上传、下载文件;

  • 远程目录之间浏览和管理;

  • 拖拽传输;

  • 查看传输历史;

  • 对大量小文件传输做归档优化。

命令片段

很多运维命令是重复执行的,比如查看日志、重启服务、检查端口、查看磁盘空间等。Sageport 支持保存命令片段,并一键发送到当前活动终端。

这个功能不复杂,但实际用起来很省心。

AI 助手

Sageport 也集成了一个 AI 助手,不过它的定位不是自动接管终端,而是辅助分析和建议。

目前支持:

  • 自带 API Key;

  • Anthropic 接口;

  • OpenAI 兼容接口;

  • 自定义 Base URL 和模型;

  • 读取打开的终端会话上下文;

  • 基于终端输出提出命令建议。

出于安全考虑,AI 提出的远程命令不会自动执行,必须由用户明确确认后才会发送到终端。

同步与备份

服务器配置、凭据、命令片段、主题和界面偏好都可以同步。

目前支持的同步方式包括:

  • GitHub Gist;

  • Google Drive;

  • Microsoft OneDrive;

  • WebDAV;

  • S3。

同步数据会使用口令派生密钥进行端到端加密,只有密文会离开本地设备。项目中使用 Argon2id 和 AES-256-GCM 处理同步和备份数据的加密。

项目特点

我在做这个项目时比较关注几个方向:

1. 一体化

不是只做一个 SSH 客户端,而是把日常服务器管理里经常一起使用的能力放在同一个工作流里:连接服务器、传文件、管理密钥、保存命令、同步配置、让 AI 辅助分析。

2. 本地优先

数据默认保存在本地 SQLite 数据库中,不依赖云服务。同步是可选能力,不开启也可以完整使用。

3. 安全边界清晰

凭据、密钥和同步数据都属于敏感信息,所以项目尽量保持明确的安全边界:

  • 数据默认本地存储;

  • 同步数据端到端加密;

  • 同步口令不会上传;

  • AI 建议的命令必须用户确认后才执行。

4. 跨平台

基于 Tauri 构建,目标是支持 macOS、Windows 和 Linux。发布包包括 macOS 的 .dmg,Windows 的 .msi / .exe,以及 Linux 的 .deb / .rpm / .AppImage

项目地址

如果你也经常需要连接服务器、传文件、管理 SSH Key,或者对 Tauri + Rust + React 做桌面工具感兴趣,欢迎试用、提 Issue 或交流建议。

本作品采用《CC 协议》,转载必须注明作者和本文链接
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!
未填写
文章
0
粉丝
0
喜欢
0
收藏
0
排名:3878
访问:0
私信
所有博文
社区赞助商