!
Purpose & Capability
技能名/描述与代码主逻辑(调用 audio-separator、检测 GPU、下载模型、批量处理音频)一致。但 ensure_package.fix_setuptools() 在模块导入时立即调用,会在当前 Python 解释器环境中强制安装/降级 setuptools 和 wheel —— 这一行为与“只是运行本地音频分离”不可预期,且会修改宿主环境。VENV_DIR 指向技能目录之外的路径(可能是共享 venv),这也没有在文档中充分说明。
!
Instruction Scope
SKILL.md 指示以 python scripts/purevocals.py 启动,文档说明了模型下载和 venv 管理,但未明确说明代码会在首次导入时修改当前 Python 环境(立即执行 pip install/setuptools 强制重装)、会自动下载外部二进制(ffmpeg)并从网络拉取大模型文件。这些 side-effect 在文档中没有明确提示或征得用户同意。
!
Install Mechanism
技能没有平台 install spec,但代码在运行时通过 pip 安装/升级多个包(包括对 PyTorch 的大型 wheel 下载、audio-separator、ffmpeg-downloader 等),并自动从外部源下载 ffmpeg 与模型文件。运行时从网络下载安装与解包会写入磁盘并执行二进制/大型包,属于较高风险操作且没有在 SKILL.md 中充分警告。
ℹ
Credentials
技能不要求任何秘密或外部凭证(没有 env var 要求),这与用途相符. 然而,代码会尝试访问系统工具(nvidia-smi)、修改 Python 包(在导入时降级 setuptools)并在技能外部路径创建/使用虚拟环境与 models/logs 目录。这些资源访问没有在文档中明确解释,可能影响其他 Python 项目或技能。
ℹ
Persistence & Privilege
always:false (正常)。但脚本会在磁盘上长期写入模型、日志与虚拟环境,且可能创建一个位于技能上级的共享 venv,从而产生持久改变。没有修改其他技能配置的代码,但全局 pip 更改(setuptools 重装)和共享 venv 是持久且有潜在影响的权限级别。
What to consider before installing
What to consider before installing/using this skill:
- Legitimate purpose but surprising side effects: the code does implement vocal extraction, GPU detection and model downloads, but it also runs pip at runtime and (on import) force-reinstalls setuptools/wheel in the current Python, which can modify your system or other projects unexpectedly.
- Network downloads & large files: it will download ffmpeg and ML models (hundreds of MB to GB) from external URLs and PyTorch wheels from pytorch.org. Expect big network/ disk usage and possible firewalls/slowdowns.
- Persistent artifacts: models/, logs/, and a venv directory (VENV_DIR) are created on disk. VENV_DIR appears to be outside the skill folder and may be shared — check its path before running.
- Privileged operations: the script invokes subprocesses (pip, nvidia-smi, ffmpeg-downloader, audio-separator CLI) and may run long installs and re-launch itself inside a created venv.
Practical recommendations:
- If you want to try it, run it first in a sandboxed environment: a disposable VM, container, or an isolated user account where side effects are acceptable.
- Inspect and/or modify the code before running: move the setuptools fix/any pip installs into an explicit, documented setup step (not at module import), or require user confirmation before modifying the global Python environment.
- Prefer manual venv: change VENV_DIR to a skill-local venv (inside the skill folder) or let the user supply the venv path. Verify that package installs occur inside that venv, not the global interpreter.
- Monitor network and disk: be ready for large downloads and ensure you have sufficient storage and bandwidth. Consider pre-downloading models to models/ and set offline usage.
- If you need higher assurance: ask the author for a version that avoids global pip calls at import time and documents all external downloads and paths it will write to.
Confidence note: medium — the code clearly performs the operations described, but some behaviors (top-level pip/setuptools change, shared venv location) may be legitimate design choices for convenience; they are nonetheless risky and under-documented.