v1.5
iFlow Settings Editor
一个基于 Electron + Vue 3 的桌面应用程序,用于编辑 C:\Users\<USER>\.iflow\settings.json 配置文件。
技术栈
| 技术 | 版本 | 用途 |
|---|---|---|
| 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 | 应用打包工具 |
项目结构
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/ # 截图资源
快速开始
安装依赖
npm install
开发模式
npm run dev # 启动 Vite 开发服务器
npm run electron:dev # 同时运行 Electron + Vite
构建与运行
npm run build # 构建 Vue 应用到 dist 目录
npm start # 运行 Electron 应用
npm run electron:start # 构建 + 运行 Electron
打包应用
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 # 完整构建和打包
功能模块
1. 常规设置 (General)
配置应用程序的常规选项:
- 语言: 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.jswebSecurity: 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 格式
- API 配置切换时会直接应用新配置,未保存的更改会被替换
开发注意事项
- 修改检测: 通过
watch(settings, () => { modified.value = true }, { deep: true })深度监听 - 服务器编辑: 使用 DOM 操作收集表单数据
- MCP 参数: 每行一个参数,通过换行分割
- 环境变量: 支持 JSON 格式输入
- 窗口控制: 通过 IPC 发送指令,主进程处理实际窗口操作
- API 配置切换: 多个环境配置存储在
settings.apiProfiles对象中 - 序列化问题: IPC 通信使用
JSON.parse(JSON.stringify())避免 Vue 响应式代理问题 - 默认值处理: 加载配置时检查
undefined并应用默认值,防止界面显示异常
许可证
MIT License
Description
正式版
Latest
Languages
JavaScript
46.4%
Vue
42.4%
Less
10.8%
HTML
0.4%
