## Why 当前python-runner skill要求使用PEP 723规范在脚本顶部添加内联元数据块来声明依赖,这需要修改用户现有的Python脚本,降低了使用便利性。通过改用`uv run --with`语法并自动解析脚本内容中的依赖,可以在不改动用户脚本的情况下利用uv的隔离环境直接运行脚本,提升用户体验和灵活性。 ## What Changes - **BREAKING**: 移除对PEP 723规范的依赖,不再要求脚本顶部包含`# /// script`元数据块 - **BREAKING**: 不再保持对包含PEP 723元数据的旧脚本的兼容性 - 新增依赖解析功能:通过分析脚本内容自动识别所需的Python包 - 新增智能执行逻辑: - 使用`uv sync --dry-run`检测当前目录是否为uv项目 - 如果是uv项目,直接使用`uv run script.py`执行 - 如果不是uv项目,使用`uv run --with package1 --with package2 script.py`执行 - 新增路径处理逻辑: - 当用户指定脚本存储路径时,将脚本写入指定目录 - 仅在用户未指定路径或由大模型自主生成脚本时,才使用临时脚本 - 更新执行命令模式,统一使用`--with`语法传递依赖 - 简化实现:直接使用大模型命令行工具执行项目检测,无需新增辅助脚本 ## Capabilities ### New Capabilities - `uv-run-with-syntax`: 使用`uv run --with`语法执行Python脚本的能力,包括自动依赖解析和智能项目检测 ### Modified Capabilities - `uv-python-runner`: 现有spec需要更新以反映新的执行流程,包括:移除PEP 723要求、新增依赖解析逻辑、新增智能路径和项目检测 ## Impact - **代码影响**: - 修改`skills/python-runner/SKILL.md`,更新执行工作流和示例 - 保留现有的`get_temp_path.py`辅助脚本 - 不新增辅助脚本,项目检测直接使用命令行工具 - **行为影响**: - 不再支持PEP 723元数据格式 - 新版工作流可以不经修改直接运行用户现有的Python脚本 - 改进了与现有uv项目的集成体验 - **依赖影响**:无新增依赖,继续使用uv作为核心依赖 - **兼容性**: - 保持跨平台兼容性(Windows/macOS/Linux) - 不保持对旧版PEP 723格式的兼容性(BREAKING CHANGE)