Files
NetMesh/README.zh-CN.md
zhaolei 9202506c46
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
修改说明
2026-09-13 18:40:33 +08:00

247 lines
8.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<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>
# 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)。