Token导航 LogoToken导航TokenDH.com
研究检索敏感数据clawhub未标认证来源可访问clear审计通过

vx-usagevx 用法

Agent Skill

vx-usage 用于查找、检索和筛选相关信息,适合在 OpenClaw 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

7,173

周安装

293

GitHub Stars

公开资料未说明

下载量

2,297
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:vx-usage(vx 用法)
来源仓库:https://github.com/loonghao/vx-usage
安装命令:
openclaw skills install vx-usage
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install vx-usage

简介

vx-usage 指导如何使用通用开发工具管理器 vx 进行版本控制。

  • 适用于项目中有 vx.toml 或 .vx/ 配置时的工具链管理需求。
  • 可帮助用户识别工具版本、依赖关系和环境切换流程。vx-usage 属于研究检索类 Skill,可作为该场景下的辅助能力补充。
  • 使用前应核实是否允许修改项目配置文件或全局工具路径。
  • 建议结合实际项目结构查看配置示例和常见问题解答。

SKILL.md

name
vx-usage
description
Teaches AI agents how to use vx, the universal dev tool manager. Use when the project has vx.toml or .vx/, or when the user mentions vx, tool version management, or cross-platform setup. vx auto-manages Node.js, Python, Go, Rust, and 129 tools via Starlark DSL providers. Also covers MCP integration patterns and GitHub Actions.

VX - Universal Development Tool Manager

One-sentence summary: vx = prefix any dev tool command with vx → it auto-installs the tool and runs it.

vx is a universal development tool manager that automatically installs and manages development tools (Node.js, Python/uv, Go, Rust, etc.) with zero configuration.

Core Concept

Instead of requiring users to manually install tools, prefix any command with vx:

vx node --version      # Auto-installs Node.js if needed
vx uv pip install x    # Auto-installs uv if needed
vx go build .          # Auto-installs Go if needed
vx cargo build         # Auto-installs Rust if needed
vx just test           # Auto-installs just if needed

vx is fully transparent - same commands, same arguments, just add vx prefix.

Essential Commands

Tool Execution (most common)

vx <tool> [args...]           # Run any tool (auto-installs if missing)
vx node app.js                # Run Node.js
vx python script.py           # Run Python (via uv)
vx npm install                # Run npm
vx npx create-react-app app   # Run npx
vx cargo test                 # Run cargo
vx just build                 # Run just (task runner)
vx git status                 # Run git

Tool Management

vx install node@22            # Install specific version
vx install uv go rust         # Install multiple tools at once
vx list                       # List all available tools
vx list --installed           # List installed tools only
vx versions node              # Show available versions
vx switch node@20             # Switch active version
vx uninstall go@1.21          # Remove a version

Project Management

vx init                       # Initialize vx.toml for project
vx sync                       # Install all tools from vx.toml
vx setup                      # Full project setup (sync + hooks)
vx dev                        # Enter dev environment with all tools
vx run test                   # Run project scripts from vx.toml
vx check                      # Verify tool constraints
vx lock                       # Generate vx.lock for reproducibility

Environment & Config

vx env list                   # List environments
vx config show                # Show configuration
vx cache info                 # Show cache usage
vx search <query>             # Search available tools
vx info                       # System info and capabilities

Project Configuration (vx.toml)

Projects use vx.toml in the root directory:

[tools]
node = "22"         # Major version
go = "1.22"         # Minor version
uv = "latest"       # Always latest
rust = "1.80"       # Specific version
just = "*"          # Any version

[scripts]
dev = "npm run dev"
test = "cargo test"
lint = "npm run lint && cargo clippy"
build = "just build"

[hooks]
pre_commit = ["vx run lint"]
post_setup = ["npm install"]

Using --with for Multi-Runtime

When a command needs additional runtimes available:

vx --with bun node app.js     # Node.js + Bun in PATH
vx --with deno npm test        # npm + Deno available

Package Aliases

vx supports package aliases — short commands that automatically route to ecosystem packages:

