3 步跑通 Superpowers 跨平台钩子:Polyglot 脚本完整指南

发布时间:2026/8/28 12:17:07
3 步跑通 Superpowers 跨平台钩子:Polyglot 脚本完整指南 3 步跑通 Superpowers 跨平台钩子Polyglot 脚本完整指南【免费下载链接】superpowersAn agentic skills framework software development methodology that works.项目地址: https://gitcode.com/GitHub_Trending/su/superpowers你肯定也遇到过插件在 macOS 上钩子正常一到 Windows 就悄无声息地失效。Superpowers 是给编码智能体的技能框架它的 SessionStart 钩子必须同时跑在 Windows 和 Unix 上。这篇讲清它如何用一套文件实现跨平台钩子。它到底解决了什么没有它同一个插件在 Mac 上工作在 Windows 上要么把 .sh 文件当文本打开要么被 PowerShell 解析器直接报错。有了它钩子逻辑只写一份 bash 脚本Windows 侧由一个通用分发器自动找到 bash 并转交执行你不需要为两个平台维护两套代码。核心原理30 秒讲透说白了run-hook.cmd是一个多语言脚本同一个文件被两个 shell 用两种方式读。CMD 执行顶部的批处理段依次在三个位置找 bash.exeProgram Files、x86 目录、PATH找到就调用指定的钩子脚本然后退出bash 读同一块时把它当成一个无用的 here-doc 整个忽略直接跑文件尾部的 Unix 段。: CMDBLOCK echo off set HOOK_DIR%~dp0 if exist C:\Program Files\Git\bin\bash.exe ( C:\Program Files\Git\bin\bash.exe %HOOK_DIR%%~1 exit /b %ERRORLEVEL% ) :: x86 / PATH 同理探测全找不到则静默 exit /b 0 exit /b CMDBLOCK # Unix: 直接执行指定的钩子脚本 exec bash ${SCRIPT_DIR}/${SCRIPT_NAME} $CMDBLOCK那行是分界点CMD 在exit /b后不会往下走bash 的 here-doc 则吃掉整个批处理段。还有一个隐藏细节钩子脚本文件名不带扩展名session-start而非session-start.sh否则 Windows 上会被自动加bash前缀绕过分发器。实战跟着走一遍 克隆仓库git clone https://gitcode.com/GitHub_Trending/su/superpowers打开hooks/run-hook.cmd通读一遍重点看三个 bash 探测分支和尾部的exec。手动模拟一次钩子执行CLAUDE_PLUGIN_ROOT$PWD bash hooks/run-hook.cmd session-start跑官方回归测试bash tests/hooks/test-session-start.sh跑通后你应该看到终端打印一段包含hookSpecificOutput.additionalContext的 JSON测试脚本最后输出STATUS: PASSED✅。你大概率会踩的坑 ⚠️Mac 上正常Windows 上钩子静默失效—— 先检查hooks.json里命令引用的脚本名是否真的无扩展名。如果写成session-start.shWindows 的 .sh 自动前缀机制会介入分发器路径直接被绕过。根因Claude Code 在 Windows 上会对命令中出现.sh的路径自动补bash前缀。报 bash is not recognized 或干脆无输出—— 分发器在三个标准位置都没找到 bash。设计上是找不到 bash 就静默退出 0所以症状往往不是报错而是没效果。装一个标准位置的 Git for Windows或确保bash在 PATH 上即可。hooks.json漏了shell: bash—— Windows 侧会落到 PowerShell/CMD 解析带引号的命令串直接报解析错误。加上这个字段强制走 Git Bash 路线老版本忽略该键最坏情况是得到一个安装 Git的可操作提示。延伸资源docs/windows/polyglot-hooks.md完整设计文档含每条设计决策的理由与排错清单hooks/run-hook.cmd规范实现文档与代码不一致时以代码为准tests/hooks/test-session-start.sh钩子回归测试改动分发器后必须跑一遍一个分发器、两条执行路径跨平台兼容问题基本就收敛在这一处。以后再遇到钩子消失顺着这篇文章的路径查一遍就行。【免费下载链接】superpowersAn agentic skills framework software development methodology that works.项目地址: https://gitcode.com/GitHub_Trending/su/superpowers创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考