☰
skill-up如何在Windows上运行:官方支持的5个要点与已知限制
2026/10/14 18:04:14 网站建设 项目流程

【免费下载链接】skill-up

An evaluation and evolution tool for Agent Skills.

项目地址:https://gitcode.com/gh_mirrors/sk/skill-up
点击查看免费下载

skill-up是面向 Agent Skills 的评测与演化工具,支持 Skill 评测、Agent 评测、工作区检查与结构化报告。那它能在 Windows 上运行吗?答案是肯定的——skill-up原生支持 Windows。本文基于官方文档,为你整理 Windows 上运行的5 个官方支持要点与3 个已知限制,并附推荐工作流,帮你快速选对执行环境。

要点 1:Windows 上构建 skill-up.exe 与运行单元测试

skill-up 使用 Go 编写,Go 工具链本身跨平台,在 Windows 上直接可用:

  • go build ./...与go test ./...在 Windows 上均可通过
  • Extended CI 的 Pull Request、Merge Group 与维护者手工触发任务,统一使用可信的自托管Windows Runner验证

首次使用先克隆源码并编译出skill-up.exe:

git clone https://gitcode.com/gh_mirrors/sk/skill-up cd skill-up
go build -o bin/skill-up.exe ./cmd/skill-up go test -race ./...

要点 2:none runtime —— 本地命令执行如何选 shell

当eval.yaml中environment.type: none时,评测命令直接在宿主机上执行。Windows 上的 shell 选择逻辑在 internal/platform/shell_windows.go 中实现:

  1. 优先使用 Git Bash:skill-up 自动发现 bash 后,以bash -c执行命令。这是因为内部大量命令是 POSIX 风格(单引号、set -eu、if管道),且 bash 分支会自动注入MSYS_NO_PATHCONV=1等变量,防止 MSYS 改写路径参数;
  2. 回退到 cmd.exe:找不到 bash 时,以cmd /d /s /c "<command>"执行,其中/d禁用 AutoRun、/s保证引号处理确定。

💡 结论:安装 Git for Windows 后,noneruntime 的兼容性最好。

要点 3:opensandbox runtime —— 跨操作系统完全透明

opensandboxruntime 通过 HTTP 与远程 OpenSandbox 服务器通信,不会启动任何宿主机 shell:

  • sandbox 始终是一个 Linux 容器,其中的 script judge 与 agent 行为与在 Linux 上完全一致
  • 宿主机侧的路径处理已通过filepath.ToSlash跨越"宿主机→sandbox"边界,Windows 路径可安全传入

因此,原生 Windows 上的skill-up.exe连接远程 sandbox 当前即可工作,无需 WSL2。

要点 4:script judge 判定脚本 —— .ps1 / .cmd / .sh 怎么跑

script judge 按文件扩展名(或 shebang)分派解释器,Windows 上的对应关系如下:

判定脚本Windows 上的解释器
.ps1PowerShell
.cmd/.batcmd.exe
.shbash(Git Bash)

.sh判定脚本需要一个 bash 解释器,skill-up 按以下顺序查找(实现见 internal/platform/bash_windows.go):

  1. SKILL_UP_BASH环境变量(指向bash.exe的明确路径)
  2. PATH上的bash
  3. 知名 Git Bash 安装位置:C:\Program Files\Git\bin\bash.exe与C:\Program Files (x86)\Git\bin\bash.exe

若全部找不到,script judge 会以清晰的错误信息失败——此时安装 Git for Windows 或设置SKILL_UP_BASH即可(详见 docs/zh/guide/user-config.md)。

⚠️ 特别注意:C:\Windows\System32\bash.exe(WSL shim)会在三个查找步骤中被主动拒绝,因为它期望 Linux 风格的/mnt/c/...路径,遇到 Windows 路径会静默失败。

要点 5:贡献者工具链 —— PowerShell 脚本替代 make

Windows 默认没有make,项目提供了 scripts/windows/ 下的 PowerShell 脚本作为等价替代,且兼容 Windows Server 自带的 PowerShell 5.1(PowerShell 7 非必需):

脚本等价于作用
hooks.ps1make hooks安装 git hooks
lint-tools.ps1make lint-tools安装固定版本 lint 工具到.tools/bin
verify.ps1make verifyfmt-check + vet + revive + golangci-lint
powershell -NoProfile -File scripts/windows/verify.ps1

Windows 上的 3 个已知限制(必读)

  1. 原生运行真实 agent 受限—— Claude Code / Codex / Qoder CLI 通过基于 bash 的 Node/nvm 引导脚本启动,该引导无法在cmd.exe下运行。解决方案:提前自行安装 Node.js 与对应的 agent CLI,或直接使用WSL2;
  2. .ps1script judge 需要 Windows 目标—— 当 runtime 目标是 POSIX(例如 opensandbox 的 Linux 沙箱)时,仅支持.sh脚本;
  3. cmd.exe 会展开参数中的%VAR%—— 未发现 bash 而回退到cmd /d /s /c时,命令参数里的%NAME%子串仍会被 cmd 展开,命令行层面没有可靠的转义方法。不要把不可信字符串拼接到 shell 命令中;安装 Git Bash(skill-up 会自动发现)可完全避开该回退路径。

推荐工作流:原生 Windows 还是 WSL2?

使用场景推荐方案
编写并运行 script-judge 评测原生 Windows 即可,优先.ps1判定脚本,或安装 Git for Windows 以支持.sh
运行完整的 agent 评测使用WSL2,评测器与 agent CLI 共享同一个 POSIX 环境,none与opensandbox两种 runtime(含 agent 的 Node/nvm 引导)均无限制工作

WSL2 是 Linux 环境,可视为"完整版的 Windows 运行方案";若已有远程 OpenSandbox,则原生 Windows 搭配 opensandbox runtime 也能覆盖大部分需求。

相关资源

  • Windows 官方文档(中文):docs/zh/guide/windows.md
  • Windows 官方文档(英文):docs/guide/windows.md
  • 平台层实现(bash 发现与 shell 选择):internal/platform/
  • Windows 贡献者 PowerShell 脚本:scripts/windows/
  • SKILL_UP_BASH环境变量说明:docs/zh/guide/user-config.md

【免费下载链接】skill-up

An evaluation and evolution tool for Agent Skills.

项目地址:https://gitcode.com/gh_mirrors/sk/skill-up
点击查看免费下载

相关推荐

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询