[{"Slug":"overview","Title":"概述","Group":"开始使用","Text":"OpsXShell 是什么 OpsXShell 是基于 Tauri 2 与 Rust 的 原生桌面 运维终端:SSH 多标签分屏、SFTP、端口转发、RDP/VNC、串口与可选终端 AI。 操作入口 :桌面客户端( ) 本站 :产品官网与文档( → Gin) 不做 :堡垒机、审计审批、浏览器里的终端工作台 下载与校验和见 。"},{"Slug":"quickstart","Title":"快速上手","Group":"开始使用","Text":"使用指南 OpsXShell 主打简单好用:常用远程操作走短路径,高级选项默认收起。不做堡垒审计。 安装(macOS) 从 打开 ,把 OpsXShell 拖到「应用程序」。Finder 里应是 Tauri 那套大图标布局(应用在左、Applications 在右)。 已经 staple 的正式包 一般可直接打开。 自己改代码后重新打包:先 (本机有签名配置就会签 Developer ID),再 (会要 App 专用密码)。新打的 DMG 在公证完成前仍会被 Gatekeeper 拦截。你现在要做的步骤见 。 快速连接 按 ,输入 或 后连接。默认端口为 。快速连接适合临时使用,不会自动保存会话。 需要长期使用时新建保存会话,选择密码或私钥认证,并按需设置分组、标签和启动命令。未填写密码或私钥的导入会话会尝试本机 SSH Agent 和常见默认密钥。 侧边栏分组内可上下拖拽主机调整顺序。拖到另一分组的标题上会放到该组末尾;分组展开后也可以直接拖到组内某一主机的上方或下方插入。在分组标题右键可选择「按名称排序」一次性重排。顺序会保存,新建的主机排在组末尾;搜索过滤和批量多选模式下暂不可拖拽。 安装版支持系统链接,例如: 点击后会唤起 OpsXShell,并打开已填好目标的快速连接窗口。为了避免网页静默连接陌生服务器,仍需用户确认连接;链接中禁止携带密码、远程路径、查询参数或片段。 代理与跳板 会话的高级选项支持: HTTP CONNECT 代理 SOCKS5 代理 可选代理用户名和密码 选择一个已保存会话作为跳板机 代理和跳板互斥,选择其中一个会清除另一个,避免连接路径含糊。界面保持单跳操作;Rust 连接层可处理已有配置中的最多 8 跳链。 端口转发与 SOCKS5 SSH 连接后,可在状态栏点击「转发」打开右侧抽屉,管理本地转发、远程转发和动态 SOCKS5。动态转发使本机成为 SOCKS5 代理,流量经当前 SSH 服务器出口 IP 访问外网。默认地址: 动态转发每台 SSH 主机仅一条,端口固定 ;在抽屉中直接启停。 状态栏「转发」右键可复制 。需要远程 DNS 解析的命令行工具应使用 ,例如 。 本地转发:本机监听默认只需填端口(绑定 / localhost,等同 );需要局域网访问时再展开高级项改为内网 IP 或 。目标主机相对当前 SSH 服务器(常用 或内网 IP),不是会话页主机名,且不能填 。 本地 / 远程规则在抽屉列表中添加、启停和删除;“停止”会关闭 Rust Listener,不是只改界面图标。 远程转发( ):远端监听填 (仅 SSH 服务器本机可访问)或 (远端内网其它主机也可访问,需 sshd 或 )。目标为本机或内网 (不能填 )。服务器还需 或 ;监听端口不能已被占用; 通常需要 root。可用 对照。 “复制规则”会创建独立的新规则,便于只修改端口或目标;不会复制原规则的运行状态。 运行中的规则选择“编辑”时,会先提示停止真实监听,再允许保存新配置。 保存的是规则,不是“运行中”状态;应用重启后需要用户再次启动。同一窗口内只要没点「停止」,SSH 断线、保活失败、空闲挂起或重连都会继续监听(本地 / SOCKS 端口不拆,远程转发会自动重听)。点停止、关闭标签、连接面板手动断开,或退出应用,才会关闭真实 Listener。关闭标签后再开同一会话不会自动拉起转发。 SOCKS5 默认仅监听本机,当前不提供局域网开放和客户端密码认证。 连接保活与重连 默认对齐常见 SSH / RDP 客户端,分三层,不要把「窗口还开着」理解成无视服务器超时: 链路心跳 :空闲时发 SSH 协议 keep alive(不写入 Shell)。挡的是 NAT/防火墙丢掉空闲 TCP,挡不住 Bash 或 Windows 空闲 GPO。 意外断线 :终端、SFTP 或远程桌面标签还开着时,有限次自动重连。SSH 重连后是新 Shell(长任务请在服务器上用 / );SFTP 会回到断线前的远程目录;RDP/VNC 重连是新会话,不会发假鼠标。 会话策略 :远端 / 只关掉那一格 Shell,点「重新打开 Shell」即可。关标签、空闲挂起不会硬续连接。 设置里的「保持心跳」和「自动重连」对应前两层;第三层尊重服务器,客户端不伪造按键。 远程桌面(RDP / VNC) 欢迎页或会话入口可打开 RDP / VNC 连接对话框(仅原生桌面应用): RDP:填写主机、端口、用户名、密码与可选域名;原生 IronRDP 引擎,支持剪贴板同步与共享盘(本机下载目录对应远端共享盘)。画面铺满当前窗口(任务栏贴底),连接时按窗口客户区请求分辨率;窗口缩放后再走 Display Control。 VNC:填写主机、端口与可选密码;原生 RFB 引擎,剪贴板按 UTF 8 发送。 连接后在独立标签中显示画面;工具栏可粘贴本机剪贴板、放入共享盘文件(RDP)或重新连接。标签还开着时网络闪断会有限次自动重连(新会话,不对抗服务器空闲注销)。 桌面会话不参与批量命令与终端广播。 导入 OpenSSH 配置 从应用菜单选择“文件 导入会话”,打开 。当前解析以下常用字段: 单个 别名 包含 、 或 的 Host 模式不会生成会话。导入后请检查目标、用户名、密钥路径和跳板关系再连接。 会话导出默认保存为 (密码加密的主机清单,格式类似 KeePass 、MobaXterm )。旧版 与 OpenSSH 仍可导入。导出包含主机分组、密钥和密码,务必保管备份密码。 SFTP SFTP 使用双栏文件管理器。中间箭头可上传/下载;上传和下载先写入 临时文件,中断后再次传输同一路径会从已有字节继续。传输完成并通过大小校验后才替\ufffd"},{"Slug":"ai","Title":"终端 AI","Group":"进阶","Text":"SSH Agent CLI 设计与演进 更新:2026 07 30 定位:OpsXShell 内置的轻量 SSH 运维 Agent,不是 AIOps 平台、堡垒机或 Kubernetes 控制面。 结论 OpsXShell 适合吸收 aiops Agent CLI 的执行 Harness,不适合照搬它的 WebSocket、服务器资产库、审计、审批、Kubernetes 专用工具和默认持久化记忆。 产品目标是:用户在已连接的 SSH 终端中输入自然语言任务,Agent 通过少量、边界清晰的工具获取真实证据,按用户选择的安全模式决定确认阈值,失败后根据输出换方法,最后给出有证据的结论。无论选择哪种模式,目标主机始终可见,critical 命令始终硬拒绝。 设计边界声明:OpsXShell Agent 只服务桌面端当前 SSH 会话。任务开始时锁定当前 connectionId,后续执行和取消始终作用于该连接;标签切换不得让任务迁移到另一台主机。Agent 专用 SSH 结果在 Rust 原生层脱敏后才返回界面和模型上下文。OpsXShell 不复用 OpsXCLI 的本机执行器,也不承担 AIOps 的资产授权、审批和永久审计职责。 参考来源 本设计已逐篇评估同级 及它们引用的工程基线: :推理、行动和观察交替。 :仅在有明确反馈回路和人工监督时使用 Agent。 :自主管理 Prompt、上下文、工具、暂停和确认。 :面向模型设计稳定的 Agent Computer Interface,不直接暴露人类 UI。 :重点防范 Prompt Injection、敏感信息泄露、不安全工具和过度自主权。 当前已落地基线 交互 终端工具栏只保留一个 入口。 面板只有主机、LLM、任务输入和一个“执行”按钮;回车发送, 换行。 不再让用户先判断“解释 / 生成命令 / 排障 / 执行任务”。Agent 根据任务和真实观察自行决定是继续取证还是收敛。 只自动附带用户当前明确选中的终端内容,不默认抓取整屏。 ReAct Harness 单次任务最多 12 步。aiops 默认 16 轮适合后端异步任务;OpsXShell 是前台桌面工具,12 步兼顾排查+修复与注意力、时延、成本。 相同命令最多出现 2 次,第 3 次在执行前停止。 第 6 轮检查是否已有足够证据,第 12 轮强制优先收敛;连续失败时 Prompt 要求更换排查路径。 单步输出进入 Agent 前有 12,000 字符上限,任务观察上下文有 48,000 字符上限。 是本地确定性工具:统计行数、提取错误关键行、保留首尾,不为压缩输出额外调用模型。 安全边界 等级 示例 严格模式 宽松模式(默认) safe 、 自动执行 自动执行 low 未知自定义查询命令 自动执行 自动执行 medium 文件写入、普通权限变更 先确认 自动执行 high 服务重启、删除、包安装、K8s 变更 先确认 先确认 critical 格式化磁盘、删除根目录、fork bomb 硬拒绝 硬拒绝 安全模式在任务开始时锁定,运行中不能切换;需要确认时,对话框必须显示本次锁定模式、目标、风险和完整单行命令。critical 在前端与 Rust 都会硬拒绝。旧文档里的「均衡 / 宽松第三级」已合并为宽松。 终端输出被标记为不可信数据,不得将日志中的“忽略规则”等文字当作指令。常见密码、Token、Authorization Header、AWS Key 和私钥块在 Rust 发送 Provider 前脱敏。 数据与记忆 当前不持久化任务、AI 回答、命令或工具输出。关闭面板即丢弃运行上下文。这与 OpsXShell “快捷客户端,不做审计和堡垒机”的边界一致。 aiops 能力取舍 aiops 能力 OpsXShell 结论 原因 / 适配方式 OpenAI / Anthropic LLM 适配 已吸收 保留 OpenAI Chat、Responses、Anthropic Compatible 及自定义 Provider 已吸收 固定使用当前活跃 ,不重新管理一套凭据 已适配 本地确定性摘要,降低 token 和幻觉 ReAct 16 轮 适配为 12 步 GUI 前台执行;12 步够排查+验证,仍低于后台异步 16 轮 失败反馈和循环检测 已吸收 退出码和真实输出回传,连续失败换路,相同命令限次 五级风险 已吸收 critical 硬拒绝,其他等级按安全模式阈值确认 两级安全模式 已适配 严格从 medium、宽松从 high 确认;critical 前后端均硬拒绝 WebSocket 事件流 不照搬 本地 React/Tauri 没有跨程服务器会话,使用内存状态即可 审计、审批、RBAC 不引入 属于 aiops/堡垒机,不是本地 SSH 客户端职责 podexec/K8s 专用工具 不引入 可沿远程 SSH 工具使用,不引入第二套目标和凭据边界 CMDB/告警/指标工具 不内置 这是 aiops 平台上下文;未来可通过用户显式配置的 MCP/网关扩展,不绑入 SSH 核心 自进化与四层记忆评估 aiops Evolver 的 Experience、Fact、Procedure、Skill 对平台很有价值,但直接搬到本地 SSH 客户端会与“不保存命令和工具输出”冲突,也容易把 IP、用户名、Token、日志和错误数据长期沉淀。 建议分四层,但只启用第一层: 层 内容 默认策略 L0 运行观察 当前任务的命令、退出码和截断输出 已实现,只在面板内存,关闭即清空 L1 主机事实 OS、包管理器、服务名等稳定事实 默认禁用;未来需逐主机开关、过期时间和可视化删除 L2 程序经验 脱敏后的通用排障步骤,不带主机和输出原文 默认禁用;只能由用户预览、编辑后显式保存 L3 Runbook/Skill 可重复使用的任务模板和参数 作为未来显式功能,类似脚本库,不由 Agent 静默写入 在没有完成“可查看、可编辑、可删除、可禁用、来源可解释、脱敏可验收”前,不得启用自动长期记忆。 演进架构 当前轻量循环在 React 面板内组装,下一阶段应将其抽成不依赖 UI 的 Agent Runtime: 长期应优先使用 Provider 的原生 tool calling / tool use,而不是依赖 bash 代码块。在 OpenAI Chat、Responses 和 Ant"}]