核心功能
vx 重新定义了开发工具管理方式——只需在任意命令前加 vx 前缀,即可自动安装并执行该工具。支持 111 种工具(Node.js、Python/uv、Go、Rust、Bun、Deno、cargo、just、cmake、kubectl 等),覆盖 JavaScript、Python、Rust、Go、DevOps、安全、云原生等全栈场景。
关键特性
- 零配置自动安装:
vx node app.js自动下载 Node.js 并执行,无需手动安装 - 项目级版本锁定:通过
vx.toml声明工具版本,vx sync一键同步团队环境 - 多运行时隔离:
vx --with bun node app.js同时提供多个运行时 - 包别名系统:
vx vite自动映射为vx npm:vite,简化跨生态命令 - 环境变量注入:自动注入 MSVC 等工具链环境变量,解决原生模块编译难题
- MCP 就绪:直接替换
npx/uvx,AI 代理无需预装 Node.js/Python 即可启动 MCP 服务器
技术架构
采用 Buck2 启发式两阶段执行模型:
1. 分析阶段:Starlark DSL(provider.star)纯计算返回工具描述
2. 执行阶段:Rust 运行时处理实际下载、安装和进程执行
提供 4 种高阶模板(github_rust_provider、github_go_provider 等),新工具添加仅需 15 行 Starlark 配置。
适用场景
| 场景 | 用法 |
|------|------|
| 个人开发 | 告别手动安装多版本工具 |
| 团队协作 | `vx.toml` + `vx.lock` 保证环境一致性 |
| CI/CD | GitHub Action 开箱即用,支持缓存和多平台矩阵 |
| 容器化 | `ghcr.io/loonghao/vx:latest` 基础镜像 |
| AI 代理 | MCP 配置零依赖启动 |
显著优点
- 跨平台一致(Windows/macOS/Linux)
- 版本解析优先级清晰(CLI > vx.toml > 全局配置 > 默认)
- 透明代理:原始命令参数完全保留
- 增量可复现:
vx.lock锁定精确版本
潜在局限
- 新兴工具需手动编写
provider.star(社区生态尚小) - 首次执行有下载延迟(可
vx install预装规避) - Windows 特定工具(MSVC)需额外配置
风险提示
- 工具下载来自 GitHub Releases 等外部源,需信任 provider 完整性
vx.lock未提交时可能产生版本漂移- 生产环境建议显式锁定版本,避免
latest标签