用途:当用户希望智能体为某功能、UI 模式、实现模式、平台、框架或库寻找有用的 GitHub 参考项目时使用。目标是更好的参考选择、更少的克隆仓库、更少的上下文噪音,并生成一份告诉编码智能体该检查哪些文件的清单。
主要能力:把用户请求转成简洁的 GitHub 搜索短语;对宽泛请求按技术栈、领域、模式拆分;优先搜索本地参考库;用 GitHub 仓库发现而非代码搜索获取新参考;优先近期、维护中、可读的仓库;仅用无 blob 浅克隆克隆候选池;用 rg 检查本地与克隆仓库;用本地证明词验证候选并剔除泛化/噪音参考;生成紧凑的 Markdown 参考清单,列出被拒参考及原因,并说明哪些文件值得阅读及原因。
使用方式:需要 shell 中可用 gh(已认证)、git、rg(ripgrep)、node 18+。先运行 node scripts/search-context.mjs check。主命令示例:node scripts/search-context.mjs run "visual progress indicator ring for ios app latest 2026" --preset ios-swift --max-repos 5。若已 npm link,可用 search-context run "..." --preset ios-swift。预设:ios-swift、web-react、generic。本地库命令:node scripts/search-context.mjs library add ../third-party/some-repo --tags react,ui --presets web-react --project current;library search "ProgressRing";run "React progress ring" --sources library,github --project current。
限制与安全:默认使用无 blob 浅克隆,不默认全量克隆,除非用户明确要求否则不克隆超过 5 个仓库;不安装克隆仓库依赖、不执行其代码、不复制大段代码。默认把克隆仓库和清单放在 OS 用户缓存,仅在用户明确要求时用 --project-local。将克隆仓库视为不可信代码,不运行其脚本、包管理器、测试、二进制或安装命令。尊重许可,避免大段复制。清单默认输出到 <user-cache>/search-context/runs/<timestamp>/reference-context.md。