Files
ssh-client/README.md
T
2026-06-16 15:27:24 +08:00

175 lines
6.7 KiB
Markdown
Raw 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.
# 智能 SSH 终端 - SSH AI Agent
集成 AI 助手的远程运维桌面客户端,支持 SSH 连接、终端管理和自然语言辅助。
## 功能特性
### 核心功能
- **SSH 连接管理**:创建、编辑和管理 SSH 连接配置
- **分组管理**:将连接按分组组织,便于管理
- **终端会话**:全功能终端模拟器,支持多标签页
- **AI 助手集成**:内置 AI 聊天,支持自然语言描述运维任务
### v0.2.0 更新
- ✅ 优化布局结构:确保 AI 输出内容不影响侧边栏可见性
- ✅ AI 助手面板独立化:支持自由开关控制
- ✅ 新增面板切换按钮:在侧边栏底部提供快速开关入口
- ✅ 所有区域滚动支持:确保内容过多时可正常滚动查看
- ✅ 侧边栏永不消失:设置 flex-shrink-0 确保导航区域稳定
## 技术栈
- **Electron**:跨平台桌面应用框架
- **React**UI 组件库
- **TypeScript**:类型安全的 JavaScript 超集
- **Tailwind CSS**:实用优先的 CSS 框架
- **XTerm.js**Web 终端模拟器
- **Zustand**:轻量级状态管理
## 安装与使用
### 开发模式
```bash
# 安装依赖
npm install
# 启动开发服务器(包含热重载)
npm run dev:watch
# 或直接编译并运行
npm run dev
```
### 构建打包
```bash
# 编译前端和后端
npm run build
# 生成绿色免安装版本(目录版)
npm run pack
# 生成完整安装包(NSIS
npm run dist
```
打包后的文件将存放在 `release/` 目录下:
- 绿色版:`release/win-unpacked/智能SSH终端.exe`
- 安装包:`release/智能SSH终端-x.x.x-x64.exe`
## 项目结构
```
.
├── src/
│ ├── main/ # Electron 主进程
│ │ ├── index.ts # 主入口
│ │ ├── preload.ts # 预加载脚本
│ │ ├── handlers/ # IPC 处理程序
│ │ └── services/ # 业务服务
│ ├── renderer/ # 渲染进程
│ │ ├── src/ # React 源代码
│ │ ├── index.html # 入口 HTML
│ │ └── ...
│ └── shared/ # 共享类型定义
├── resources/ # 资源文件
├── dist/ # 编译输出
├── release/ # 打包输出
└── ...
```
## v0.2.0 布局说明
新的 3 列布局确保了最佳的用户体验:
```
┌─────────────────────────────────────────────────────────────┐
│ 标题栏 │
├─────────────────────────────────────────────────────────────┤
│ │ │ │ │
│ │ │ ┌──────────────────────┐ │ │
│ │ │ │ 会话/分组/模型面板 │ │ │
│ │ │ └──────────────────────┘ │ │
│ │ │ │ │
│ │ │ ┌──────────────────────┐ │ │
│ │ │ │ 终端区域 │ │ │
│ │ │ └──────────────────────┘ │ │
│ │ │ │ │
│ │ └──────────────────────────────────────────────────┘ │
│ │ │
│ │ 主工作区(管理面板 + 终端) │
│ │ │
│ │ ┌───────────────────────────────────────────────────┐ │
│ │ │ AI 助手面板(可展开/收起) │ │
│ │ │ - 模型选择 │ │
│ │ │ - 聊天界面 │ │
│ │ │ - 工具调用卡片 │ │
│ │ └───────────────────────────────────────────────────┘ │
│ └──────────────────────────────────────────────────────────┘
│ │
└────────────────────────────────────────────────────────────┘
```
### 关键改进
1. **左侧导航**:固定宽度,`flex-shrink-0` 确保永不被压缩
2. **AI 面板开关**:在侧边栏底部增加独立的 AI 助手切换按钮
3. **面板可收起**:AI 助手面板支持完全收起,为主工作区提供更大空间
## 依赖列表
### 核心依赖
- `@xterm/xterm``@xterm/addon-fit`:终端模拟器
- `react``react-dom`UI 框架
- `electron-store`:本地数据存储
- `openai`AI 模型集成
- `lucide-react`:图标库
- `zustand`:状态管理
### 开发工具
- `typescript`:类型检查
- `vite`:前端构建工具
- `electron-builder`:打包工具
- `tailwindcss`CSS 框架
## 开发者指南
### 修改配置
- TypeScript 配置:`tsconfig.main.json`(主进程),`tsconfig.renderer.json`(渲染进程)
- Vite 配置:`vite.config.ts`
- Tailwind 配置:`src/renderer/tailwind.config.js`
- Electron Builder 配置:`package.json``build` 字段
### 常见问题
#### 无法启动开发模式
确保已完整安装依赖,并且 Node.js 版本大于等于 16。
#### 打包时下载 Electron 失败
可以配置国内镜像源或使用代理:
```bash
# 使用镜像源
set ELECTRON_MIRROR=https://npmmirror.com/mirrors/electron/
npm install
```
## 许可证
Copyright © 2026 SSH AI Agent Team
## 更新日志
### v0.2.0 (2026-06-16)
- 优化布局结构,AI 面板独立化
- 侧边栏永不消失,稳定固定宽度
- AI 助手支持快速开关控制
- 所有区域完善滚动条配置
- 版本号更新至 0.2.0
### v0.1.0
- 初始版本发布
- 基本 SSH 连接功能
- 基础 AI 助手集成