用途:调研上游软件包或托管仓库(如 GitHub、GitLab)中的源代码、issue、PR、提交、标签与发布信息,先判断普通网络调研是否足够,再决定是否升级手段。
主要能力与用法:默认从最小可行方法入手,短查询优先使用托管页面与网络抓取;需要更好访问 issue、PR、发布元数据、标签或仓库导航时改用 gh、glab 或其他相关 CLI;需要本地源码检查、快速代码搜索、提交历史或大量文件阅读时,将浅克隆放入 /tmp。目标保持狭窄:检查并提取结论,除非任务确实需要,否则不建立长期检出。
升级时机:答案依赖跨多个文件的真实源码、issue/PR/标签/分支/发布数据在网页抓取中不便或不完整、遇到速率或访问限制、重复网页请求比本地检查更慢更嘈杂、需要全仓库搜索、blame 或提交级上下文时,升级到 CLI 或浅克隆。
工具选择:GitHub 优先 gh,GitLab 优先 glab;优先非交互式 CLI 命令;只需引用或标签时可用 git ls-remote;除非历史是问题一部分,优先 --depth 1 浅克隆,必要时用 git fetch --deepen 或更大 --depth 逐步加深;默认克隆到 /tmp,避免把调研检出变成项目依赖或永久本地状态。
临时克隆卫生:把 /tmp 克隆视为一次性调研产物。如需子模块、更深历史或大资产,持续检查是否真有必要。默认在活跃检查结束后两个挂钟小时安排删除临时上游源码树,使用 systemd 定时器或安全的本机等价物,优先用户级定时器(systemctl --user / systemd-run --user),无需 sudo,也不会触发全局密码提示。若无法安排或安排失败,明确说明清理未安排。删除范围严格限定为操作系统临时目录下的确切完整树路径,避免删除错误目录及任何空、宽泛或非临时路径,绝不使用 glob 或宽泛删除命令。报告目标、清理机制、触发时间与时区以及取消步骤。如用户希望保留该树,则不安排清理,或取消/删除定时器或任务并确认保留。
返回值:返回有用结论、证据来源及调研中发现的约束。若使用临时克隆,说明创建位置与清理状态,包括适用时的计划机制/时间与取消命令。
避免:一两次网页阅读即可回答却习惯性克隆;浅历史够用却抓取完整历史;不告知用户就留下临时调研源码树;把速率限制摩擦当作阻碍,而不先尝试更合适的 CLI 或本地克隆。