内测中 · v1.0.4

PxShell

终端、文件、AI 助手,并排在同一屏的桌面 SSH 客户端。 远程运维不该在三个工具之间来回切换。

Features

核心能力

终端与文件,不再是两个软件

左边是完整的 SSH 终端,右边是同一台服务器的文件树,中间的分隔条可以随意拖动。 要专心敲命令时,把文件面板整个收起来;几分钟后又需要传文件,一个按钮让它回来。

不用再开一个 WinSCP、再复制一遍主机名和密码。连接一次,终端和文件同时就位。

  • 分栏比例可在 2:8 到 8:2 之间任意拖动
  • 文件面板可完全隐藏,工具栏留一个浮动按钮随时唤回
  • 每个连接一个标签页,标签之间切换会保留终端现场 —— 滚动位置、正在跑的命令都还在

会动手的 AI 运维助手

大多数「AI + 终端」只是把聊天框摆在旁边,你还得自己复制命令、粘贴、回车。 PxShell 的 AI 助手通过 8 个工具直连你正在操作的这台服务器 —— 它能真的读取文件、执行命令、写入配置。

而且它不是盲执行:每一次命令调用都会返回 stdout、stderr 和退出码, 命令失败时 AI 看得见失败,不会把「命令报错了」当成「已经搞定了」继续往下做。

PxShell AI 助手的 8 个工具及其能力
能力说明
查看服务器信息发行版、内核、运行时间、CPU、内存、磁盘、当前身份
列出目录文件类型、大小、权限、修改时间
读取文件在线读配置内容(默认最多 64 KB)
执行命令返回 stdout + stderr + 退出码
写入文件走 SFTP 写入,不会像 shell 重定向那样破坏引号与换行
查询命令用法内置 616 条 Linux 命令表,不确定参数时查它而不是猜
提议命令把命令填进你的终端输入行,不带换行 —— 由你自己按回车
提交执行计划先把方案交给你审批,批准后才动手(计划模式)
  • 你可以随时打断。对话进行中有「停止」按钮;切换标签页时对话在后台继续,切回来接着看。
  • 推理过程可见。使用推理模型时,回答里的「思考过程」可以展开查看。推理强度五档可调(关闭 / 最低 / 低 / 中 / 高)—— 模型不支持所选档位时会自动收敛,并在界面上告诉你实际生效的档位。

五档权限管控:AI 的动手范围由你决定

这是 PxShell 和「给个聊天框就完事」最大的区别。AI 的每一次写操作都要过一道 本地判定,风险分三级(低 / 警告 / 高危),而由你选择管控强度

五档权限模式对照表
模式读操作 普通写操作高危操作
只读放行拒绝,AI 改用「命令建议」拒绝
计划放行提交计划获批前拒绝;获批后放行获批后仍需单独确认
手动确认(默认)放行逐条弹窗确认逐条弹窗确认
自动(除高危)放行直接执行弹窗确认
完全自主放行直接执行直接执行

计划模式值得单独说:AI 先用只读工具把环境摸清楚,然后提交一份分步骤、 写明影响范围与回滚方式的执行计划,你批准之后才开始执行。批准是「当轮租约」—— 一次批准只对当前这轮有效,下条消息重新走「探测 → 出计划 → 批准」。 计划被拒绝时 AI 按你的意见修改后重新提交,同一轮最多 3 版,不会来回打转。

三道保护,让你敢于用它碰生产环境

  • 风险判定在本地、在模型之外。递归强制删除、分区操作、关机重启、 停用 sshd 或防火墙、管道执行远程脚本、卸载软件包、DROP/TRUNCATE、 不带 WHEREDELETE…… 一共 75 条规则, 全部在命令送到服务器之前判定。复合命令会拆成多段逐段判断, ls && rm -rf / 藏不住后半段。
  • 高危操作永远不能「记住」。确认卡片上有「本会话内不再询问该命令」的勾选框, 但高危级别永远不提供这个选项 —— 一次放行一条高危命令是不可能的。
  • 模型改口也没用。判定不受 AI 影响,它无法说服系统放行。

关于确认弹窗:卡片上会显示风险标签、工具名、判定理由、完整命令,以及 AI 自己填写的「目的」说明。 用户应答、超时、AI 中止、窗口关闭、连接断开 —— 五条路径都会结算并清理,不会留下一张点不动的过期卡片。 计划审批永不超时,会一直等你答复;窗口重新加载后卡片也会自动恢复。

需要说明的是:风险判定是保护措施,不是安全边界。它「拿不准就升级等级」, 但不可能覆盖所有情况。涉及生产环境时请使用计划模式或只读模式。

风险等级配色:一眼看出这是哪台机器

