Some checks failed
AI automation / Route event (push) Has been cancelled
AI automation / Hand reopened issue to maintainers (push) Has been cancelled
AI automation / Clean source issue state (push) Has been cancelled
AI automation / Reconcile handoffs (push) Has been cancelled
AI automation / Classify issue (push) Has been cancelled
AI automation / Claude Code smoke (push) Has been cancelled
AI automation / Review issue follow-up (push) Has been cancelled
AI automation / Publish issue follow-up (push) Has been cancelled
AI automation / Implement with Claude Code (push) Has been cancelled
AI automation / Publish implement PR (push) Has been cancelled
AI automation / Continue queued issue comments (push) Has been cancelled
AI automation / Codex review loop (push) Has been cancelled
AI automation / Publish Codex fix (push) Has been cancelled
AI automation / Clear Codex dispatch marker (push) Has been cancelled
AI automation / Own PR re-request Codex (push) Has been cancelled
AI automation / External PR re-request Codex (push) Has been cancelled
AI automation / Poll Codex reaction / retry (push) Has been cancelled
build-packages / resolve bundled mosh-client (push) Has been cancelled
build-packages / resolve bundled et-client (push) Has been cancelled
build-packages / build-macos (push) Has been cancelled
build-packages / build-windows (push) Has been cancelled
build-packages / build-linux-x64 (push) Has been cancelled
build-packages / build-linux-arm64 (push) Has been cancelled
build-packages / release (push) Has been cancelled
build-packages / update Nix release metadata (push) Has been cancelled
build-packages / bump homebrew tap (push) Has been cancelled
test / lint-and-test (push) Has been cancelled
247 lines
8.2 KiB
Markdown
247 lines
8.2 KiB
Markdown
<p align="center">
|
||
<img src="public/icon.png" alt="NetMesh" width="128" height="128">
|
||
</p>
|
||
|
||
<h1 align="center">NetMesh</h1>
|
||
|
||
<p align="center">
|
||
<strong>AI 驱动的 SSH 客户端、SFTP 浏览器 & 终端管理器</strong>
|
||
</p>
|
||
|
||
<p align="center">
|
||
一个基于 Electron、React 和 xterm.js 构建的功能丰富的 SSH 工作空间。<br/>
|
||
内置 AI Agent · 分屏终端 · Vault 多视图 · SFTP 工作流 · 自定义主题 —— 一应俱全。
|
||
</p>
|
||
|
||
<p align="center">
|
||
<a href="#"><img alt="Platform" src="https://img.shields.io/badge/Platform-macOS%20%7C%20Windows%20%7C%20Linux-blue?style=for-the-badge&logo=electron"></a>
|
||
|
||
<a href="LICENSE"><img alt="License" src="https://img.shields.io/badge/License-GPL--3.0-green?style=for-the-badge"></a>
|
||
</p>
|
||
|
||
<p align="center">
|
||
<a href="./README.md">English</a> · <a href="./README.zh-CN.md">简体中文</a>
|
||
</p>
|
||
|
||
---
|
||
|
||
<img width="3142" height="1764" alt="截图" src="https://github.com/user-attachments/assets/3116165d-623a-4d3a-a28a-914befb9b72d" />
|
||
|
||
---
|
||
|
||
<a name="catty-agent"></a>
|
||
# Mesh Agent — 你的 IT 运维 AI 搭档
|
||
|
||
> 用 AI 赋能你的日常 IT 运维工作。Mesh Agent 是内置的 AI 助手,能理解你的服务器环境、执行命令,并通过自然对话完成复杂的多主机操作。
|
||
|
||
### Mesh Agent 能做什么?
|
||
|
||
- 自然语言服务器管理 —— 说出需求,无需记忆命令
|
||
- 实时服务器诊断 —— 对话中查看状态、检查日志、监控资源
|
||
- 多主机协调 —— 同时在多台服务器上执行任务
|
||
- 智能上下文感知 —— 理解服务器环境,提供针对性的响应
|
||
- 一键复杂操作 —— 一句话搭建集群、部署服务
|
||
|
||
### AI 实战演示
|
||
|
||
#### 单主机 — 智能服务器诊断
|
||
|
||
让 Mesh Agent 检查服务器健康状态,它会自动执行正确的命令、分析输出,给出清晰的总结报告 —— 几秒钟完成。
|
||
|
||
<img width="1510" height="870" alt="ai-single" src="https://github.com/user-attachments/assets/d3f34e53-8476-4fab-8634-394b931d1ff1" />
|
||
|
||
#### 多主机 — Docker Swarm 集群搭建
|
||
|
||
看 Mesh Agent 在一次对话中协调两台服务器搭建 Docker Swarm 集群。它处理初始化、令牌交换和节点加入 —— 你只需描述需求。
|
||
|
||
<img width="1515" height="870" alt="ai-muti" src="https://github.com/user-attachments/assets/ca166fc5-65d9-4d7b-951a-962c2ef230d8" />
|
||
|
||
---
|
||
|
||
# 目录
|
||
|
||
- [Mesh Agent](#catty-agent)
|
||
- [什么是 NetMesh](#什么是-netmesh)
|
||
- [为什么选择 NetMesh](#为什么选择-netmesh)
|
||
- [功能特性](#功能特性)
|
||
- [截图预览](#截图预览)
|
||
- [支持的操作系统](#支持的操作系统)
|
||
- [快速开始](#快速开始)
|
||
- [构建与打包](#构建与打包)
|
||
- [技术栈](#技术栈)
|
||
- [贡献指南](#贡献指南)
|
||
- [开源协议](#开源协议)
|
||
|
||
---
|
||
|
||
<a name="什么是-netmesh"></a>
|
||
# 什么是 NetMesh
|
||
|
||
**NetMesh** 是一款面向 macOS、Windows 和 Linux 的现代化 SSH 客户端和终端管理器,专为需要高效管理多台远程服务器的开发者、运维工程师和 DevOps 团队打造。
|
||
|
||
- **NetMesh 是** PuTTY、Termius、SecureCRT 和 macOS Terminal.app 的替代品
|
||
- **NetMesh 是** 带有双栏文件浏览器的强大 SFTP 客户端
|
||
- **NetMesh 是** 支持分屏、标签页和会话管理的终端工作空间
|
||
- **NetMesh 支持** SSH、本地终端、Telnet、Mosh 和串口连接(条件允许时)
|
||
- **NetMesh 不是** shell 替代品 —— 它通过 SSH/Telnet/Mosh 或本地/串口会话连接 shell
|
||
|
||
---
|
||
|
||
<a name="为什么选择-netmesh"></a>
|
||
# 为什么选择 NetMesh
|
||
|
||
如果你经常需要管理大量服务器,NetMesh 为效率而生:
|
||
|
||
- **工作空间优先** —— 分屏 + 标签页 + 会话恢复,适合"常驻运行"的工作流
|
||
- **Vault 视图管理** —— 网格/列表/树形视图 + 快速搜索 + 拖拽操作
|
||
- **专业的 SFTP** —— 内置编辑器 + 拖拽上传下载 + 流畅的文件操作体验
|
||
|
||
---
|
||
|
||
<a name="功能特性"></a>
|
||
# 功能特性
|
||
|
||
### Vault 主机管理
|
||
- **多种视图** —— 网格 / 列表 / 树形
|
||
- **快速搜索** —— 秒级定位主机和分组
|
||
|
||
### 终端工作空间
|
||
- **分屏** —— 水平和垂直分屏,多任务并行
|
||
- **会话管理** —— 多连接并排运行
|
||
- **内联图片** —— 支持远程程序的 Kitty graphics、SIXEL 和 iTerm 图片渲染
|
||
|
||
### SFTP + 内置编辑器
|
||
- **文件工作流** —— 拖拽上传/下载
|
||
- **原地编辑** —— 内置编辑器快速修改
|
||
|
||
### 个性化
|
||
- **自定义主题** —— 调整应用外观
|
||
- **关键词高亮** —— 自定义终端输出高亮规则
|
||
|
||
---
|
||
|
||
<a name="截图预览"></a>
|
||
# 截图预览
|
||
|
||
## 主界面
|
||
|
||
主界面专为长时间 SSH 工作流设计:快速访问会话、导航和核心工具,一站式完成。
|
||
|
||
<img width="1531" height="875" alt="black-grid" src="https://github.com/user-attachments/assets/004b80f6-5bbb-4f14-b8cd-33a0a5913b8c" />
|
||
|
||
<img width="1550" height="876" alt="light" src="https://github.com/user-attachments/assets/2b59a999-a25e-4217-944c-9aef0a09f272" />
|
||
|
||
## Vault 视图
|
||
|
||
用最适合当前场景的视图来组织和浏览主机:网格看概览、列表快速扫描、树形看结构。
|
||
|
||
<img width="1554" height="882" alt="list" src="https://github.com/user-attachments/assets/03249f15-b5f8-4770-a3c3-d5001636ea00" />
|
||
|
||
<img width="1561" height="878" alt="tree" src="https://github.com/user-attachments/assets/739f7b66-3898-43d0-8dd3-b9b97fd8e8de" />
|
||
|
||
## 分屏终端
|
||
|
||
分屏让你同时监控多台服务器/服务(部署 + 日志 + 监控),无需在多个窗口间来回切换。
|
||
|
||
<img width="1560" height="871" alt="split" src="https://github.com/user-attachments/assets/c93a8523-6256-4bb3-8b6e-d599831f2f9f" />
|
||
|
||
---
|
||
|
||
<a name="支持的操作系统"></a>
|
||
# 支持的操作系统
|
||
|
||
NetMesh 自动检测并显示已连接主机的操作系统图标:
|
||
|
||
<p align="center">
|
||
<img src="public/distro/ubuntu.svg" width="48" alt="Ubuntu" title="Ubuntu">
|
||
<img src="public/distro/debian.svg" width="48" alt="Debian" title="Debian">
|
||
<img src="public/distro/centos.svg" width="48" alt="CentOS" title="CentOS">
|
||
<img src="public/distro/fedora.svg" width="48" alt="Fedora" title="Fedora">
|
||
<img src="public/distro/arch.svg" width="48" alt="Arch Linux" title="Arch Linux">
|
||
<img src="public/distro/alpine.svg" width="48" alt="Alpine" title="Alpine">
|
||
<img src="public/distro/amazon.svg" width="48" alt="Amazon Linux" title="Amazon Linux">
|
||
<img src="public/distro/redhat.svg" width="48" alt="Red Hat" title="Red Hat">
|
||
<img src="public/distro/rocky.svg" width="48" alt="Rocky Linux" title="Rocky Linux">
|
||
<img src="public/distro/opensuse.svg" width="48" alt="openSUSE" title="openSUSE">
|
||
<img src="public/distro/oracle.svg" width="48" alt="Oracle Linux" title="Oracle Linux">
|
||
<img src="public/distro/kali.svg" width="48" alt="Kali Linux" title="Kali Linux">
|
||
<img src="public/distro/almalinux.svg" width="48" alt="AlmaLinux" title="AlmaLinux">
|
||
</p>
|
||
|
||
<a name="快速开始"></a>
|
||
# 快速开始
|
||
|
||
### 环境要求
|
||
- Node.js 18+
|
||
- macOS、Windows 10+ 或 Linux
|
||
|
||
### 本地开发
|
||
|
||
```bash
|
||
# 克隆仓库
|
||
git clone https://code.senmesh.com/zhaolei/NetMesh.git
|
||
cd NetMesh
|
||
|
||
# 安装依赖
|
||
npm install
|
||
|
||
# 启动开发模式(Vite + Electron)
|
||
npm run dev
|
||
```
|
||
|
||
---
|
||
|
||
<a name="构建与打包"></a>
|
||
# 构建与打包
|
||
|
||
```bash
|
||
# 构建生产版本
|
||
npm run build
|
||
|
||
# 打包当前平台
|
||
npm run pack
|
||
|
||
# 打包指定平台
|
||
npm run pack:mac # macOS (DMG + ZIP)
|
||
npm run pack:win # Windows (NSIS 安装包)
|
||
npm run pack:linux # Linux (AppImage + DEB + RPM)
|
||
```
|
||
|
||
---
|
||
|
||
<a name="技术栈"></a>
|
||
# 技术栈
|
||
|
||
| 类别 | 技术 |
|
||
|------|------|
|
||
| 框架 | Electron 40 |
|
||
| 前端 | React 19, TypeScript |
|
||
| 构建工具 | Vite 7 |
|
||
| 终端 | xterm.js 5 |
|
||
| 样式 | Tailwind CSS 4 |
|
||
| SSH/SFTP | ssh2, ssh2-sftp-client |
|
||
| PTY | node-pty |
|
||
| 图标 | Lucide React |
|
||
|
||
---
|
||
|
||
<a name="贡献指南"></a>
|
||
# 贡献指南
|
||
|
||
欢迎提交 Pull Request!
|
||
|
||
1. Fork 本仓库
|
||
2. 创建你的功能分支 (`git checkout -b feature/amazing-feature`)
|
||
3. 提交你的更改 (`git commit -m 'Add some amazing feature'`)
|
||
4. 推送分支 (`git push origin feature/amazing-feature`)
|
||
5. 发起 Pull Request
|
||
|
||
架构概览和编码规范请参考 [AGENTS.md](AGENTS.md)。
|
||
|
||
---
|
||
|
||
<a name="开源协议"></a>
|
||
# 开源协议
|
||
|
||
本项目基于 **GPL-3.0 开源协议**,详见 [LICENSE](LICENSE)。
|