请实现一个环境检测模块(env_detector),用于在运行时判断:
-
操作系统:
- Windows / macOS / Linux
-
Python环境:
- Python版本
- 是否在 virtualenv / venv 中
-
Shell环境:
- bash / zsh / powershell / cmd
要求:
-
提供统一接口: get_os() get_python_version() is_venv() get_shell()
-
结果缓存,避免重复检测
后续所有系统操作必须依赖该模块,不允许硬编码系统逻辑 然后想实现一个“本地 AI 工作台”的第一阶段功能,请你创建一个最小可运行项目。
目标: 第一阶段只做“软件扫描与基础控制”。 功能包括:
- 扫描电脑上已安装的软件
- 将软件分类
- 支持打开指定软件
- 支持关闭指定软件
当前边界:
- 暂时不做 GUI 自动化
- 暂时不做管理员权限提升
- 暂时不做安装/卸载
- 暂时不做系统设置修改
- 暂时不做全盘文件扫描
- 暂时不做复杂前端界面
- 先做 CLI 版本
环境:
- 根据上面的环境检测模块得到
- 项目可以从零开始创建
功能要求:
-
扫描已安装软件
- 尽量获取软件名称、可执行路径、安装来源、启动命令
- 输出为结构化 JSON
-
软件分类
- 请你根据扫描的结果进行分类并命名
分类规则请放到单独配置文件中,便于后续维护。
-
打开软件
- 支持通过名称打开软件
- 如果匹配多个结果,返回候选项,不要直接执行
-
关闭软件
- 支持通过名称关闭普通用户态应用
- 不要关闭系统关键进程
- 增加 denylist 保护高风险系统程序
CLI 设计:
- scan:扫描并输出 JSON
- list:以表格形式展示软件列表
- open :打开指定软件
- close :关闭指定软件
数据结构: 每个软件至少包含以下字段:
- id
- name
- category
- install_source
- executable_path
- launch_command
- closable
- system_app
安全要求:
- 不要默认使用管理员权限
- 对危险目标加 denylist
- 所有操作打印日志
- 遇到歧义时要求用户确认
交付要求:
- 创建完整项目结构
- 提供 README.md
- 提供依赖文件
- 提供基础测试
- 提供一个示例输出文件
- 在 README 中写清如何运行 scan/list/open/close
请先给出:
- 目录结构设计
- 核心模块划分
- 实现计划 然后再开始写代码。