给连接设置风险等级,整个窗口会跟着变色:

等级颜色适用场景
低风险绿色测试机、开发环境
警告琥珀色预发布、内部服务
高危红色生产数据库、核心网关

这不是换个标签色,而是整个窗口的背景、侧栏、状态栏一起变色。 当你要在一堆标签页里操作生产库时,这个视觉提示比任何标记都管用。

同样的机制也用在编辑器窗口上 —— 用 Monaco 打开一个高危连接上的文件时, 编辑窗口本身也是红色的。

SFTP 文件管理

浏览

  • 名称、大小、修改时间、权限四列都可排序,目录永远排在文件前面
  • 路径栏输入直达,「上级」一键返回
  • 「计算大小」按需统计目录占用(远端 du 实算,结果缓存)

下载

  • 单文件下载 —— 系统保存对话框,实时进度
  • 整个目录下载 —— 递归扫描后逐文件传输,重名时可选择合并覆盖
  • 打包下载 —— 远端直接 tar 打成一个压缩包再拉回来,小文件多的时候快得多;传输完成后远端临时文件自动清理,取消也会清理

上传

  • 工具栏「上传」按钮多选文件
  • 直接拖拽 —— 文件、文件夹、混合拖进来都行,整个目录会递归保持结构
  • 拖拽队列最多 3 个任务并发,不会一次把带宽打满
  • 任何传输都可以中途取消 —— 上传用的是手写的流式管道,取消是立即生效的

在线编辑

  • 双击文件用 Monaco 编辑器打开(独立窗口,不占用终端)
  • 支持 20 多种语言的语法高亮,Ctrl+S 保存
  • 也可以「使用系统编辑器打开」—— 下载到本地临时目录后交给你的默认程序,改完再由你自己传回去

压缩包

  • 在线解压到当前目录,或指定目标目录
  • 支持 zip / tar / tar.gz / gz / tar.bz2 / tar.xz / rar / 7z,以及 jar / war / ear

其他

  • 复制完整路径、删除(有二次确认)
  • 已浏览过的目录会在后台预取子目录内容,翻目录时基本感觉不到等待

传输管理器:所有任务一目了然

一个悬浮的小面板,在任何页面都能看到 —— 正在传什么、进度多少、还剩多久。

  • 可拖动 —— 拖到顺手的位置,位置会记住
  • 可最小化 —— 缩成一个带任务数量角标的小圆点,不挡视线
  • 可取消 —— 每个进行中的任务都有取消按钮
  • 定位文件 —— 传完一键在系统文件管理器里打开所在目录
  • 刷新不丢 —— 任务列表会持久化,重载界面后还在

终端体验

基于 xterm 的完整终端,加上一堆「用了就回不去」的细节:

  • 多行粘贴警告 —— 粘贴多行内容时先给你看前 5 行再决定。可以「执行」,也可以「编辑命令」打开一个编辑框改完再执行。手滑粘贴半个脚本上去这种事不会再发生了
  • Ctrl+C 智能判断 —— 有选中内容时是复制,没有选中时才是中断信号
  • 右键菜单 —— 复制 / 粘贴 / 全选 / 清除
  • 自动适配窗口 —— 拖动分栏、展开收起 AI 面板,终端会自动重新 fit 并向服务器同步新的行列数,不会出现错行

服务器状态栏

每个会话底部有一条状态栏,每 5 秒刷新一次:

IP: · CPU: 12% · 内存: 2048 / 7936 MB (26%) · 负载: · 网络: ↓ 1.2 MB/s ↑ 340 KB/s · CPU型号:

双击状态栏打开完整的服务器详细信息:操作系统、CPU 信息、内存使用、磁盘使用。

连接断了会自动停止轮询,重连成功后自动恢复。

连接管理

  • 分组归类 —— 分组可新建、重命名、删除;支持按钮和拖拽两种方式调整顺序;分组可折叠
  • 密码或私钥 —— 两种认证方式都支持,私钥直接粘贴内容即可(同时填了就优先用私钥)
  • 双击连接 —— 立即打开会话
  • 断线自动重连 —— 网络抖动、服务器重启导致断开时,每 3 秒自动重试,界面上有明确提示;重连成功后终端和状态栏自动恢复
  • 风险等级 —— 每个连接可标记低风险 / 警告 / 高危
  • 连接信息保存在本地,不需要注册账号,也不经过任何云端中转

十一家 AI 服务商,两种协议,也能完全本地

内置预设(一键填入协议和地址):

OpenAI · Anthropic (Claude) · DeepSeek · Kimi (月之暗面) · 通义千问 (DashScope) · 智谱 GLM · MiniMax · OpenRouter · Ollama (本地)

