From 163be6729b071f2d967fc9f7ef4919595f1128ef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=A2=81=E6=B6=9B?= Date: Fri, 17 Apr 2026 20:15:56 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=87=E6=A1=A3=20=E5=AE=8C=E5=96=84?= =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E6=96=87=E6=A1=A3=E7=BB=93=E6=9E=84=E5=92=8C?= =?UTF-8?q?=E5=8A=9F=E8=83=BD=E8=AF=B4=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AGENTS.md | 67 ++++++++++++++++-- README.md | 159 +++++++++++++++++++++++++++++++++++-------- package.json | 4 +- screenshots/main.png | Bin 0 -> 63122 bytes 4 files changed, 195 insertions(+), 35 deletions(-) create mode 100644 screenshots/main.png diff --git a/AGENTS.md b/AGENTS.md index 234a5dd..a6e5aae 100644 --- a/AGENTS.md +++ b/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}` \ No newline at end of file diff --git a/README.md b/README.md index 5a59535..1b24934 100644 --- a/README.md +++ b/README.md @@ -1,26 +1,33 @@ # iFlow Settings Editor -一个用于编辑 `C:\Users\MSI\.iflow\settings.json` 配置文件的桌面应用程序。 +一个基于 Electron + Vue 3 的桌面应用程序,用于编辑 `C:\Users\\.iflow\settings.json` 配置文件。 ## 技术栈 -- **Electron** - 桌面应用框架 -- **Vue 3** - 前端框架 (组合式 API) -- **Vite** - 构建工具 -- **@icon-park/vue-next** - 图标库 +| 技术 | 版本 | 用途 | +|------|------|------| +| Electron | ^28.0.0 | 桌面应用框架 | +| Vue | ^3.4.0 | 前端框架 (组合式 API) | +| Vite | ^8.0.8 | 构建工具 | +| @icon-park/vue-next | ^1.4.2 | 图标库 | +| concurrently | ^8.2.2 | 并发执行工具 | +| electron-builder | ^24.13.3 | 应用打包工具 | ## 项目结构 ``` -settings-editor/ -├── main.js # Electron 主进程 -├── preload.js # 预加载脚本 (IPC 通信) -├── package.json # 项目配置 -├── vite.config.js # Vite 配置 -├── index.html # HTML 入口 -└── src/ - ├── main.js # Vue 入口 - └── App.vue # 主组件 +iflow-settings-editor/ +├── main.js # Electron 主进程 (窗口管理、IPC、文件操作) +├── preload.js # 预加载脚本 (IPC 通信) +├── index.html # HTML 入口 +├── package.json # 项目配置 +├── vite.config.js # Vite 配置 +├── src/ +│ ├── main.js # Vue 入口 +│ └── App.vue # 主组件 (所有业务逻辑) +├── build/ # 构建资源 (图标等) +├── release/ # 打包输出目录 +└── screenshots/ # 截图资源 ``` ## 快速开始 @@ -34,33 +41,127 @@ npm install ### 开发模式 ```bash -npm run dev # 启动 Vite 开发服务器 -npm run electron:dev # 同时运行 Electron (需先执行 npm run dev) +npm run dev # 启动 Vite 开发服务器 +npm run electron:dev # 同时运行 Electron + Vite ``` ### 构建与运行 ```bash -npm run build # 构建 Vue 应用到 dist 目录 -npm start # 运行 Electron 应用 +npm run build # 构建 Vue 应用到 dist 目录 +npm start # 运行 Electron 应用 +npm run electron:start # 构建 + 运行 Electron ``` -## 功能 +### 打包应用 -- **常规设置**: 语言、主题、启动动画、检查点保存 -- **API 配置**: 认证方式、API Key、Base URL、模型名称、搜索服务 -- **MCP 服务器管理**: 添加、编辑、删除服务器配置 +```bash +npm run pack # 打包应用(不生成安装包) +npm run build:win # 构建 Windows 安装包 (NSIS) +npm run build:win64 # 构建 Windows x64 安装包 +npm run build:win32 # 构建 Windows x86 安装包 +npm run build:win-portable # 构建可移植版本 +npm run build:dist # 完整构建和打包 +``` -## 截图说明 +## 功能模块 -应用采用 Windows 11 设计风格,包含: -- 自定义标题栏 (支持最小化/最大化/关闭) -- 侧边导航栏 -- 表单编辑区域 -- 底部状态栏 +### 1. 常规设置 (General) + +![主界面](screenshots/main.png) + +配置应用程序的常规选项: + +- **语言**: zh-CN / en-US / ja-JP +- **主题**: Xcode / Dark / Light / Solarized Dark +- **启动动画**: 已显示 / 未显示 +- **检查点保存**: 启用 / 禁用 + +### 2. API 配置 (API) + +管理多个环境的 API 配置: + +- **配置列表**: 显示所有可用的 API 配置文件 +- **配置切换**: 点击配置卡片直接切换 +- **创建配置**: 新建 API 配置文件 +- **编辑配置**: 修改现有配置的认证方式、API Key、Base URL 等 +- **复制配置**: 基于现有配置创建新配置 +- **删除配置**: 删除非默认配置 +- **认证方式**: iFlow / API Key / OpenAI 兼容 +- **API Key**: 密码输入框 +- **Base URL**: API 端点 +- **模型名称**: AI 模型标识 +- **搜索 API Key**: 搜索服务认证 +- **CNA**: CNA 标识 + +### 3. MCP 服务器管理 (MCP) + +管理 Model Context Protocol 服务器配置: + +- **服务器列表**: 显示所有已配置的服务器 +- **添加服务器**: 创建新的 MCP 服务器配置 +- **编辑服务器**: 修改现有服务器的配置 +- **删除服务器**: 移除服务器配置 +- **服务器配置项**: + - 名称 + - 描述 + - 命令 + - 工作目录 + - 参数 (每行一个) + - 环境变量 (JSON 格式) + +## 核心架构 + +### 进程模型 +- **Main Process (main.js)**: Electron 主进程,处理窗口管理、IPC 通信、文件系统操作 +- **Preload (preload.js)**: 通过 `contextBridge.exposeInMainWorld` 暴露安全 API +- **Renderer (Vue)**: 渲染进程,只通过 preload 暴露的 API 与主进程通信 + +### 窗口配置 +- 窗口尺寸: 1100x750,最小尺寸: 900x600 +- 无边框窗口 (frame: false),自定义标题栏 +- 开发模式加载 `http://localhost:5173`,生产模式加载 `dist/index.html` + +### 安全配置 +- `contextIsolation: true` - 隔离上下文 +- `nodeIntegration: false` - 禁用 Node.js +- `webSecurity: false` - 仅开发环境解决 CSP 问题 + +## 打包配置 + +### Windows 平台 +- **NSIS 安装包**: 支持 x64 架构 +- **可移植版本**: 无需安装的独立可执行文件 +- **安装器特性**: + - 允许修改安装目录 + - 允许提升权限 + - 创建桌面和开始菜单快捷方式 + - 支持中文和英文界面界面 + - 卸载时保留用户数据 + +### 输出目录 +- `release/` - 所有打包输出的根目录 +- 安装包命名: `iFlow Settings Editor-${version}-${arch}-setup.${ext}` +- 可移植版本命名: `iFlow Settings Editor-${version}-portable.${ext}` ## 注意事项 - `webSecurity: false` 仅用于开发环境解决 CSP 问题 - 保存设置时会自动创建备份 (`settings.json.bak`) -- MCP 服务器参数每行一个,环境变量支持 JSON 格式 \ No newline at end of file +- MCP 服务器参数每行一个,环境变量支持 JSON 格式 +- API 配置切换时会直接应用新配置,未保存的更改会被替换 + +## 开发注意事项 + +1. **修改检测**: 通过 `watch(settings, () => { modified.value = true }, { deep: true })` 深度监听 +2. **服务器编辑**: 使用 DOM 操作收集表单数据 +3. **MCP 参数**: 每行一个参数,通过换行分割 +4. **环境变量**: 支持 JSON 格式输入 +5. **窗口控制**: 通过 IPC 发送指令,主进程处理实际窗口操作 +6. **API 配置切换**: 多个环境配置存储在 `settings.apiProfiles` 对象中 +7. **序列化问题**: IPC 通信使用 `JSON.parse(JSON.stringify())` 避免 Vue 响应式代理问题 +8. **默认值处理**: 加载配置时检查 `undefined` 并应用默认值,防止界面显示异常 + +## 许可证 + +MIT License \ No newline at end of file diff --git a/package.json b/package.json index 6728f4d..18dcad5 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "iflow-settings-editor", - "version": "1.0.0", + "version": "1.5.0", "description": "一个用于编辑 iFlow CLI 配置文件的桌面应用程序。", "main": "main.js", "author": "上海潘哆呐科技有限公司", @@ -25,7 +25,7 @@ "build": { "appId": "com.iflow.settings-editor", "productName": "iFlow Settings Editor", - "copyright": "Copyright © 2024 iFlow", + "copyright": "Copyright © 2025 上海潘哆呐科技有限公司", "directories": { "output": "release", "buildResources": "build" diff --git a/screenshots/main.png b/screenshots/main.png new file mode 100644 index 0000000000000000000000000000000000000000..a28e3f2eeeaf648db1d294a9e188488a1510ef98 GIT binary patch literal 63122 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