# These are equivalent:
vx vite              # Same as: vx npm:vite
vx vite@5.0          # Same as: vx npm:vite@5.0
vx rez               # Same as: vx uv:rez
vx pre-commit        # Same as: vx uv:pre-commit
vx meson             # Same as: vx uv:meson
vx release-please    # Same as: vx npm:release-please

Benefits:

  • Simpler commands without remembering ecosystem prefixes
  • Automatic runtime dependency management (node/python installed as needed)
  • Respects project vx.toml version configuration

Available Aliases:

Short CommandEquivalentEcosystem
vx vitevx npm:vitenpm
vx release-pleasevx npm:release-pleasenpm
vx rezvx uv:rezuv
vx pre-commitvx uv:pre-commituv
vx mesonvx uv:mesonuv

Companion Tool Environment Injection

When vx.toml includes tools like MSVC, vx automatically injects discovery environment variables into all subprocess environments. This allows any tool needing a C/C++ compiler to discover the vx-managed installation.

# vx.toml — MSVC env vars injected for ALL tools
[tools]
node = "22"
cmake = "3.28"
rust = "1.82"

[tools.msvc]
version = "14.42"
os = ["windows"]

Now tools like node-gyp, CMake, Cargo (cc crate) automatically find MSVC:

# node-gyp finds MSVC via VCINSTALLDIR
vx npx node-gyp rebuild

# CMake discovers the compiler
vx cmake -B build -G "Ninja"

# Cargo cc crate finds MSVC for C dependencies
vx cargo build

Injected Environment Variables (MSVC example):

VariablePurpose
VCINSTALLDIRVS install path (node-gyp, CMake)
VCToolsInstallDirExact toolchain path
VX_MSVC_ROOTvx MSVC root path

MSVC Build Tools (Windows)

Microsoft Visual C++ compiler for Windows development:

# Install MSVC Build Tools
vx install msvc@latest
vx install msvc 14.40       # Specific version

# Using MSVC tools via namespace
vx msvc cl main.cpp -o main.exe
vx msvc link main.obj
vx msvc nmake

# Direct aliases
vx cl main.cpp              # Same as: vx msvc cl
vx nmake                    # Same as: vx msvc nmake

# Version-specific usage
vx msvc@14.40 cl main.cpp

Available MSVC Tools:

ToolCommandDescription
clvx msvc clC/C++ compiler
linkvx msvc linkLinker
libvx msvc libLibrary manager
nmakevx msvc nmakeMake utility

Supported Tools (129 Providers)

CategoryTools
JavaScriptnode, npm, npx, bun, deno, pnpm, yarn, vite, nx, turbo
JS Toolingoxlint, biome
Pythonuv, uvx, python, pip, ruff, maturin, pre-commit
Rustcargo, rustc, rustup
Gogo, gofmt, gws, goreleaser, golangci-lint
System/CLIgit, bash, curl, pwsh, jq, yq, fd, bat, ripgrep, fzf, starship, jj, sd, eza, dust, duf, xh, atuin, zoxide, tealdeer, gping, delta, hyperfine, watchexec, bottom
TUI/Terminalhelix, yazi, zellij, lazygit, lazydocker, k9s
Build Toolsjust, task, cmake, ninja, make, meson, xmake, protoc, buf, conan, vcpkg, spack
DevOpskubectl, helm, flux, kind, k3d, nerdctl, skaffold, podman, terraform, hadolint, dagu, actionlint
Securitygitleaks, trivy, cosign, grype, syft
Cloud CLIawscli, azcli, gcloud
.NETdotnet, msbuild, nuget
C/C++msvc, llvm, nasm, ccache, buildcache, sccache, rcedit
Mediaffmpeg, imagemagick
Javajava
AIollama, openclaw
Other Langszig
Containerdive
Config Mgmtchezmoi, mise
Package Managersbrew, choco, winget
Data/APIduckdb, grpcurl
Miscgh, prek, actrun, wix, vscode, xcodebuild, systemctl, release-please, rez, 7zip, trippy

Provider System (Starlark DSL)

