用户反馈 / 新需求
当前安全声明文案显示在“环境”页面内:
使用前请阅读,DevEnv Manager 是个人维护的 Windows 开发环境诊断与安全操作面板。默认诊断不会修改系统;执行环境变量、服务、清理、空间搬家、Junction、数据库修复或分区扩容等操作前,请自行确认影响范围并备份重要数据。如果你不理解某项操作的影响,建议只使用只读诊断、报告导出和安全建议。
用户希望该提示不要只放在环境页面,而是在下载安装后第一次打开软件时强制弹出。只有用户点击“我已阅读”或“我已知晓风险并继续”之后,弹窗才消失,并允许正常使用软件。
问题判断
安全声明属于全局使用前告知,不应该只绑定在“环境”页面。因为软件中存在环境变量、服务、清理、空间搬家、Junction、数据库修复、分区扩容等可能影响用户环境或数据的操作,首次启动时应先完成基本风险告知。
该功能属于 安全门禁 / 首次启动免责声明确认,不是新增业务功能。
修复目标
实现首次启动强制安全声明弹窗:
启动软件 → 检查是否已确认安全声明 → 未确认则显示强制弹窗 → 用户点击确认 → 保存确认状态 → 进入主界面
确认前不允许正常使用主界面,不应自动执行诊断、扫描、修复、安装、清理或任何可能修改系统/用户环境的操作。
一、弹窗展示规则
1. 首次启动必须显示
以下情况必须显示:
- 新安装后第一次启动。
- 本地确认状态不存在。
- 本地确认状态损坏或无法读取。
- 安全声明版本号升级后,需要重新确认。
2. 已确认后不再打扰
用户确认后:
- 本地保存确认状态。
- 后续启动不再强制弹出。
- 仍然可以在“关于 / 安全说明 / 设置”中重新查看。
3. 安全声明版本机制
建议增加:
safety_disclaimer_version: 1
accepted_safety_disclaimer_version: 1
accepted_at: timestamp
如果后续安全声明内容发生重大变化,可提升版本号并要求用户重新确认。
二、弹窗文案要求
弹窗标题:
弹窗正文建议:
DevEnv Manager 是个人维护的 Windows 开发环境诊断与安全操作面板。
默认诊断不会修改系统。执行环境变量、服务、清理、空间搬家、Junction、数据库修复或分区扩容等操作前,请自行确认影响范围,并提前备份重要数据。
本软件会通过只读诊断、计划预览、用户确认、备份和报告机制降低风险,但不能替代专业系统维护、数据库运维、磁盘分区或数据恢复工具。
如果你不理解某项操作的影响,建议只使用只读诊断、报告导出和安全建议。
确认按钮:
可选次要按钮:
不建议提供“稍后再说”。
三、交互要求
- 弹窗必须为阻塞式 modal。
- 背景主界面不可点击。
Esc 不应直接关闭弹窗并进入软件。
- 点击窗口关闭按钮时,应退出软件或停留在弹窗,不允许绕过确认进入主界面。
- 确认按钮点击后才进入主界面。
- 弹窗内容不应过长,应可滚动。
- 按钮文案必须明确,不使用“知道了”这种过轻表达。
四、主界面加载要求
确认前:
- 不自动启动扫描。
- 不自动读取敏感路径。
- 不自动检查 Docker/WSL。
- 不自动执行环境诊断。
- 不自动安装、修复、清理。
- 允许加载最基础的壳层 UI,但必须被 modal 阻塞。
确认后:
五、存储要求
确认状态保存到本地配置,不上传任何数据。
需要记录:
{
"safetyDisclaimerAccepted": true,
"safetyDisclaimerVersion": 1,
"acceptedAt": "2026-xx-xxTxx:xx:xxZ"
}
如果配置损坏,视为未确认并重新显示。
六、设置 / 关于页重新查看
必须提供入口让用户重新查看安全声明,例如:
入口可以显示:
- 当前安全声明版本。
- 首次确认时间。
- 查看完整声明。
不要求提供“撤销确认”,但如果提供撤销,则下次启动应重新弹出。
七、与现有功能说明的关系
- “环境”页面内可以保留简短安全提示,但不再作为唯一的使用前声明入口。
- 各高风险功能仍然必须保留二次/三次确认。
- 首次启动声明不能替代 MySQL 修复、C 盘扩容、Junction、环境变量写入等具体操作前的风险确认。
八、测试要求
新增测试或手动验证:
- 新安装 / 无配置首次启动,必须显示安全声明弹窗。
- 未点击确认时无法操作主界面。
- 按 Esc 不能绕过确认。
- 关闭窗口不会进入主界面。
- 点击“我已阅读并知晓风险”后进入主界面。
- 再次启动不再强制弹出。
- 配置损坏时重新弹出。
- 安全声明版本升级后重新弹出。
- 设置 / 关于页可以重新查看声明。
- 确认前不会自动执行扫描、修复、清理、安装等动作。
九、文档更新
更新:
docs/user-guide.md
docs/troubleshooting.md
docs/release-v1.5.2.md
docs/issues-57-68.md
- 如有必要,更新
docs/software-copyright/04_用户操作手册.md
说明:
- 首次启动会显示安全声明。
- 为什么必须确认后才能使用。
- 安全声明不替代具体高风险操作的二次/三次确认。
十、验收标准
- 首次启动必须强制显示安全声明。
- 点击确认前不能正常使用软件。
- 确认状态能本地持久化。
- 安全声明版本升级后能重新要求确认。
- 设置 / 关于页可重新查看声明。
- 高风险功能仍保留各自确认流程。
npm run build 通过。
cargo test --all-targets 通过。
- release notes 记录该安全门禁改动。
用户反馈 / 新需求
当前安全声明文案显示在“环境”页面内:
用户希望该提示不要只放在环境页面,而是在下载安装后第一次打开软件时强制弹出。只有用户点击“我已阅读”或“我已知晓风险并继续”之后,弹窗才消失,并允许正常使用软件。
问题判断
安全声明属于全局使用前告知,不应该只绑定在“环境”页面。因为软件中存在环境变量、服务、清理、空间搬家、Junction、数据库修复、分区扩容等可能影响用户环境或数据的操作,首次启动时应先完成基本风险告知。
该功能属于 安全门禁 / 首次启动免责声明确认,不是新增业务功能。
修复目标
实现首次启动强制安全声明弹窗:
确认前不允许正常使用主界面,不应自动执行诊断、扫描、修复、安装、清理或任何可能修改系统/用户环境的操作。
一、弹窗展示规则
1. 首次启动必须显示
以下情况必须显示:
2. 已确认后不再打扰
用户确认后:
3. 安全声明版本机制
建议增加:
如果后续安全声明内容发生重大变化,可提升版本号并要求用户重新确认。
二、弹窗文案要求
弹窗标题:
弹窗正文建议:
确认按钮:
可选次要按钮:
不建议提供“稍后再说”。
三、交互要求
Esc不应直接关闭弹窗并进入软件。四、主界面加载要求
确认前:
确认后:
五、存储要求
确认状态保存到本地配置,不上传任何数据。
需要记录:
{ "safetyDisclaimerAccepted": true, "safetyDisclaimerVersion": 1, "acceptedAt": "2026-xx-xxTxx:xx:xxZ" }如果配置损坏,视为未确认并重新显示。
六、设置 / 关于页重新查看
必须提供入口让用户重新查看安全声明,例如:
入口可以显示:
不要求提供“撤销确认”,但如果提供撤销,则下次启动应重新弹出。
七、与现有功能说明的关系
八、测试要求
新增测试或手动验证:
九、文档更新
更新:
docs/user-guide.mddocs/troubleshooting.mddocs/release-v1.5.2.mddocs/issues-57-68.mddocs/software-copyright/04_用户操作手册.md说明:
十、验收标准
npm run build通过。cargo test --all-targets通过。