项目主页 · Release 下载 · 完整操作手册 · 问题反馈
面向 Windows 的开发环境诊断器与安全操作面板。当前版本:1.3.0。
适合:
- Java / Spring Boot 学习者
- Python 初学者和多版本用户
- 前端开发者
- 经常被 PATH、JAVA_HOME、pip、npm、端口占用折磨的人
- 想把 JDK、Python、Node.js、Maven、Gradle 安装到固定目录并快速切换的人
一句话:Windows 开发环境乱了?先看清实际生效的版本、PATH、JAVA_HOME 和工具来源,再决定是否执行受管修复。
DevEnv Manager 解决的是 Windows 上多个开发生态互相影响的问题:运行时版本不透明、JAVA_HOME 与 PATH 不一致、端口冲突、包管理器来源混杂、项目要求与本机环境不匹配,以及安全操作缺少预览和恢复入口。
它不是新的包管理器、构建工具或“系统管家”。项目优先做三件事:
- 诊断:展示可验证的路径、版本、来源和冲突证据。
- 编排:调用成熟工具或 DevEnv Manager 自己的受管运行时。
- 保护:用户级修改、固定 action id、白名单、备份、校验、只读预览和明确确认。
本项目不会替代 uv、pip、npm、pnpm、Yarn、Vite、Maven、Gradle、Docker、WSL、Scoop、Chocolatey、mise、asdf、sdkman、pyenv、nvm、rustup 或 dotnet CLI。能由成熟工具完成的工作,DevEnv Manager 优先检测、解释、辅助配置或调用对应工具。
- 适合不确定当前真正生效版本、需要同时维护多套 JDK/Python/Node,或经常遇到 Windows PATH 与端口问题的用户。
- 适合希望用图形界面查看诊断证据,同时保留 CLI 自动化入口的用户。
- 不适合希望软件自动接管整台机器、清理任意个人文件或替代专业包管理器的场景。
- 熟练使用 mise/asdf/Scoop/Chocolatey 且环境已经稳定的用户,可以只使用诊断能力。
仓库包含两个实现:
tauri/:最新 Tauri 2 + Rust + TypeScript 重构版,后续主线维护。- 根目录 Python/CustomTkinter 版本:旧版实现,保留用于对照和迁移。
- Temurin、Zulu、Liberica、Microsoft OpenJDK,以及 Python、Node.js、Maven、Gradle 的下载、安装、切换、卸载和
current指针管理。 - 安装根目录智能规范化:选择
D:\时自动使用D:\DevEnvManager,避免把文件散在盘符根目录。 - 安装和切换后自动健康检查,验证命令和环境变量是否真的生效;JDK 会交叉核对
JAVA_HOME、PATH、java、javac、Maven 与 Gradle。 - 下载安装过程展示进度:查询、下载、解压、静默安装、验证。
- 用户级环境变量管理:写入前展示
DEVENV_HOME、JAVA_HOME、PATH 差异;二次确认、回读验证、最多 20 份历史备份和指定恢复。 - 环境医生:按类别对齐展示诊断项和修复建议,可导出 Markdown/JSON 或复制脱敏报告。
- Python 冲突分析:检测默认
python、pip、py -0p、注册表、Microsoft Store 执行别名风险。 - 配置模板:保存当前 JDK/Python/Node/Maven/Gradle 组合和用户环境变量,导入前预览差异,并可自动补齐缺失版本后恢复。
- 项目启动向导:识别 Node/Python/Maven/Gradle/Rust/Tauri/.NET/Go 项目;生成可编辑的 VS Code/IDEA 配置预览,应用前备份文件和环境模板。
- Git / GitHub 工具链:检测 Git、Git Bash、Git LFS、OpenSSH、用户身份、SSH 公钥和 GitHub HTTPS/SSH 连接,可安全配置身份或生成 ed25519 Key。
- Node.js 生态:检测 npm、npx、pnpm、Yarn、Corepack、registry、全局目录和 pnpm store,支持安装包管理器及切换官方源/npmmirror。
- Python 生态:检测 pip、uv、Poetry、virtualenv 和 pip 配置,支持安装工具及切换官方/国内 PyPI 镜像。
- 统一工具注册表:为 JDK、Python、Node.js、Maven、Gradle、Git、Go、Rust、.NET 和生态工具提供统一能力元数据。
- Go 管理:从
go.dev官方索引解析稳定版,校验 SHA256 后安装、切换和卸载 Windows x64 ZIP。 - Rust / rustup 诊断:检测 rustup、rustc、Cargo、已安装工具链、默认工具链和 MSVC Build Tools,支持切换 stable 与更新。
- .NET SDK 诊断:检测 SDK/Runtime 列表,识别项目
global.json,支持 restore、build 和 test 项目动作。 - 镜像加速中心:集中查看 npm、pip、GOPROXY、Maven、Gradle 和 Cargo 配置;可调用官方 RubyMetric/chsrc 进行固定目标的查看、测速、换源和恢复。
- 统一分页:独立列表超过 5 项时提供分页、总数与页码;端口表格每页 10 项。
- 端口管理:固定列宽排序、智能搜索、实时新增占用提醒、进程/父进程/Windows 服务解释、7 天历史、安全结束进程,以及 Spring Boot、Tomcat、Vite、
.env项目端口识别和备份修改。 - Docker Desktop 安装、更新、启动和关闭;WSL 更新、发行版安装、启动、停止和默认发行版管理。
- MySQL、PostgreSQL、Redis、MongoDB、Elasticsearch、SQL Server 服务检测、启动、停止、重启、日志和安装目录访问。
- 程序内更新:每天最多自动检查一次,只读取固定更新清单,不上传遥测;下载包强制 SHA256 校验。
- C 盘急救大师 Phase 2:执行“扫描 → 选择 → 计划预览 → 二次确认 → 重新校验 → 回收站清理 → 验证 → 报告”;开发缓存优先调用官方命令。
- C 盘急救大师 Phase 3:桌面/下载分类、大文件 Top 100、按大小与 SHA256 的重复文件扫描,以及微信/QQ、浏览器缓存、网盘、剪辑软件、游戏库和 Windows 已安装软件占用分析;全部默认只读。
- 命令面板安全模式:仅允许常见开发工具,拦截系统 Shell、磁盘、注册表、权限、服务和破坏性 Git 命令。
- AI Agent / CLI 痕迹分析:用户主动触发后只读检查可验证路径与项目配置文件名,不读取会话正文、history、token 或密钥。
devenvCLI:环境诊断、版本查看/切换、项目检查、清理扫描和配置模板应用。- 网络诊断、下载缓存管理、命令面板、自身卸载入口。
- 后台执行耗时任务,隐藏 Windows 命令窗口,减少闪屏和界面卡顿。
- 打开 Tauri 新版。
- 在“总览”确认安装根目录,默认优先使用
D:\DevEnvManager。 - 在“版本管理”安装或切换 JDK / Python / Node.js / Maven / Gradle。
- 在“环境”先点击“预览配置”,核对差异后再确认写入用户级
DEVENV_HOME、JAVA_HOME和受管 PATH。 - 在“环境医生”点击“一键诊断”,查看评分、问题和建议。
- 在“版本管理”的 Python 环境分析里检查 pip 是否和当前 Python 匹配。
- 在“项目启动向导”输入项目目录,分析项目并运行安装依赖、测试或开发服务。
- 在“端口”搜索
8080、spring、mysql、vite等关键词快速定位冲突。 - 在“工具链”检查 Git/GitHub、Node 和 Python 生态,需要时配置 Git 身份、包管理器或镜像源。
- 在“平台/镜像”安装 Go、检查 Rust/.NET,或管理 GOPROXY、Maven 和 Gradle 镜像。
- 在“C盘急救”先体检和扫描;需要清理时必须预览一次性计划并二次确认。桌面、下载、大文件、重复文件及应用占用分析保持只读。
| 页面 | 建议使用方式 |
|---|---|
| 总览 | 查看当前实际生效的 Java、Python、Node、Maven、Gradle、Go 版本和来源;每 30 秒只读刷新。 |
| 环境医生 | 先诊断,再按证据处理。评分只惩罚真实问题,可选工具缺失和普通端口占用不再扣分。 |
| 版本管理 | “本机环境发现”默认折叠;JDK 切换后使用“检查当前 JDK”验证完整生效链。 |
| 环境 | 只修改当前用户环境变量;先预览实际差异,再确认写入并回读校验。可查看和恢复最多 20 份历史备份。 |
| 项目 | 分析项目后预览 VS Code/IDEA 配置;可微调固定文件内容和运行时选择,应用前自动备份项目文件与环境模板。 |
| 工具链 | 检测并辅助配置成熟生态工具,不重新实现它们。 |
| 平台/镜像 | 可调用官方 chsrc;Windows 主机与 WSL 分开看待,WSL 内 SDK 优先使用 Linux 生态成熟工具。 |
| C盘急救 | Phase 2 仅清理用户明确选择且后端二次校验通过的项目;Phase 3 的桌面、下载、重复文件、软件与应用功能全部只读。 |
| 工具箱 | 命令面板属于高级功能。不要粘贴不理解的 AI、网页或聊天命令。 |
正式版本以 GitHub Releases 为唯一主来源。国内镜像如后续提供,只作为备用入口,并应与 Release 中的 SHA256SUMS.txt 对照。
Get-FileHash .\DevEnv.Manager_1.3.0_x64-setup.exe -Algorithm SHA256
Get-FileHash .\DevEnv.Manager_1.3.0_x64_en-US.msi -Algorithm SHA256
Get-FileHash .\devenv.exe -Algorithm SHA256安装包附带的 devenv.exe 可用于终端和自动化:
devenv doctor
devenv doctor --json
devenv list --json
devenv use jdk 21
devenv use python 3.12
devenv project check .
devenv cleanup scan --json
devenv profile list
devenv profile apply "Java 21 + Python 3.12"cd tauri
npm install
npm run tauri:devcd tauri
npm run tauri:build输出位置:
tauri\src-tauri\target\release\bundle\nsis\DevEnv Manager_1.3.0_x64-setup.exetauri\src-tauri\target\release\bundle\msi\DevEnv Manager_1.3.0_x64_en-US.msitauri\src-tauri\target\release\dailytools-tauri.exetauri\src-tauri\target\release\devenv.exe
使用相同的 Rust release 配置(LTO、opt-level = "z"、strip)对实现前后裸 exe 进行对比:
| 文件 | 1.0.0 | Phase 1 | 1.1.0 | 1.3.0 | 1.3.0 相对 1.1.0 |
|---|---|---|---|---|---|
dailytools-tauri.exe |
4,758,016 B | 4,726,272 B | 4,826,624 B | 5,047,808 B | +221,184 B |
devenv.exe |
2,073,600 B | 2,066,944 B | 2,102,784 B | 2,088,960 B | -13,824 B |
Phase 2 没有单独发布可复现的 release 二进制,因此使用最近发布的 1.1.0 作为更严格基线。Phase 2/3 合并后的主程序仅增加 221,184 B,未引入新的大型依赖,明显低于 Phase 2 的 10 MB 与 Phase 3 的 12 MB 体积上限。
cd tauri\src-tauri
cargo test
cd ..\
npm run build- 只修改当前用户级环境变量,不修改系统级环境变量。
- 下载使用 HTTPS 精确域名白名单,并逐跳验证重定向;覆盖 Adoptium、GitHub、Node.js、Python/NuGet、Apache、Gradle、Go、BellSoft 等官方源与明确 CDN。
- ZIP 解压阻止路径穿越。
- 删除和卸载受管运行时前会校验路径必须位于 DevEnv Manager 根目录内。
- 外部运行时优先使用 Windows 卸载注册表;Scoop/Chocolatey 项使用对应包管理器;严格识别的独立绿色运行时只移入回收站;IDE 内置 JDK 始终受保护。
- C 盘急救 Phase 2 的计划由后端根据本轮扫描生成、30 分钟过期且只能执行一次;执行前重新扫描并拒绝被篡改的 ID、路径、分类或风险。
- 普通临时文件和 DevEnv Manager 下载/旧日志优先移入 Windows 回收站;开发缓存只调用工具官方命令,命令缺失时不会回退为目录删除。
- 默认扫描不进入 Desktop、Downloads、Documents、Pictures、Videos、Music;
C:\Windows、Program Files、当前项目、受管运行时、浏览器凭据和微信/QQ 数据库受保护,符号链接不会被跟随。 - WPS 只匹配明确命名的 cache/temp/log 路径,备份中心、云文档、账号数据和普通文档不进入结果,1.3.0 仍保持只读。
- Phase 3 不提供桌面/下载/重复文件删除,也不直接删除软件、游戏、微信/QQ、浏览器或网盘数据;只提供打开目录、系统卸载入口和迁移建议。
- 项目配置只允许写入四个固定 VS Code/IDEA 文件;已有文件和切换前环境自动创建时间戳备份。
- chsrc 只接受固定目标和源 ID,不接受自定义 URL,也不通过 Shell 拼接命令。
- 命令面板不是 AI 自动执行器。系统 Shell、磁盘/注册表/权限/服务命令及破坏性 Git 命令会被拒绝;安装、更新、发布类命令需要二次确认。
- 结束进程会拦截 PID 0、PID 4、System、lsass.exe、csrss.exe、wininit.exe、winlogon.exe、services.exe 等关键进程。
- 导出诊断报告会脱敏用户目录和常见敏感键值,不导出私钥、token、密码。
- SSH Key 生成发现同名密钥时会拒绝覆盖,界面只允许复制公钥,绝不读取或显示私钥。
- npm 和 pip 镜像只能从内置白名单选择,工具安装包名使用固定白名单,避免拼接任意命令。
- Go 只从
go.dev白名单下载,并使用官方索引提供的 SHA256 校验安装包。 - Maven/Gradle 只写用户目录中的固定配置文件;已有文件会先生成时间戳备份,界面提供最近备份恢复入口。
- 不包含账号系统、云同步、遥测、广告或联网统计。
DevEnv Manager 是个人维护项目,不承诺长期覆盖所有语言、SDK、包管理器和 Linux 发行版。维护优先级固定为:
- 安全问题和数据保护
- 可复现的明确 bug
- 核心 JDK/Python/Node、PATH、端口诊断体验
- 文档澄清和低风险、可测试功能
- 新生态扩展
新功能必须尽量满足低风险、可回滚、可测试和维护成本可控。涉及命令执行、清理、卸载、服务停止与自动修复的功能会采用更保守的默认行为。Windows 是主平台;WSL 以诊断和编排为主,完整 Linux 桌面版本需独立评估,不会简单照搬 Windows 实现。
为什么修改环境变量后当前终端没有变化?
已经启动的 CMD、PowerShell、IDE 不会自动继承新环境变量,请重新打开终端或 IDE。
为什么选择 D 盘后安装到了 D:\DevEnvManager?
这是有意设计,避免把 current、envs、downloads 等目录直接散在 D 盘根目录。
为什么 Python 安装后没有全局 py 命令?
受管 Python 使用官方 NuGet 完整包直接解压到 DevEnv Manager 根目录,并验证 python、pip 和 venv,但不会安装全局 Python Launcher,以免和已有系统 Python 抢占。建议使用受管 PATH 中的 python。
为什么有些外部运行时仍不能卸载? IDE 内置 JDK、无法确认所有权的目录和未知便携版会被有意拦截。注册表、Scoop、Chocolatey 和严格识别的独立绿色运行时可直接处理。
为什么 Maven / Gradle 要求 JAVA_HOME?
Maven 和 Gradle 需要有效 JDK。新版会在受管命令执行时注入 JAVA_HOME=%DEVENV_HOME%\current\jdk,安装或切换后也会重新验证。
- 全新 Windows 环境首次打开。
- 修改安装根目录,特别是选择
D:\。 - 安装 JDK 17/21,并切换验证。
- 安装 Python 3.12/3.14,并验证
python -m pip --version。 - 安装 Node.js 22,并验证
npm --version。 - 安装 Maven / Gradle,并验证 JAVA_HOME 处理。
- 配置用户环境变量后重新打开终端测试。
- 预览 DEVENV_HOME/JAVA_HOME/PATH 差异,确认写入前生成历史备份;恢复指定备份并确认恢复前状态再次备份。
- 同时安装多个 JDK,制造 JAVA_HOME、PATH、java、javac 不一致并检查明确告警。
- 用 Maven/Gradle 项目验证项目要求、JAVA_HOME 和构建工具 JVM 的匹配结果。
- 用 Nacos 目录验证 JDK 8+ 检查与固定 action id 启动入口。
- 故意制造重复或失效 PATH,再清理。
- 运行环境医生并导出报告。
- 检测多个 Python 和 Microsoft Store Python 别名。
- 扫描 8080、5173、3306、5432、6379 端口。
- 结束普通 node/java 进程,确认系统关键进程被拦截。
- 分析 Node/Python/Java/Tauri/Rust 项目。
- 预览并编辑 VS Code/IDEA 配置;确认已有文件和环境模板均生成时间戳备份。
- 验证超过 5 项的运行时、诊断、端口、服务、缓存和清理列表分页。
- 检查 chsrc 当前源/可用源/测速,并对换源和恢复操作验证二次确认。
- 清理下载缓存,确认项目逐项进入 Windows 回收站而不是永久删除。
- 在命令面板验证
node --version可运行、npm install需确认、PowerShell 与git reset --hard被拦截。 - 完成 C 盘急救扫描、勾选、计划、二次确认、清理、验证和 Markdown/JSON 报告;确认计划篡改与重复执行被拒绝。
- 分别运行 npm/pnpm/Yarn/pip/uv/Poetry/Go/NuGet 官方缓存命令;确认 Maven/Gradle/Cargo 仍为只读。
- 分类桌面和下载目录;验证旧文件、安装包、压缩包、截图、ISO 和 1GB 大文件统计。
- 在专用测试目录扫描大文件 Top 100 与 SHA256 重复文件;确认没有删除按钮。
- 检查微信/QQ、Chrome/Edge/Firefox、网盘、剪辑软件、Steam/Epic/WeGame 与 Windows 卸载表;确认只提供打开位置、迁移建议和系统卸载入口。
- 主动运行 AI Agent / CLI 痕迹分析,确认不展示 history、会话正文或敏感值。
- 启动自身卸载入口。
- 检查 Git 身份、Git LFS、SSH Key 和 GitHub HTTPS/SSH 状态。
- 配置测试用 Git 身份,确认刷新后立即显示;已有
id_ed25519时确认不会覆盖。 - 检查 npm/pnpm/Yarn/Corepack,切换 npm 官方源与 npmmirror 后验证。
- 检查 pip/uv/Poetry/virtualenv,切换 PyPI 镜像并安装一个缺失工具后验证。
- 安装并切换 Go 1.25/1.26,验证
go version与go env。 - 切换 GOPROXY 后重新检查,确认只修改当前用户环境变量。
- 检查 rustup、Rust 工具链和 MSVC Build Tools,执行 stable 切换。
- 检查 .NET SDK/Runtime,并用含
global.json的项目验证版本匹配提示。 - 写入 Maven/Gradle 测试镜像,确认先生成备份,再测试最近备份恢复。
- 打包 Tauri 安装包。
已实现的 P0 / P1 / P2:
- 环境医生
- Python 多版本冲突分析
- 项目启动向导
- 诊断报告导出
- 配置模板保存和恢复
- 安装进度和切换后验证
- Git / GitHub 基础诊断、身份配置、SSH Key 生成与连接测试
- Node.js 包管理器检测、安装、registry 和全局目录管理
- Python 工具链检测、安装和 pip 镜像管理
- 统一工具元数据注册表
- Go 受管安装、切换、卸载和代理管理
- Rust/rustup 与 MSVC Build Tools 诊断
- .NET SDK/Runtime 与
global.json诊断 - Maven/Gradle 镜像配置备份和恢复
- 端口进程解释、Windows 服务映射和 7 天历史
- Docker / WSL 与数据库本地服务检查
- 配置模板导入、导出和团队分享
- Markdown/JSON 脱敏诊断报告和复制分享
- 项目 JDK 建议、JDK 发行版扩展结构和更新检查
- C 盘急救大师 Phase 1 安全底座、磁盘体检与只读扫描
- C 盘急救大师 Phase 2 一次性清理计划、回收站执行、官方开发缓存命令与 Markdown/JSON 报告
- C 盘急救大师 Phase 3 桌面/下载、大文件、重复文件与常见应用/软件/游戏只读占用分析
- 环境配置差异预览、一次性确认、历史备份、指定恢复与回读验证
- VS Code/IDEA 项目配置预览、细微编辑、文件备份与切换前环境模板
- RubyMetric/chsrc 固定参数集成与侧边栏工作流分组
- 独立长列表统一分页
devenv命令行工具- Temurin、Zulu、Liberica、Microsoft OpenJDK 自动安装
- 程序内下载、SHA256 校验和自动升级
- Docker Desktop、WSL 发行版和数据库服务管理
- 项目端口配置识别、备份修改和占用提醒
- 配置模板差异预览和缺失版本补齐
- 环境医生安全一键修复
- 命令面板白名单与管理员态保护
- JDK/JAVA_HOME/PATH/java/javac/Maven/Gradle 一致性诊断
- Nacos Java 环境识别与受管启动
- AI Agent / CLI 痕迹只读分析
后续规划:
- 优先增加真实 Windows 环境的自动化安装与多 JDK 回归测试,不无限扩展新生态。
- 继续增加真实 Windows 环境的下载重定向、回收站恢复和官方缓存命令自动化回归。
- 评估 WSL 内只读 SDK 诊断;不承诺短期完整 Linux 桌面版。
要求 Windows 10/11 和 Python 3.11 或更高版本。
py -3.11 -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install -r requirements.txt
python main.py旧版打包:
.\build_exe.bat输出位于 dist\DevEnvManager.exe。