feat: command snippets + UI test coverage for new features
- core/snippets.py: SnippetManager with 20 prebuilt sysadmin commands, CRUD + reorder, persisted to ~/.sshclient/snippets.json - ui/snippet_dialog.py: SnippetDialog (add/edit) + SnippetManagerDialog (table view with add/edit/delete/move up/down) - ui/terminal_panel.py: snippet combo box in toolbar, send_command() method to inject commands into interactive shell, snippet manager button - README.md: updated feature table, usage section, project structure - test_ui.py: added [2/4] checks for sparkline/snippets/theme, added [4/4] theme toggle verification
This commit is contained in:
@@ -9,10 +9,14 @@
|
||||
| 模块 | 说明 |
|
||||
| --- | --- |
|
||||
| 多主机管理 | 增删改查、密码/私钥双认证、配置导入导出、配置持久化到 `~/.sshclient/` |
|
||||
| 远程终端 | 命令执行 + 输出捕获 + 退出码 + 超时控制 + 常用命令快捷栏 |
|
||||
| 远程终端 | 真实交互式 shell(Xshell 风格)、ANSI 颜色、本地历史、Ctrl+A/E/U/K/W 快捷键 |
|
||||
| 命令片段 | 20+ 预置常用命令(ss/df/ps/docker/systemctl…),一键发送到终端,自定义增删改 |
|
||||
| SFTP 文件浏览 | 目录树浏览、上传/下载(带进度条)、新建目录、删除、重命名、双击进入 |
|
||||
| 实时监控 | CPU/内存/负载/启动时间/磁盘/网络速率,1-10 秒可调刷新间隔 |
|
||||
| AI Agent | OpenAI 兼容 API(OpenAI / DeepSeek / Moonshot / 通义千问 / Ollama 等),5 个工具自动调用:执行命令、查指标、列文件、读文件、上传 |
|
||||
| 实时监控 | CPU/内存/负载/启动时间/磁盘/网络速率/进程列表,1-10 秒可调刷新间隔 |
|
||||
| 趋势迷你图 | CPU 和内存使用率实时折线图,最近 60 个采样点,一目了然 |
|
||||
| 进程管理 | 进程表(500 条)、搜索过滤、CPU/内存排序、树形视图、右键杀进程、批量操作 |
|
||||
| AI Agent | OpenAI 兼容 API(OpenAI / DeepSeek / Moonshot / 通义千问 / Ollama 等),5 个工具自动调用 |
|
||||
| 暗色主题 | 视图菜单一键切换暗/亮主题,偏好自动持久化 |
|
||||
| 跨平台 | 代码兼容 Windows / macOS / Linux(PyQt5 + paramiko) |
|
||||
|
||||
## 📦 在 Windows 上构建 exe
|
||||
@@ -58,13 +62,15 @@ python test_e2e.py # 端到端测试(需本机或可访问的 sshd)
|
||||
选中主机 → **🔌 连接**。状态指示器变绿后即可使用。
|
||||
|
||||
### 3. 终端
|
||||
**⌨ 终端** Tab 直接输入命令回车执行。常用命令(pwd / df / free / top / netstat)有快捷按钮。
|
||||
**⌨ 终端** Tab 直接输入命令回车执行。支持 ANSI 颜色、↑↓ 历史回放、Ctrl+A/E/U/K/W 行编辑快捷键。
|
||||
|
||||
**命令片段**:工具栏下拉框选择预置命令(ss/df/ps/docker/systemctl 等),一键发送到终端。点击 ⚙ 管理自定义片段。
|
||||
|
||||
### 4. 文件浏览
|
||||
**📁 文件** Tab 双击目录进入,双击文件直接下载。可拖入 / 上传任意文件。
|
||||
|
||||
### 5. 监控
|
||||
**📊 监控** Tab 点击 **开始监控**,指标会按设定间隔刷新。CPU/内存用大字突出,磁盘用进度条,网络显示当前速率。
|
||||
**📊 监控** Tab 点击 **开始监控**,指标会按设定间隔刷新。CPU/内存用大字突出,下方有实时趋势折线图,磁盘用进度条,网络显示当前速率。下半区是进程管理表,支持搜索过滤、CPU/内存排序、树形视图、右键杀进程。
|
||||
|
||||
### 6. AI Agent
|
||||
1. 先点 **⚙ AI 设置**,选择预设(OpenAI/DeepSeek/Kimi/通义千问/Ollama)或自定义填 API Key
|
||||
@@ -101,12 +107,16 @@ sshclient/
|
||||
│ ├── ssh_client.py # SSH 连接 + SFTP
|
||||
│ ├── monitor.py # 远程系统监控
|
||||
│ ├── ai_agent.py # AI Agent (OpenAI 兼容)
|
||||
│ └── manager.py # 多主机管理 + 配置持久化
|
||||
│ ├── manager.py # 多主机管理 + 配置持久化
|
||||
│ └── snippets.py # 命令片段管理 + 持久化
|
||||
├── ui/ # PyQt5 界面
|
||||
│ ├── main_window.py # 主窗口
|
||||
│ ├── widgets.py # FileBrowser / MonitorPanel / AIChatPanel
|
||||
│ ├── widgets.py # FileBrowser / MonitorPanel / SparklineChart / AIChatPanel
|
||||
│ ├── terminal_panel.py # 交互式终端面板
|
||||
│ ├── host_dialog.py # 主机编辑对话框
|
||||
│ ├── config_dialog.py # AI 设置对话框
|
||||
│ ├── snippet_dialog.py # 命令片段管理对话框
|
||||
│ ├── theme.py # 亮色/暗色主题 QSS
|
||||
│ └── workers.py # 后台线程
|
||||
└── test_*.py # 测试脚本
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user