本地数据库
SQLite 数据库存储在用户目录,数据完全本地可控,支持离线使用。
Investment Agent 的 Electron 桌面应用将完整的 Web 功能封装为本地应用,提供以下核心优势:
本地数据库
SQLite 数据库存储在用户目录,数据完全本地可控,支持离线使用。
系统级集成
原生通知、托盘图标、Dock 徽章、自动更新等系统级功能。
独立运行
内置 Node.js 服务端,无需额外部署,开箱即用。
安全隔离
主进程与渲染进程隔离,IPC 安全通信,敏感操作受控执行。
仅支持 macOS 平台:
ig-x.x.x-arm64.dmg(Apple Silicon)或 ig-x.x.x-x64.dmg(Intel)ig 拖入 Applications 文件夹macOS 上应用数据存储在以下位置:
| 平台 | 数据目录 |
|---|---|
| macOS | ~/Library/Application Support/ig/ |
┌─────────────────────────────────────────────┐│ Electron 主进程 ││ • 窗口管理 • 托盘图标 • 自动更新 ││ • IPC 处理 • 服务端子进程管理 │├─────────────────────────────────────────────┤│ UtilityProcess (Node.js) ││ • Next.js App Router • SQLite 数据库 ││ • AI 引擎 • 业务 API │├─────────────────────────────────────────────┤│ 渲染进程 (Chromium) ││ • React 前端界面 • 图表渲染 ││ • 通过 IPC 与主进程通信 │└─────────────────────────────────────────────┘.zshrc/.bashrc)读取环境变量,确保 API Key 等配置可用应用启动后 30 秒首次检查更新,之后每小时自动检查一次。后台下载完成后弹出通知,用户可选择立即安装或稍后重启。
Electron 从 GUI 启动(Dock/Finder)时,默认不加载 Shell 环境变量。应用会自动执行登录 Shell 读取用户配置,确保 API Key(OPENAI_API_KEY、ANTHROPIC_API_KEY 等)可用。建议将 API Key 添加到 ~/.zshrc,这样从任何位置启动应用都能正确读取。
Electron 使用 utilityProcess 启动独立的 Node.js 服务端,具备进程隔离、端口自分配、优雅退出和错误恢复能力,服务端崩溃不会导致 Electron 主进程退出。
原因:应用未经过 Apple 公证(Notarization)。
解决:
# 移除隔离属性xattr -rd com.apple.quarantine /Applications/ig.app
# 或在 系统设置 → 隐私与安全性 → 安全性 中点击"仍要打开"原因:Electron 从 Dock/Finder 启动时无法读取 Shell 配置文件。
解决:
~/.zshrc.env 文件放置在应用数据目录如需了解 Electron 开发环境搭建、构建打包和 IPC 通信等开发者内容,请参阅 开发者文档:Electron 开发与打包。