用途:该技能用于在会话开始或切换项目、进入容器/虚拟机/远程机器时,先探测目标环境,再执行任何 shell 命令。核心原则是:未确认 OS、shell 和包管理器之前,不授权运行命令。
主要能力:检测操作系统与架构(process.platform、uname -s、systeminfo/ver,区分 win32、darwin、linux/WSL);检测 shell($SHELL、$PSVersionTable、$0、%COMSPEC%);通过锁文件判断包管理器(bun.lockb/bun.lock、pnpm-lock.yaml、yarn.lock、package-lock.json,以及 Pipfile.lock、poetry.lock、uv.lock、requirements.txt、go.sum、Cargo.lock、Gemfile.lock);按需探测运行时版本(node、python3、go、rustc、java、ruby);识别虚拟环境与版本管理器(VIRTUAL_ENV、CONDA_DEFAULT_ENV、.python-version、.nvmrc、.ruby-version、.tool-versions);检测容器(/.dockerenv、/proc/1/cgroup、$container、KUBERNETES_SERVICE_HOST)。还提供系统清单检查,覆盖数据库、云与托管 CLI、容器工具和开发工具,并按项目类型选择性执行。
使用方式:会话开始时按平台、shell、包管理器、运行时、虚拟环境、容器的顺序探测一次,结果存入上下文供后续命令参考。版本检查需重定向 stderr 并在链式命令末尾加 ; true,避免缺失工具产生红色错误。报告时只提取版本号并汇总,例如“可用:PostgreSQL 16.2、Docker 27.1;未找到:Redis”。同时提供 Linux/macOS、Windows CMD、PowerShell、Git Bash 的命令映射表。
适用场景:新会话首次交互、切换项目或仓库、进入容器/VM/远程机器、命令报“not found”、安装依赖或运行构建脚本、编写平台相关代码、诊断“在我机器上能跑”的问题,以及 CI/CD 环境。
限制:资料未提供具体安装命令、收费方式或平台支持范围;该技能本身是行为规范与检测流程,不替代实际工具安装。探测应限定在项目相关类别,避免盲目执行完整清单。