2.2 KiB
2.2 KiB
Why
当前lyxy-runner-python 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-lyxy-runner-python: 现有spec需要更新以反映新的执行流程,包括:移除PEP 723要求、新增依赖解析逻辑、新增智能路径和项目检测
Impact
- 代码影响:
- 修改
skills/lyxy-runner-python/SKILL.md,更新执行工作流和示例 - 保留现有的
get_temp_path.py辅助脚本 - 不新增辅助脚本,项目检测直接使用命令行工具
- 修改
- 行为影响:
- 不再支持PEP 723元数据格式
- 新版工作流可以不经修改直接运行用户现有的Python脚本
- 改进了与现有uv项目的集成体验
- 依赖影响:无新增依赖,继续使用uv作为核心依赖
- 兼容性:
- 保持跨平台兼容性(Windows/macOS/Linux)
- 不保持对旧版PEP 723格式的兼容性(BREAKING CHANGE)