快速上手
新建会话
点击右上角 “+ 新建会话” 添加第一台服务器,填写连接信息后即可连接:
- 协议:SSH / 串口 / Telnet
- 认证方式:密码 / 私钥 / 加密私钥(密码短语)
常用操作
| 操作 | 说明 |
|---|---|
| 新建 / 编辑 / 删除会话 | 会话管理面板中完成,支持分组 |
| 多标签页 | 欢迎页 + 多个会话并存,可拖拽分屏 |
| SFTP 文件传输 | 底部 SFTP 面板,拖拽即可上传 / 下载 |
| 端口转发 | 支持本地 -L / 远程 -R / 动态 -D(SOCKS5) |
| 命令群发 | 在命令输入框中输入,可同时发送到所有会话 |
| 结束远端进程 | 进程监控面板中,按 CPU 排序并权限确认后结束 |
开发提示
- Slint 控件有非常严格的布局 DSL,改
.slint后cargo check是最快的反馈方式 - 应用事件循环是单线程(Slint 要求),所有跨线程 UI 更新通过
slint::invoke_from_event_loop回调 - SSH / SFTP 共享
known_hosts校验逻辑:首次连接会确认并记住主机密钥,后续密钥变化会再次提示
项目布局
meatshell/
├── Cargo.toml
├── build.rs # Slint 编译器入口
├── ui/
│ ├── app.slint # 顶层窗口
│ ├── theme.slint # 设计 tokens
│ ├── widgets.slint # 可复用按钮 / 输入框 / sparkline
│ ├── sidebar.slint # 左侧系统监控面板
│ ├── tabs.slint # 顶部标签栏
│ ├── welcome.slint # 欢迎页 / 快速连接
│ ├── session_dialog.slint # 新建 / 编辑会话弹框
│ └── terminal_view.slint # 终端视图
└── src/
├── main.rs
├── app.rs # UI 与后端桥接
├── config.rs # 会话 JSON 持久化
├── system.rs # CPU / 内存 / 网络采样
└── ssh.rs # SSH 会话 worker