问题描述
新用户 clone 项目后运行 bun run dev,自定义 agents 无法加载(显示 0 个 agents)。
根本原因
src/utils/vendor/ripgrep/x64-linux/rg 等 vendor 二进制文件在 Git 上存储时没有执行权限:
$ git ls-tree HEAD src/utils/vendor/ripgrep/x64-linux/rg
100644 blob 56f7fe8 src/utils/vendor/ripgrep/x64-linux/rg ← 应该是 100755
loadMarkdownFilesForSubdir('agents') 使用 ripgrep 搜索文件时,因为 rg 没有执行权限导致 ENOENT 错误,错误被静默捕获后返回空数组 → 0 个 agents 被加载。
复现步骤
- 全新 clone
doge-code
- 运行
bun run dev
- 输入
/context 查看 Custom agents:显示 0 个
修复方案
在提交 vendor 二进制文件时使用 --chmod=+x:
git add --chmod=+x src/utils/vendor/ripgrep/x64-linux/rg
git add --chmod=+x src/utils/vendor/ripgrep/arm64-linux/rg
# ... 其他平台的 rg 二进制文件
或者在项目中添加 scripts/postinstall.sh 自动修复权限:
find src/utils/vendor -type f -name "rg*" -exec chmod +x {} \;
环境信息
- OS: Arch Linux x64
- Platform: linux-x64
- ripgrep version: 14.1.1
问题描述
新用户 clone 项目后运行
bun run dev,自定义 agents 无法加载(显示 0 个 agents)。根本原因
src/utils/vendor/ripgrep/x64-linux/rg等 vendor 二进制文件在 Git 上存储时没有执行权限:loadMarkdownFilesForSubdir('agents')使用 ripgrep 搜索文件时,因为 rg 没有执行权限导致 ENOENT 错误,错误被静默捕获后返回空数组 → 0 个 agents 被加载。复现步骤
doge-codebun run dev/context查看 Custom agents:显示 0 个修复方案
在提交 vendor 二进制文件时使用
--chmod=+x:git add --chmod=+x src/utils/vendor/ripgrep/x64-linux/rg git add --chmod=+x src/utils/vendor/ripgrep/arm64-linux/rg # ... 其他平台的 rg 二进制文件或者在项目中添加
scripts/postinstall.sh自动修复权限:环境信息