Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 

Repository files navigation

PandaTerm

PandaTerm 是一款面向 Windows 的 SSH 终端与运维工作台。它将远程终端、SFTP 文件管理、代码编辑、文件传输、主机监控、本地终端以及 AI Agent 集成在同一个桌面应用中,减少在终端、文件客户端、编辑器和 AI 工具之间反复切换。

当前版本:0.1.0。项目仍处于持续开发阶段,功能和数据格式可能继续调整。

功能概览

SSH 连接与会话管理

  • 创建、编辑、删除、搜索并持久化 SSH 连接。
  • 支持密码、私钥、Keyboard Interactive 和 GSSAPI 等认证方式。
  • 保存连接名称、分组、标签、主机、端口、用户名及最近连接时间。
  • 支持连接列表拖拽排序和自定义表格列宽。
  • 支持连接状态跟踪、断线重连策略和终端尺寸同步。
  • 首次连接记录主机密钥,后续连接校验指纹变化,降低中间人攻击风险。
  • 可读取 Windows 上已有的 Xshell 会话并合并到连接列表。
  • 顶部状态栏展示当前会话,可一键隐藏主机 IP 或域名。

多标签终端与分屏

  • 每个连接运行在独立标签页中,可同时维护多个远程会话。
  • 支持拖拽调整标签顺序,以及将标签拖入终端区域创建分屏。
  • 每个分屏可维护自己的标签集合,并可继续新增连接。
  • 支持终端复制、粘贴、窗口尺寸自适应和远端 PTY resize。
  • 对大段粘贴进行大小控制与确认,避免误操作或向终端写入异常数据。

本地与远程文件管理

文件资源管理器会跟随当前标签,在本地文件系统与远程 SFTP 文件系统之间切换:

  • 目录前进、后退、返回上级、刷新和名称筛选。
  • 新建文件、新建目录、重命名和删除。
  • 单选、多选、全选,以及批量复制、剪切和粘贴。
  • 上传单个或多个文件,并保留目录结构上传整个文件夹。
  • 将远程文件下载到系统下载目录。
  • 对本地或远程文件、目录执行压缩与解压。
  • 预览图片、音视频等媒体文件。
  • 文件操作统一记录状态与错误日志。

内置文件编辑器

  • 使用本地打包的 Monaco Editor,无需依赖 CDN。
  • 可直接打开、编辑并保存本地文件和远程文件。
  • 支持多编辑器标签、未保存状态提示和 Ctrl+S 快捷保存。
  • 根据扩展名识别 TypeScript、JavaScript、Rust、Python、Go、Java、C/C++、JSON、YAML、Markdown、Shell 等常见语言。
  • 大文件读取显示传输进度、已传输大小和实时速度。
  • 保存前校验文件是否被外部修改,避免静默覆盖较新的内容。

文件传输中心

  • 集中展示上传、下载任务及其目标位置。
  • 实时显示文件大小、已传输字节、进度、速度和耗时。
  • 支持取消正在等待或执行中的传输任务。
  • 区分成功、失败与取消状态,并保留失败原因。
  • 上传目录时采用受控并发,兼顾传输效率与本机负载。

系统监控与进程查看

  • 查看本机或当前远程主机的系统资源状态。
  • 展示 CPU、内存、Swap、磁盘和网络等运行指标。
  • 获取进程列表,并按名称、PID 或资源占用查看进程状态。
  • 远程监控通过当前 SSH 会话采集,不需要在服务器额外部署 Agent。

本地终端

  • 底部面板内置独立的本地 PTY 终端。
  • Windows 环境使用 PowerShell,并继承当前工作目录。
  • 支持交互输入、终端 resize、清屏和进程生命周期管理。
  • 本地终端与传输记录、运行日志位于同一个可折叠面板中。

PandaTerm AI

PandaTerm 将 AI 上下文与运维工作区直接连接,同时保留明确的授权边界:

  • 对接 OpenAI-compatible Chat Completions API,可配置自定义 Base URL、API Key 和模型。
  • 支持从供应商同步模型目录、筛选聊天可见模型并配置 reasoning_effort
  • 支持流式响应、停止生成、多会话保存、历史切换、消息编辑与重新发送。
  • 使用 @ 引用当前终端输出、终端选中文本或编辑器文件,将必要上下文附加到问题。
  • 提供 AskAgent 两种模式:
    • Ask:以分析、解释和建议为主。
    • Agent:可提出文件修改、终端命令或 MCP 工具调用,并根据执行结果继续任务。
  • AI 文件修改先生成可审阅 Diff;只有用户授权后才读取和写入目标文件。
  • 写入前再次校验原始内容,目标文件已变化时将提案标记为过期,防止覆盖并发修改。
  • AI 终端命令展示命令、目标、超时时间和风险提示,用户确认后才执行。
  • 高风险命令使用醒目标识;命令执行具有超时和输出截断保护。

MCP 工具扩展

  • 管理多个 MCP Server,并查看连接状态和已发现工具。
  • 支持 stdioSSEStreamable HTTP 三种传输方式。
  • 可为本地 MCP 进程配置命令、参数和环境变量。
  • 可为远程 MCP 服务配置 URL、请求头和认证信息。
  • 支持按服务器禁用单个工具,并可手动重连服务。
  • 内置 MCP 市场,可搜索、分类浏览并将模板加入配置草稿。
  • 支持从常见客户端配置或指定 mcp.json 导入服务器。
  • 支持跳过或覆盖同名配置,并可导出 Cursor 兼容的 mcp.json
  • Agent 调用 MCP 工具前展示服务器、工具名和参数,获得授权后再执行。

凭据与数据安全

  • SSH 密码、私钥口令和 AI API Key 不直接写入会话配置。
  • Windows 默认使用 DPAPI 绑定当前系统用户保护凭据。
  • 可切换为 Master Password 模式:使用 Argon2id 派生密钥,并通过 AES-256-GCM 加密。
  • Master Password 模式支持手动锁定和解锁凭据保险库。
  • 敏感明文在使用后尽可能清理,配置文件写入采用临时文件加原子替换。
  • SSH 主机指纹、连接配置、AI 会话和 MCP 配置分别持久化,避免不同职责的数据互相耦合。

工作台布局

┌──────────────────────────────────────────────────────────────┐
│ 菜单栏 / 当前连接状态                                        │
├────┬───────────────────────────────────────────┬─────────────┤
│活动│ SSH 终端分屏 / Monaco 文件编辑器          │ 文件 / 监控 │
│栏  │                                           │ 进程 / AI   │
├────┴───────────────────────────────────────────┴─────────────┤
│ 本地终端 / 文件传输 / 运行日志                                │
└──────────────────────────────────────────────────────────────┘

技术架构

  • 桌面运行时:Tauri 2
  • 后端:Rust、Tokio、russh、portable-pty、reqwest
  • 前端:React 19、TypeScript、Vite 6

说明

  • AI 功能需要用户自行配置兼容的模型服务;PandaTerm 不内置模型额度或第三方 API Key。
  • MCP Server 由用户选择并在本机或远程启动,其能力和安全性取决于对应服务实现。启用前应检查命令、地址、环境变量和工具权限。
  • 远程文件、命令和监控能力依赖目标服务器权限及可用的系统命令。

About

PandaTerm — SSH 终端与运维工作台

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors