最近安装了OpenCode、OpenClaw、Claude Code,在使用工具内置的skill tool加载skill时,总是会报错,试了WSL Ubuntu、Windows Powershell 7.5 都不行。
只要尝试使用skill工具和Glob工具加载skill技能,就会报错。
如图所示,加载 superpower的 using-superpowers就报错了。不光是这个skill,是所有的skill都会这样报错。然后再转为用read去读取skill。并且Glob内置工具也会报一样的错。感觉即费token,又使得工具体验下降。经常导致工具不再尝试加载skill,转为无skill方式运行,这样就没有很好的效果了,非常影响体验。

bash
Skill "xxxx" Error: The socket connection was closed unexpectedly. For more information, pass `verbose: true` in the second argument to fetch()
经过对OpenCode源代码的分析和跟踪,最终发现和一个名字叫Ripgrep的工具没有安装有关系。如果工具启动后,尝试使用Ripgrep工具,但找不到工具,它就会去尝试从github下载。那众所周知的,但凡你的机器网络没有做点儿科技狠活儿,github是访问不了的。所以必须要手动安装这个Ripgrep,然后工具的skill就会正常了。
这个对于整机网络已经科技狠活儿处理过,能梯 ~ 子~!~出去的主机,不会有这种问题,因为首次使用skill时,如果Ripgrep不存在,工具自己会从github下载。所以本文是对问题精准定位完成后,写给广大国内用户的。
具体从 https://github.com/BurntSushi/ripgrep 下载最新版的,对应自己安装环境的Ripgrep。我的是Windows11系统,因此就下载ripgrep-15.1.0-x86_64-pc-windows-msvc.zip。
之后解压缩这个文件,里面有个rg.exe,找到Windows的PATH环境变量中合适的bin目录放进去即可。我是放在了 C:\Users\`自己的用户名`\.local\bin 路径下,这个随意,看你自己的习惯。
放好之后。重新打开Powershell客户端界面,然后使用OpenCode或另外两个工具就不报错了。
这个工具很重要,直接关系到工具对文本文件的快速分析。skill、Glob内置工具都依赖这个命令行工具。这个Ripgrep 是对grep的替代,且功能更强大。渐进式加载、文本文件快速检索,都需要这个命令支持!