All 129 providers are defined using provider.star (Starlark DSL) — a declarative, zero-compilation approach. Each provider lives in crates/vx-providers/<name>/provider.star.

vx uses a two-phase execution model (inspired by Buck2):

  1. Analysis Phase (Starlark): provider.star runs as pure computation, returning descriptor dicts. No I/O.
  2. Execution Phase (Rust): The Rust runtime interprets descriptors for actual downloads, installs, and process execution.

How to add a new tool

# crates/vx-providers/mytool/provider.star
load("@vx//stdlib:provider.star", "runtime_def", "github_permissions")
load("@vx//stdlib:provider_templates.star", "github_rust_provider")

name        = "mytool"
description = "My awesome tool"
ecosystem   = "custom"

runtimes = [runtime_def("mytool", aliases=["mt"])]
permissions = github_permissions()

# Use a template — covers 90% of tools
_p = github_rust_provider("owner", "mytool",
    asset = "mytool-{vversion}-{triple}.{ext}")
fetch_versions   = _p["fetch_versions"]
download_url     = _p["download_url"]
install_layout   = _p["install_layout"]
store_root       = _p["store_root"]
get_execute_path = _p["get_execute_path"]
environment      = _p["environment"]

Available templates

TemplateUse caseExample
github_rust_providerRust tools on GitHub (most common)ripgrep, fd, bat, just, uv
github_go_providerGo tools on GitHub (goreleaser style)gh, task
github_binary_providerSingle binary download (no archive)kubectl
system_providerSystem package manager only7zip

Template Placeholders

PlaceholderRust templateGo templateDescription
{version}Version number (e.g., "1.0.0")
{vversion}With v-prefix (e.g., "v1.0.0")
{triple}Rust target triple (e.g., "x86_64-unknown-linux-musl")
{os}Go GOOS (linux, darwin, windows)
{arch}Go GOARCH (amd64, arm64)
{ext}Archive extension (zip/tar.gz)
{exe}Executable suffix (.exe/"")

Starlark Standard Library (14 modules)

Located in crates/vx-starlark/stdlib/. The main entry point is provider.star which re-exports everything:

# Import everything from the unified facade
load("@vx//stdlib:provider.star",
     "runtime_def", "bundled_runtime_def", "dep_def",
     "github_permissions", "platform_map",
     "env_set", "env_prepend",
     "archive_layout", "binary_layout")

Key modules:

  • provider.star — Unified facade (re-exports all)
  • runtime.starruntime_def, bundled_runtime_def, dep_def
  • platform.starplatform_map, platform_select, rust_triple, go_os_arch
  • env.starenv_set, env_prepend, env_append, env_unset
  • layout.stararchive_layout, binary_layout, bin_subdir_layout, hooks
  • provider_templates.star — High-level templates (4 templates)
  • permissions.stargithub_permissions, system_permissions
  • system_install.starwinget_install, brew_install, apt_install

Important Rules for AI Agents

  1. Always use vx prefix when running tools in vx-managed projects
  2. Use vx just instead of just for task runner commands
  3. Use vx npm instead of npm directly
  4. Use vx cargo instead of cargo directly
  5. Check vx.toml first to understand project tool requirements
  6. Use vx run <script> for project-defined scripts
  7. Never suggest manual tool installation - vx handles it automatically
  8. Commands like vx install are for explicit pre-installation; normal usage auto-installs
  9. Use correct terminology: Runtime (not Tool), Provider (not Plugin), provider.star (not provider config)
  10. Provider development: New tools are added via provider.star Starlark DSL in crates/vx-providers/<name>/
  11. Tests go in tests/ dirs — never inline #[cfg(test)] in source files

Version Resolution Priority

vx resolves tool versions in this order (highest to lowest):

  1. Command-line override: vx node@22 app.js
  2. Project vx.toml: [tools] node = "22"
  3. Parent directory vx.toml (traverses up to root)
  4. User global config: ~/.config/vx/config.toml
  5. Provider default: latest stable version

MCP Integration

vx is MCP-ready — replace npx/uvx with vx in MCP server configurations. This eliminates the "install Node.js/Python first" requirement for all MCP servers.

Configuration Pattern

{
  "mcpServers": {
    "example-server": {
      "command": "vx",
      "args": ["npx", "-y", "@example/mcp-server@latest"]
    },
    "python-server": {
      "command": "vx",
      "args": ["uvx", "some-python-mcp-server@latest"]
    }
  }
}

Real-World MCP Examples

{
  "mcpServers": {
    "filesystem": {
      "command": "vx",
      "args": ["npx", "-y", "@modelcontextprotocol/server-filesystem", "/path/to/dir"]
    },
    "github": {
      "command": "vx",
      "args": ["npx", "-y", "@modelcontextprotocol/server-github"],
      "env": { "GITHUB_TOKEN": "<token>" }
    },
    "sqlite": {
      "command": "vx",
      "args": ["uvx", "mcp-server-sqlite", "--db-path", "/path/to/db.sqlite"]
    }
  }
}

Migration Pattern

Originalvx-powered
"command": "npx""command": "vx", "args": ["npx", ...]
"command": "uvx""command": "vx", "args": ["uvx", ...]
"command": "node""command": "vx", "args": ["node", ...]
"command": "python""command": "vx", "args": ["python", ...]
"command": "bun""command": "vx", "args": ["bun", ...]

Benefits for AI Agents

  • Zero-config: No need to check if Node.js/Python is installed before starting MCP servers
  • Version consistency: MCP servers always use the version specified in vx.toml
  • Cross-platform: Same MCP config works on Windows, macOS, and Linux
  • CI/CD ready: MCP servers in CI pipelines just work with vx

GitHub Actions Integration

vx provides a GitHub Action (action.yml) for CI/CD workflows. Use it in .github/workflows/ files:

Basic Usage

- uses: loonghao/vx@main
  with:
    version: 'latest'           # vx version (default: latest)
    github-token: ${{ secrets.GITHUB_TOKEN }}

Pre-install Tools

- uses: loonghao/vx@main
  with:
    tools: 'node go uv'         # Space-separated tools to pre-install
    cache: 'true'               # Enable tool caching (default: true)

Project Setup (vx.toml)

- uses: loonghao/vx@main
  with:
    setup: 'true'               # Run `vx setup --ci` for vx.toml projects

Full Example

name: CI
on: [push, pull_request]

jobs:
  build:
    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        os: [ubuntu-latest, macos-latest, windows-latest]

    steps:
      - uses: actions/checkout@v6

      - uses: loonghao/vx@main
        with:
          tools: 'node@22 uv'
          setup: 'true'
          cache: 'true'

      - run: vx node --version
      - run: vx npm test

Action Inputs

InputDefaultDescription
versionlatestvx version to install
github-token${{ github.token }}GitHub token for API requests
tools''Space-separated tools to pre-install
cachetrueEnable caching of ~/.vx directory
cache-key-prefixvx-toolsCustom prefix for cache key
setupfalseRun vx setup --ci for vx.toml projects

Action Outputs

OutputDescription
versionThe installed vx version
cache-hitWhether the cache was hit

Container Image Support

vx also provides a container image for containerized workflows, and it can be consumed from Podman-compatible environments:

# Use vx as base image
FROM ghcr.io/loonghao/vx:latest

# Tools are auto-installed on first use
RUN vx node --version
RUN vx uv pip install mypackage

Multi-stage Build with vx

FROM ghcr.io/loonghao/vx:latest AS builder
RUN vx node --version && vx npm ci && vx npm run build

FROM nginx:alpine
COPY --from=builder /home/vx/dist /usr/share/nginx/html

GitHub Actions Container Jobs

jobs:
  build:
    runs-on: ubuntu-latest
    container:
      image: ghcr.io/loonghao/vx:latest
    steps:
      - uses: actions/checkout@v6
      - run: vx node --version
      - run: vx npm test

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

97.03%
按下载量换算2,229

安全审计

VirusTotal

通过

ClawScan

通过

Static analysis

通过

权限和风险

敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills