Env Check 是一个面向本地开发环境的只读健康检查工具,以技能形式提供。它专门诊断“环境能不能跑起来”这类问题,不会进行性能调优、安全扫描或项目配置审查,也不会代为执行任何修复动作。
用途 当构建或安装失败并出现环境类症状时使用,例如:明明已安装的工具却提示 command not found、二进制版本不对、代理超时、WSL 中命中了 Windows 侧的二进制、CRLF 换行混乱等。用户主动要求“环境体检”或“为什么我这里跑不起来”时也适用。明确不适用于:CPU/内存/磁盘速度等性能调优、代码或依赖的安全扫描、项目配置审查、AI 会话健康检查。
主要能力 工具链:检查命令是否在 PATH 上、--version 是否能运行、是否存在遮蔽(通过 which -a 比较真实路径)。缺失或损坏记为 WARN(可能是有意为之),被遮蔽也记为 WARN。 环境变量:PATH 卫生(缺失、重复、空条目)、代理可达性(对已配置代理端口做 socket 探测)、LANG。代理不可达记为 FAIL,PATH/locale 问题记为 WARN。 WSL 互操作:Windows PATH 注入 WSL、/etc/wsl.conf 中禁用标志、core.autocrlf=true。发现注入、autocrlf 或禁用标志记为 WARN。 磁盘与 inode:检查当前目录所在文件系统和 / 的剩余空间与 inode 使用率(去重)。剩余空间低于 512MB 或 1% 记为 FAIL,低于 2GB 或 5% 记为 WARN;inode 低于 1% 记为 FAIL,低于 5% 记为 WARN。 端口:检查用户通过 --ports 指定的端口占用情况,可用时用 lsof/ss 识别占用者。被占用记为 WARN(是否终止由用户决定),未指定端口则跳过。 依赖完整性:孤立 node_modules、损坏的 .bin 符号链接、缺失 lockfile、损坏的 venv(pyvenv.cfg home 与 bin/python3)。孤立、损坏 venv、损坏 bin 记为 WARN;无 lockfile 记为 INFO。
使用方式 运行 python3 scripts/env-check.py 获得人类可读报告;加 --json 输出机读格式(schema env-check/1);加 --tools node,deno,go 扩展探测列表;加 --timeout 15 设置每个探测的超时秒数(默认 5);加 --ports 3000,8080 检查指定开发端口占用。退出码:0 表示无 FAIL(允许 WARN),1 表示至少一个 FAIL,2 表示用法错误。如果脚本刚被修改,先运行 --selftest 自测。 报告按严重程度从 FAIL 到 WARN 排列,每条发现包含标题、机器采集的证据行和 fix: 修复命令。用户需自行确认并执行修复命令,本技能永不代为执行,也不存在 --fix 模式。修复后可重新运行以确认 FAIL 已清除。平台细节可查阅 references/checks-linux-wsl.md 或 references/checks-macos.md。
适用场景与限制 适用于 WSL2/Linux、macOS 和普通 Linux 环境;Windows 原生(无 WSL)不在设计范围内且未测试。所有检测均在本地完成,零依赖、零网络(代理连通性探测是对用户已配置代理的本机端口探测),无外链、无下载。判定阈值固定在 scripts/env-check.py 中,不临时重新判断。无法读取的信号会如实报告为 SKIP/INFO,不猜测。版本管理器冲突解决超出遮蔽报告之外、--fix 白名单模式均明确暂未提供。