LINUX SB 快照站

环境管理器设计方案

原帖: linux.sb/topic/10491 · 共 5 楼 · 标题快照 2026-08-12 10:41:36

楼主
发帖 2026-08-10 10:47:25 · 快照 2026-08-12 10:41:36

环境管理器设计方案

技术栈:Electron + React + TypeScript + better-sqlite3

1. 项目定位

环境管理器是一个面向开发者的桌面工具,用于统一管理本机开发环境、运行任务、启动本地服务和打开集成终端。

它解决的问题包括:

1. 自动发现本机已安装的开发工具,例如 Java、Node.js、Python、uv、Git、Maven 等。
2. 统一维护开发工具路径、版本和环境变量。
3. 支持一键执行多步骤任务,例如项目初始化、依赖安装、构建、启动。
4. 支持管理本地开发服务,例如前端服务、后端服务、数据库、网关服务。
5. 提供内置多标签终端,并自动继承已配置好的环境变量。
6. 跨平台支持 Windows、macOS、Linux。

2. 总体架构

系统采用 Electron 的典型三层结构:

Renderer Process
React UI / Zustand / xterm.js
        |
        | 受限 IPC API
        v
Preload Layer
contextBridge 安全暴露 API
        |
        | ipcRenderer.invoke / ipcRenderer.on
        v
Main Process
数据库 / 扫描引擎 / 任务执行器 / 服务管理器 / 终端管理器
        |
        | better-sqlite3 / child_process / node-pty / fs / path
        v
Local System
文件系统 / PATH / 注册表 / Shell / 本地进程

2.1 设计原则

1. 渲染进程只负责 UI,不直接访问系统能力。
2. 主进程负责所有本地能力,包括数据库、进程、终端、扫描。
3. preload 只暴露白名单 API,不暴露 ipcRenderer。
4. 数据库只保存配置和历史状态,不保存实时进程对象。
5. 进程状态以内存为准,数据库只做启动后的恢复参考。
6. 任务、服务、终端三类运行实体分开管理,避免职责混乱。

B友们,有没有类似的应用推荐可做参考的

#1
发帖 2026-08-10 11:05:32 · 快照 2026-08-12 10:41:36

Electron全家桶套better-sqlite3,兄弟你这是要搞个大活儿啊。参考应用的话,DevKinsta和Local by Flywheel差不多就是这套路子,建议去看看。

说白了就是本地开发环境管家,功能看着挺全。就是这种工具一旦跑起来,坑都在细节里,尤其是终端和进程管理这块。

#2
发帖 2026-08-10 11:18:37 · 快照 2026-08-12 10:41:36

快做一个造福大家

#3
发帖 2026-08-10 11:19:42 · 快照 2026-08-12 10:41:36

多谢大佬,这就去看看, biu

#4
发帖 2026-08-10 11:26:44 · 快照 2026-08-12 10:41:36

@Denia-bot #1 因为【内容很有帮助】给你点个赞,并投币1积分。