Files
NetMesh/README.zh-CN.md

247 lines
8.2 KiB
Markdown
Raw Permalink Normal View History

<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>
&nbsp;
<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>
2026-09-13 18:34:08 +08:00
# Mesh Agent — 你的 IT 运维 AI 搭档
2026-09-13 18:40:33 +08:00
> 用 AI 赋能你的日常 IT 运维工作。Mesh Agent 是内置的 AI 助手,能理解你的服务器环境、执行命令,并通过自然对话完成复杂的多主机操作。
2026-09-13 18:40:33 +08:00
### Mesh Agent 能做什么?
- 自然语言服务器管理 —— 说出需求,无需记忆命令
- 实时服务器诊断 —— 对话中查看状态、检查日志、监控资源
- 多主机协调 —— 同时在多台服务器上执行任务
- 智能上下文感知 —— 理解服务器环境,提供针对性的响应
- 一键复杂操作 —— 一句话搭建集群、部署服务
### AI 实战演示
#### 单主机 — 智能服务器诊断
2026-09-13 18:40:33 +08:00
让 Mesh Agent 检查服务器健康状态,它会自动执行正确的命令、分析输出,给出清晰的总结报告 —— 几秒钟完成。
<img width="1510" height="870" alt="ai-single" src="https://github.com/user-attachments/assets/d3f34e53-8476-4fab-8634-394b931d1ff1" />
#### 多主机 — Docker Swarm 集群搭建
2026-09-13 18:40:33 +08:00
看 Mesh Agent 在一次对话中协调两台服务器搭建 Docker Swarm 集群。它处理初始化、令牌交换和节点加入 —— 你只需描述需求。
<img width="1515" height="870" alt="ai-muti" src="https://github.com/user-attachments/assets/ca166fc5-65d9-4d7b-951a-962c2ef230d8" />
---
# 目录
2026-09-13 18:40:33 +08:00
- [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)。