feat: release OpsXShell 2.1.1

This commit is contained in:
Logan.Li committed 2026-07-31 01:37:01 +08:00
1 parent a3dba0c6ed
commit 494ef6b9d0
37 files changed
+2039 -370

No files matched your search

+9 -8
View File
@@ -75,6 +75,7 @@ SFTP 使用双栏文件管理器。上传和下载先写入 `.opsx-part` 临时
- `Cmd/Ctrl + D`:分屏当前终端
- `Cmd/Ctrl + W`:关闭当前标签
- 会话侧栏进入批量模式后,可同时打开终端、SFTP,或在多个主机执行同一条命令
- 如果远端 Bash 因 `TMOUT` 显示 `timed out waiting for input: auto-logout`,OpsXShell 会标记只有该 Shell/分屏退出。SSH 连接、其他分屏、SFTP 和隧道仍可用,点击“重新打开 Shell”即可继续。
批量命令结果只保留在当前弹窗。OpsXShell 不持久化终端命令历史。
@@ -94,15 +95,15 @@ SFTP 使用双栏文件管理器。上传和下载先写入 `.opsx-part` 临时
预设模型参考 models.dev 与各供应商兼容接口维护。new-api、One API、OpenRouter 等网关使用“自定义”或相应预设,填写自己的 `/v1` Endpoint 和实际模型 ID。
终端工具栏点击“AI”打开助手:
终端工具栏点击“AI 助手”打开 Agent CLI:
- 终端已有选区时,只发送选区。
- 没有选区时,默认不发送任何终端内容;勾选“无选区时附带当前屏幕”才会读取当前焦点分屏的可见行。
- Rust 会在联网前做常见敏感信息脱敏,面板会显示发送行数和脱敏数量。
- AI 结果只提供复制;当回答中恰好有一个单行 shell 代码块时,额外提供“填入终端”。填入不会附加回车,仍需人工检查和执行。
- 多行脚本不允许直接填入。关闭面板后问题、上下文和回答全部清空。
- “执行任务”固定复用当前已连接的 SSH 会话。AI 先准备唯一的单行远程命令,界面显示目标与命令;用户再次确认后才调用原生 `ssh-exec` 执行一次。
- 执行后的真实输出会回给 AI 生成简短结论。每次后续命令都必须重新确认,命令与输出不写入历史。
- 直接输入任务,例如“排查 nginx 为什么启动失败并修复”。回车发送,`Shift+回车` 换行;不需要先选“解释 / 生成命令 / 排障 / 执行”。
- 有终端选区时会作为初始上下文;没有选区时不抓取整屏,Agent 通过真实 `ssh-exec` 自主取证。
- Agent 最多执行 8 步。每步只能准备一条单行命令,界面会显示当前主机、命令和五级风险;你确认后才真实执行。
- 格式化磁盘、删除根目录等 critical 命令会被硬拒绝,不提供确认放行。相同命令第 3 次会在执行前拦截。
- 执行后的真实输出和退出码会回给 AI,用于判断下一步或收敛结论。连续失败时 Agent 会被要求换方法。
- 长输出由本地 `analyze_output` 提取错误行并保留首尾;Rust 在发给云模型前做常见敏感信息脱敏。
- 关闭面板后任务、命令、工具输出和回答全部清空,不写入历史。
- 不提供独立 podexec。远程服务器已有的 `kubectl`、`helm`、`docker` 等工具都通过同一 SSH 执行链使用,避免额外管理本机 kubeconfig 和执行目标。
云模型会把所选上下文发给相应供应商;有严格数据边界时使用本机 Ollama,并仅在可信本机上开启 HTTP。OpsXShell 不保存 AI 对话、终端上下文或长期记忆。