外加两个自定义入口:自定义 OpenAI 兼容自定义 Anthropic 兼容

请求地址可以改,所以自建网关、vLLM、LM Studio、公司内部代理都能接。 如果你在意数据不出内网,接本机 Ollama 就能做到 AI 全流程本地化 —— 对话内容和服务器信息都不离开你的机器。

模型列表是实时拉取的。点「测试连接」直接读服务商的模型接口, 而不是内置一份很快就会过期的模型名单。也可以手动填写,格式为 模型ID | 显示名 | 上下文窗口 | 最大输出(后三项可省略)。

模型和推理强度可以随时切换,在对话输入框下方就能改。 切换会写回全局默认值,所以新开的连接沿用同一套选择,不会出现「换个标签页模型就变了」。

密钥安全

  • API Key 只写不读 —— 保存后界面只显示 sk-****3f2a 这样的脱敏提示,明文永远不会回到界面上
  • 落库使用操作系统提供的安全存储加密(Windows 凭据管理 / macOS 钥匙串 / Linux 密钥环)
  • 系统不支持安全存储时会明确告知你密钥将明文保存,而不是悄悄降级
  • 换了电脑或系统账号导致密钥解不开时,界面会显示「密钥已失效」并提示重新填写,而不是假装一切正常

Screenshots

界面预览

点击任意一张可以放大查看。

主界面:左侧 SSH 终端、中间文件管理面板、右侧 AI 助手对话区,底部服务器状态栏。
主界面全景 —— 终端、文件、AI 三栏同屏
AI 助手正在调用工具:先读取服务器信息,再把命令作为建议填入终端输入行。
AI 调用工具并给出命令建议,不自动执行
计划模式下的 AI 对话,AI 说明写操作需要用户批准后才会执行。
计划模式 —— 写操作要等你批准
AI 服务商设置界面,包含预设服务商列表和模型列表。
11 家服务商预设 + 自定义入口,模型列表实时拉取
文件面板中的目录打包下载操作。
整个目录打包下载,远端 tar 好再拉回来
在线解压压缩包到指定目录。
在线解压,支持 8 种压缩格式
文件上传进度面板。
传输管理器,任何页面都能看到进度

Scenarios

典型使用场景

01

凌晨三点,nginx 起不来

连上服务器,打开 AI 面板,问一句「nginx 为什么起不来?」。 AI 自己去读 systemctl status nginx、翻 /var/log/nginx/error.log、 看 nginx -t 的报错,然后告诉你:配置文件第 42 行多了一个分号。 它把修复命令作为建议给你 —— 命令填进终端输入行但不自动执行, 你看一眼,按回车,完事。

用到:AI 助手(只读模式即可)、命令建议、插入终端

02

部署一个新版本

本地打完包,直接把整个 dist 文件夹拖到 PxShell 的文件面板上。 传输面板在角落里显示进度,你可以同时用终端盯着日志。 传完右键解压,用 Monaco 打开配置文件改两行,Ctrl+S 保存, 在终端里重启服务。整个过程没有离开过一个窗口。

用到:拖拽上传、在线解压、Monaco 在线编辑、传输管理器

03

在生产库上干活

这个连接被标记为高危,整个窗口是红色的 —— 你一眼就知道自己现在不是在做实验。 让 AI 帮你排查一个慢查询。你想让它顺手加个索引,它先提交了一份执行计划: 分几步、执行哪些 SQL、影响哪张表、出问题怎么回滚。你看完,点了「允许执行」。 它在执行 DROP 这类高危语句时仍然会单独弹窗,需要你再确认一次。

用到:风险等级配色、计划模式、高危单独确认、danger 不可记住

04

把一个 20 GB 的目录搬走

先点「计算大小」看看占用,确认不是 200 GB。然后「打包下载」—— 远端直接打成 .tar.gz 再传输,比逐个文件拉快一个数量级。 中途发现选错了目录,点取消,远端的临时压缩包也会被清理掉

用到:计算大小、打包下载、传输取消与清理

Specs

技术规格

当前版本1.0.4
应用标识com.pxindust.shell
支持平台Windows / macOS / Linux
界面语言简体中文
技术栈Electron 39 · Vue 3.5 · TypeScript · Vite 7
界面框架Naive UI(暗色主题)
终端xterm
文件传输SFTP(ssh2)
代码编辑器Monaco Editor
本地存储SQLite
AI 框架Pi agent
支持协议SSH、SFTP、OpenAI 兼容 API、Anthropic 兼容 API

下载 PxShell

Windows 安装包已可下载,macOS 与 Linux 版本正在准备中。

v1.0.4 · 98.0 MB · Windows x64 · 内测版