You've already forked iFlow-Settings-Editor-GUI
文档 完善项目文档结构和功能说明
This commit is contained in:
67
AGENTS.md
67
AGENTS.md
@@ -13,6 +13,8 @@ iFlow 设置编辑器是一个基于 Electron + Vue 3 的桌面应用程序,
|
||||
| Vite | ^8.0.8 | 构建工具 |
|
||||
| @icon-park/vue-next | ^1.4.2 | 图标库 |
|
||||
| @vitejs/plugin-vue | ^6.0.6 | Vue 插件 |
|
||||
| concurrently | ^8.2.2 | 并发执行工具 |
|
||||
| electron-builder | ^24.13.3 | 应用打包工具 |
|
||||
|
||||
## 项目结构
|
||||
|
||||
@@ -26,6 +28,9 @@ iflow-settings-editor/
|
||||
├── src/
|
||||
│ ├── main.js # Vue 入口
|
||||
│ └── App.vue # 主组件 (所有业务逻辑)
|
||||
├── build/ # 构建资源 (图标等)
|
||||
├── release/ # 打包输出目录
|
||||
└── screenshots/ # 截图资源
|
||||
```
|
||||
|
||||
## 核心架构
|
||||
@@ -42,6 +47,12 @@ window.electronAPI = {
|
||||
loadSettings: () => ipcRenderer.invoke('load-settings'),
|
||||
saveSettings: (data) => ipcRenderer.invoke('save-settings', data),
|
||||
showMessage: (options) => ipcRenderer.invoke('show-message', options),
|
||||
listApiProfiles: () => ipcRenderer.invoke('list-api-profiles'),
|
||||
switchApiProfile: (profileName) => ipcRenderer.invoke('switch-api-profile', profileName),
|
||||
createApiProfile: (name) => ipcRenderer.invoke('create-api-profile', name),
|
||||
deleteApiProfile: (name) => ipcRenderer.invoke('delete-api-profile', name),
|
||||
renameApiProfile: (oldName, newName) => ipcRenderer.invoke('rename-api-profile', oldName, newName),
|
||||
duplicateApiProfile: (name, newName) => ipcRenderer.invoke('duplicate-api-profile', name, newName),
|
||||
isMaximized: () => ipcRenderer.invoke('is-maximized'),
|
||||
minimize: () => ipcRenderer.send('window-minimize'),
|
||||
maximize: () => ipcRenderer.send('window-maximize'),
|
||||
@@ -56,8 +67,9 @@ window.electronAPI = {
|
||||
|
||||
### API 配置切换
|
||||
- 支持多环境配置: 默认配置、开发环境、预发布环境、生产环境
|
||||
- 切换前检查未保存的更改
|
||||
- 配置文件管理: 支持创建、编辑、复制、删除、重命名
|
||||
- 单独保存每个环境的 API 配置到 `apiProfiles` 对象
|
||||
- 切换配置时直接应用新配置,无需确认
|
||||
|
||||
## 可用命令
|
||||
|
||||
@@ -68,6 +80,13 @@ npm run build # 构建 Vue 应用到 dist 目录
|
||||
npm start # 运行 Electron (需先build)
|
||||
npm run electron:dev # 同时运行 Vite + Electron (开发模式)
|
||||
npm run electron:start # 构建 + 运行 Electron (生产模式)
|
||||
npm run pack # 打包应用(不生成安装包)
|
||||
npm run build:win # 构建 Windows 安装包
|
||||
npm run build:win64 # 构建 Windows x64 安装包
|
||||
npm run build:win32 # 构建 Windows x86 安装包
|
||||
npm run build:win-portable # 构建可移植版本
|
||||
npm run build:win-installer # 构建 NSIS 安装包
|
||||
npm run dist # 完整构建和打包
|
||||
```
|
||||
|
||||
## 功能模块
|
||||
@@ -79,8 +98,13 @@ npm run electron:start # 构建 + 运行 Electron (生产模式)
|
||||
- **检查点保存**: 启用 / 禁用
|
||||
|
||||
### 2. API 配置 (API)
|
||||
- **配置切换**: 支持多环境 (默认/开发/预发布/生产)
|
||||
- **认证方式**: iFlow / API Key
|
||||
- **配置列表**: 显示所有可用的 API 配置文件
|
||||
- **配置切换**: 点击配置卡片直接切换,无需确认
|
||||
- **创建配置**: 新建 API 配置文件
|
||||
- **编辑配置**: 修改现有配置的认证方式、API Key、Base URL 等
|
||||
- **复制配置**: 基于现有配置创建新配置
|
||||
- **删除配置**: 删除非默认配置
|
||||
- **认证方式**: iFlow / API Key / OpenAI 兼容
|
||||
- **API Key**: 密码输入框
|
||||
- **Base URL**: API 端点
|
||||
- **模型名称**: AI 模型标识
|
||||
@@ -118,6 +142,23 @@ if (fs.existsSync(SETTINGS_FILE)) {
|
||||
- `modified` - 是否已修改 (computed/diff)
|
||||
- `currentSection` - 当前显示的板块
|
||||
- `currentServerName` - 当前选中的 MCP 服务器
|
||||
- `currentApiProfile` - 当前使用的 API 配置名称
|
||||
- `apiProfiles` - 可用的 API 配置列表
|
||||
|
||||
### 数据初始化
|
||||
在 `loadSettings` 函数中确保所有字段都有默认值:
|
||||
- `language`: 'zh-CN'
|
||||
- `theme`: 'Xcode'
|
||||
- `bootAnimationShown`: true
|
||||
- `checkpointing`: { enabled: true }
|
||||
- `selectedAuthType`: 'iflow'
|
||||
- `apiKey`: ''
|
||||
- `baseUrl`: ''
|
||||
- `modelName`: ''
|
||||
- `searchApiKey`: ''
|
||||
- `cna`: ''
|
||||
- `apiProfiles`: { default: {} }
|
||||
- `currentApiProfile`: 'default'
|
||||
|
||||
## 开发注意事项
|
||||
|
||||
@@ -128,10 +169,28 @@ if (fs.existsSync(SETTINGS_FILE)) {
|
||||
5. **窗口控制**: 通过 IPC 发送指令,主进程处理实际窗口操作
|
||||
6. **API 配置切换**: 多个环境配置存储在 `settings.apiProfiles` 对象中
|
||||
7. **序列化问题**: IPC 通信使用 `JSON.parse(JSON.stringify())` 避免 Vue 响应式代理问题
|
||||
8. **默认值处理**: 加载配置时检查 `undefined` 并应用默认值,防止界面显示异常
|
||||
|
||||
## 图标使用
|
||||
|
||||
使用 `@icon-park/vue-next` 图标库:
|
||||
```javascript
|
||||
import { Refresh, Save, Config, Key, Server, Globe, Setting, Robot, Search, Add, Edit, Delete } from '@icon-park/vue-next';
|
||||
import { Refresh, Save, Config, Key, Server, Globe, Setting, Robot, Search, Add, Edit, Delete, Exchange, Copy } from '@icon-park/vue-next';
|
||||
```
|
||||
|
||||
## 打包配置
|
||||
|
||||
### Windows 平台
|
||||
- **NSIS 安装包**: 支持 x64 架构
|
||||
- **可移植版本**: 无需安装的独立可执行文件
|
||||
- **安装器特性**:
|
||||
- 允许修改安装目录
|
||||
- 允许提升权限
|
||||
- 创建桌面和开始菜单快捷方式
|
||||
- 支持中文和英文界面
|
||||
- 卸载时保留用户数据
|
||||
|
||||
### 输出目录
|
||||
- `release/` - 所有打包输出的根目录
|
||||
- 安装包命名: `iFlow Settings Editor-${version}-${arch}-setup.${ext}`
|
||||
- 可移植版本命名: `iFlow Settings Editor-${version}-portable.${ext}`
|
||||
Reference in New Issue
Block a user