[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-83171":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":18,"stars90d":16,"forks30d":16,"starsTrendScore":19,"compositeScore":20,"rankGlobal":10,"rankLanguage":10,"license":10,"archived":21,"fork":21,"defaultBranch":22,"hasWiki":23,"hasPages":21,"topics":24,"createdAt":10,"pushedAt":10,"updatedAt":25,"readmeContent":26,"aiSummary":27,"trendingCount":16,"starSnapshotCount":16,"syncStatus":14,"lastSyncTime":28,"discoverSource":29},83171,"meatshell","jeff141\u002Fmeatshell","jeff141","一个轻量级、低内存占用的 SSH \u002F 终端客户端（A lightweight, low-memory SSH \u002F terminal client）","",null,"Rust",590,64,2,12,0,73,533,319,96.44,false,"main",true,[],"2026-06-12 04:01:40","# meatshell\n\n**简体中文** | [English](.\u002FREADME.en.md)\n\n一个轻量级、低内存占用的 SSH \u002F 终端客户端，灵感来自 FinalShell，但完全由\n**Rust + [Slint](https:\u002F\u002Fslint.dev)** 实现。目标是保留 FinalShell 的核心体验\n（资源监控侧栏、会话管理、多标签页终端）的同时，把内存占用从 400 MB+ 的\nJVM 压到几十 MB 原生级别。\n\n## 路线图\n\n### v0.1（当前）\n\n- [x] FinalShell 风格深色主题 UI\n- [x] 左侧本机系统监控（CPU \u002F 内存 \u002F 交换 \u002F 网络吞吐，1 Hz）\n- [x] 多标签页（欢迎页 + 多个终端会话）\n- [x] 会话管理：新建 \u002F 编辑 \u002F 删除，本地 JSON 持久化\n  - 配置位置：`%APPDATA%\u002Fmeatshell\u002Fsessions.json`（Windows）\n    \u002F `~\u002F.config\u002Fmeatshell\u002Fsessions.json`（Linux）\n    \u002F `~\u002FLibrary\u002FApplication Support\u002Fmeatshell\u002Fsessions.json`（macOS）\n- [x] SSH 连接骨架（`russh`，纯 Rust 实现，支持密码 + 私钥）\n- [x] 行缓冲终端视图（输入一行 → 回车发送）\n\n### v0.2\n\n- [ ] 完整 VT\u002FANSI 终端模拟（接入 [`alacritty_terminal`](https:\u002F\u002Fcrates.io\u002Fcrates\u002Falacritty_terminal)）\n- [ ] 远端主机资源监控（与 FinalShell 一样执行远端脚本收集）\n- [x] SFTP 文件浏览 + 拖拽上传\u002F下载\n- [ ] 已知主机 (known_hosts) 校验\n- [ ] 会话密码使用 OS 钥匙串存储\n\n### v0.3+\n\n- [ ] 多标签页终端分屏\n- [ ] 会话分组 \u002F 文件夹\n- [ ] 主题切换（浅色 \u002F 跟随系统）\n- [ ] 命令历史与片段管理\n\n## 技术栈\n\n| 模块          | 选型                                                              |\n| ------------- | ----------------------------------------------------------------- |\n| UI            | [Slint](https:\u002F\u002Fslint.dev)（纯 Rust 编译，无 GC）                 |\n| 异步运行时    | [`tokio`](https:\u002F\u002Ftokio.rs)                                       |\n| SSH 协议      | [`russh`](https:\u002F\u002Fcrates.io\u002Fcrates\u002Frussh)（无 libssh 依赖）       |\n| 系统指标      | [`sysinfo`](https:\u002F\u002Fcrates.io\u002Fcrates\u002Fsysinfo)                     |\n| 序列化        | `serde` + `serde_json`                                            |\n| 日志          | `tracing` + `tracing-subscriber`                                  |\n\n## 运行\n\n```bash\ncargo run --release\n```\n\n首次启动会在 `%APPDATA%\u002Fmeatshell\u002Fsessions.json` 建立空的会话库。点击右上\n角 **“＋ 新建会话”** 添加第一台服务器。\n\n## 项目布局\n\n```\nmeatshell\u002F\n├── Cargo.toml\n├── build.rs                 # Slint 编译器入口\n├── ui\u002F\n│   ├── app.slint            # 顶层窗口\n│   ├── theme.slint          # 设计 tokens\n│   ├── widgets.slint        # 可复用按钮 \u002F 输入框 \u002F sparkline\n│   ├── sidebar.slint        # 左侧系统监控面板\n│   ├── tabs.slint           # 顶部标签栏\n│   ├── welcome.slint        # 欢迎页 \u002F 快速连接\n│   ├── session_dialog.slint # 新建 \u002F 编辑会话弹框\n│   └── terminal_view.slint  # 终端视图（v0.1 行缓冲）\n└── src\u002F\n    ├── main.rs\n    ├── app.rs               # UI ↔ 后端桥接\n    ├── config.rs            # 会话 JSON 持久化\n    ├── system.rs            # CPU \u002F 内存 \u002F 网络采样\n    └── ssh.rs               # SSH 会话 worker\n```\n\n## 开发提示\n\n- Slint 控件有非常严格的布局 DSL，改 `.slint` 后 `cargo check` 是最快的\n  反馈方式。\n- 应用事件循环是单线程（Slint 要求），所有跨线程 UI 更新通过\n  `slint::invoke_from_event_loop` 回调。\n- 目前 `check_server_key` 接受任意服务端密钥（类似 `StrictHostKeyChecking=no`），\n  生产使用前请接入 known_hosts 校验。\n\n## License\n\nMIT OR Apache-2.0（双许可）。\n","meatshell 是一个轻量级、低内存占用的 SSH\u002F终端客户端，旨在为用户提供高效且资源友好的远程访问体验。它采用 Rust 语言结合 Slint UI 框架开发而成，实现了包括多标签页管理、会话持久化存储以及基础的系统监控等功能，并支持通过密码或私钥进行 SSH 连接。相较于传统基于 JVM 的解决方案如 FinalShell，meatshell 在保持核心功能的同时显著降低了内存消耗至几十MB级别。此外，该项目还规划了更多高级特性如完整的 VT\u002FANSI 终端模拟支持、SFTP 文件操作等，使其成为开发者日常工作中理想的跨平台工具选择之一。","2026-06-11 04:10:20","CREATED_QUERY"]