feat: release OpsXShell 2.1.0 native Tauri edition
This commit is contained in:
1 parent
e9a0d21758
commit
a3dba0c6ed
311 files changed
+31748
-14897
No files matched your search
@@ -0,0 +1,118 @@
|
||||
# 使用指南
|
||||
|
||||
## 快速连接
|
||||
|
||||
按 `Cmd/Ctrl + K`,输入 `user@host` 或 `user@host:port` 后连接。默认端口为 `22`。快速连接适合临时使用,不会自动保存会话。
|
||||
|
||||
需要长期使用时新建保存会话,选择密码或私钥认证,并按需设置分组、标签和启动命令。未填写密码或私钥的导入会话会尝试本机 SSH Agent 和常见默认密钥。
|
||||
|
||||
安装版支持系统链接,例如:
|
||||
|
||||
```text
|
||||
ssh://root@opsbase.cn:55555
|
||||
```
|
||||
|
||||
点击后会唤起 OpsXShell,并打开已填好目标的快速连接窗口。为了避免网页静默连接陌生服务器,仍需用户确认连接;链接中禁止携带密码、远程路径、查询参数或片段。
|
||||
|
||||
## 代理与跳板
|
||||
|
||||
会话的高级选项支持:
|
||||
|
||||
- HTTP CONNECT 代理
|
||||
- SOCKS5 代理
|
||||
- 可选代理用户名和密码
|
||||
- 选择一个已保存会话作为跳板机
|
||||
|
||||
代理和跳板互斥,选择其中一个会清除另一个,避免连接路径含糊。界面保持单跳操作;Rust 连接层可处理已有配置中的最多 8 跳链。
|
||||
|
||||
## 端口转发与 SOCKS5
|
||||
|
||||
端口转发页面支持本地转发、远程转发和动态 SOCKS5。普通用户可直接点击“启动 SOCKS5”,默认创建:
|
||||
|
||||
```text
|
||||
socks5://127.0.0.1:1080
|
||||
```
|
||||
|
||||
- 启动后卡片显示真实绑定端口、活动连接数和上下行流量。
|
||||
- 复制按钮复制 `socks5://127.0.0.1:<端口>`。需要远程 DNS 解析的命令行工具应使用 `socks5h`,例如 `curl --proxy socks5h://127.0.0.1:1080 https://example.com`。
|
||||
- “停止”会关闭 Rust Listener,不是只改界面图标。删除运行中的规则会先停止再删除。
|
||||
- “复制规则”会创建独立的新规则,便于只修改端口或目标;不会复制原规则的运行状态。
|
||||
- 运行中的规则选择“编辑”时,会先提示停止真实监听,再允许保存新配置。
|
||||
- 保存的是规则,不是“运行中”状态;应用重启后需要用户再次启动。
|
||||
- SOCKS5 默认仅监听本机,当前不提供局域网开放和客户端密码认证。
|
||||
|
||||
## 导入 OpenSSH 配置
|
||||
|
||||
从应用菜单选择“文件 > 导入会话”,打开 `~/.ssh/config`。当前解析以下常用字段:
|
||||
|
||||
- `Host`
|
||||
- `HostName`
|
||||
- `User`
|
||||
- `Port`
|
||||
- `IdentityFile`
|
||||
- 单个 `ProxyJump` 别名
|
||||
|
||||
包含 `*`、`?` 或 `!` 的 Host 模式不会生成会话。导入后请检查目标、用户名、密钥路径和跳板关系再连接。
|
||||
|
||||
会话导出为 JSON,不包含密码、私钥口令或代理密码;私钥路径会保留,便于在同一台电脑恢复配置。
|
||||
|
||||
## SFTP
|
||||
|
||||
SFTP 使用双栏文件管理器。上传和下载先写入 `.opsx-part` 临时文件,中断后再次传输同一路径会从已有字节继续。传输完成并通过大小校验后才替换正式文件,因此失败传输不会伪装成完整文件。
|
||||
|
||||
- 上传:在左侧本地栏选中文件后点击“上传”;未选择文件时点击“上传”会打开系统原生文件选择器。
|
||||
- 下载:在右侧远程栏选中文件后点击“下载”。下载按钮在未选择远程文件时保持禁用。
|
||||
- 文件右键菜单也提供对应的“上传”或“下载”操作。
|
||||
- 可直接把左侧本地文件拖到右侧远程栏上传,也可把右侧远程文件拖到左侧本地栏下载;拖到目录行时以该目录为目标,并显示落点高亮。
|
||||
- 当前拖拽只支持单个文件,不递归传输目录;同侧拖拽不会执行移动或重命名。
|
||||
- 远程文本编辑的“打开/保存”直接读写远程文件,不会在本地创建同名文件,也不等同于上传或下载。
|
||||
- 传输失败会在传输队列和界面通知中显示 Rust/SFTP 返回的具体原因。
|
||||
|
||||
当前目标文件采用覆盖语义。内容哈希校验和显式冲突选择仍在路线图中。
|
||||
|
||||
## 终端与批量命令
|
||||
|
||||
- `Cmd/Ctrl + D`:分屏当前终端
|
||||
- `Cmd/Ctrl + W`:关闭当前标签
|
||||
- 会话侧栏进入批量模式后,可同时打开终端、SFTP,或在多个主机执行同一条命令
|
||||
|
||||
批量命令结果只保留在当前弹窗。OpsXShell 不持久化终端命令历史。
|
||||
|
||||
## 本地终端与串口
|
||||
|
||||
快速启动入口可打开系统默认 Shell。串口入口会列出系统设备,可设置波特率、数据位、停止位和校验方式后连接终端设备。
|
||||
|
||||
## 大模型设置与终端助手
|
||||
|
||||
在“设置 → 大模型”中添加 Provider。内置预设包含 DeepSeek、Z.AI/GLM、MiniMax、Kimi、Qwen、OpenAI、Anthropic、OpenRouter、Ollama 和 new-api;也可以从空白配置开始。
|
||||
|
||||
1. 选择供应商预设或“自定义”。新配置只在当前表单中暂存。
|
||||
2. 选择模型,核对 Endpoint,输入 API Key。协议和 HTTP 开关位于默认收起的“高级设置”。
|
||||
3. 点击“测试连接”。Rust 使用当前表单实际向目标模型发送“你是什么模型?请简短回答。”,但不会保存 Provider 或 API Key。只有服务返回成功状态且回答非空时界面才显示 `HTTP 200`。
|
||||
4. 测试成功后“保存”按钮才会启用。Endpoint、模型、协议或凭据变化后,测试结果立即失效,必须重新测试。
|
||||
5. 保存时 API Key 进入 Rust 加密存储,普通设置 JSON 不包含明文,界面重新打开后也不会回显。
|
||||
|
||||
预设模型参考 models.dev 与各供应商兼容接口维护。new-api、One API、OpenRouter 等网关使用“自定义”或相应预设,填写自己的 `/v1` Endpoint 和实际模型 ID。
|
||||
|
||||
终端工具栏点击“AI”打开助手:
|
||||
|
||||
- 终端已有选区时,只发送选区。
|
||||
- 没有选区时,默认不发送任何终端内容;勾选“无选区时附带当前屏幕”才会读取当前焦点分屏的可见行。
|
||||
- Rust 会在联网前做常见敏感信息脱敏,面板会显示发送行数和脱敏数量。
|
||||
- AI 结果只提供复制;当回答中恰好有一个单行 shell 代码块时,额外提供“填入终端”。填入不会附加回车,仍需人工检查和执行。
|
||||
- 多行脚本不允许直接填入。关闭面板后问题、上下文和回答全部清空。
|
||||
- “执行任务”固定复用当前已连接的 SSH 会话。AI 先准备唯一的单行远程命令,界面显示目标与命令;用户再次确认后才调用原生 `ssh-exec` 执行一次。
|
||||
- 执行后的真实输出会回给 AI 生成简短结论。每次后续命令都必须重新确认,命令与输出不写入历史。
|
||||
- 不提供独立 podexec。远程服务器已有的 `kubectl`、`helm`、`docker` 等工具都通过同一 SSH 执行链使用,避免额外管理本机 kubeconfig 和执行目标。
|
||||
|
||||
云模型会把所选上下文发给相应供应商;有严格数据边界时使用本机 Ollama,并仅在可信本机上开启 HTTP。OpsXShell 不保存 AI 对话、终端上下文或长期记忆。
|
||||
|
||||
## 本地数据
|
||||
|
||||
设置“关于”页会显示当前系统的实际数据路径。会话密码、私钥口令、代理密码和大模型 API Key 使用 AES-256-GCM 加密。主密钥位于:
|
||||
|
||||
```text
|
||||
~/.opsxshsell/master.key
|
||||
```
|
||||
|
||||
Unix 系统中目录权限为 `0700`,密钥文件权限为 `0600`。主机信任记录使用 `~/.ssh/known_hosts`。
|
||||
Reference in new issue
Block a user