# 智能 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 助手集成