ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

Repomix 隐私说明全解析:CLI、官方网站与浏览器扩展的数据处理边界

Repomix 隐私说明全解析:CLI、官方网站与浏览器扩展的数据处理边界 Repomix 隐私说明全解析CLI、官方网站与浏览器扩展的数据处理边界【免费下载链接】repomix Repomix is a powerful tool that packs your entire repository into a single, AI-friendly file. Perfect for when you need to feed your codebase to Large Language Models (LLMs) or other AI tools like Claude, ChatGPT, DeepSeek, Perplexity, Gemini, Gemma, Llama, Grok, and more.项目地址: https://gitcode.com/GitHub_Trending/rep/repomix本文基于 隐私政策文档法文版见 privacy.md通过include复用同一正文撰写。Repomix 是一个将整个代码仓库打包为单个 AI 友好文件的工具涵盖 CLI、官方网站与浏览器扩展三端。本文依次拆解三端各自收集哪些数据、在什么情况下才会联网、上传文件如何处理并对照仓库源码逐条验证这些承诺的实现方式帮助你判断在私有仓库、企业内网等敏感场景下如何使用 Repomix 才是安全的。Repomix CLI本地处理的边界与唯一的三类联网场景CLI 是隐私说明中最关键的部分因为绝大多数用户是拿它处理自己的私有代码。文档给出的核心承诺是CLI 不收集、不传输、不存储任何用户数据、遥测信息或仓库信息安装完成后完全离线运行。这一承诺的根基在于 CLI 的全部处理链路都在本机完成。从源码结构看打包流程的核心管线位于 fileProcess.ts、fileProcessorRun.ts 等文件中文件收集、内容读取、格式转换Markdown/XML/Plain与输出全部在本地执行没有内置任何上报通道搜索整个仓库也找不到 CLI 侧的遥测或统计发送代码。在离线运行的前提下文档明确了仅有的三种需要联网的情形通过 npm/yarn 安装这是包管理器本身的网络行为与 CLI 运行时无关使用--remote标志处理远程仓库此时需要联网拉取远程代码手动触发检查更新仅在用户主动执行时才发生。其中--remote的处理实现值得展开。查看 remoteAction.ts远程模式的流程是先在系统临时目录创建repomix-前缀的临时目录createTempDirectory然后对远程仓库执行浅克隆execGitShallowClone见同文件cloneRepository再在临时目录中运行打包逻辑最后在finally块中调用cleanupTempDirectory清理临时目录见 remoteAction.ts。也就是说远程仓库只会以克隆副本的形式短暂驻留在本机临时目录处理完毕即被删除不会持久化到任何云端。此外CLI 还内建了敏感信息检测能力文档将其指向 Security 页面。实现上由 securityCheck.ts 驱动将文件按 50 个一批分发到 worker 线程通过 securityCheckWorker.ts 调用secretlint的secretlint-rule-preset-recommend规则集扫描疑似密钥/令牌并在打包输出中给出警告。该检测同样完全在本机完成进一步降低了误将敏感信息带入输出的风险。结论在仅处理本地目录、不启用--remote的情况下CLI 全程无任何网络流量因此可以放心用于私有仓库与内部代码库即便使用--remote远程代码也只在本机临时目录内处理并即时清理。Repomix 官方网站Analytics、Turnstile 与临时文件处理的完整链路网站repomix.com是唯一涉及数据收集与文件上传的一端隐私政策从三个层面做了说明Google Analytics 统计、Cloudflare Turnstile 机器人防护、上传文件的临时存储与即时删除。Google Analytics只收集行为统计不转发原始仓库地址网站通过 Google Analyticsgtag收集页面浏览与用户交互等使用数据。这一点在 analytics.ts 中有完整实现事件被划分为repository、format、options、output四个类别覆盖打包开始/成功/失败、格式切换、选项开关、复制/下载/分享输出等行为。值得注意的一个隐私设计细节是normalizeRepoLabel函数见 analytics.ts在把仓库标识符作为事件 label 上报前它会对用户输入的 URL 做脱敏归一化——去掉查询参数、hash 与凭据将owner/repo简写归一为github:owner/repogist 归一为gist:id形式其他来源则仅保留external:域名的主机名级别信息。这样做的目的在注释中写得很清楚避免把可能携带 token 或私有主机名的原始 URL 直接转发给 Google Analytics。同时 classifyError 会把自由格式的错误信息归类为timeout、rate_limit、verification等稳定枚举而不是原样回显服务端字符串。Cloudflare Turnstile隐形模式防滥用仅保护打包表单网站使用 Cloudflare Turnstile 的隐形模式保护 Pack 表单在后台完成校验、不弹出 CAPTCHA。服务端中间件实现位于 turnstile.ts其行为可以精确归纳为验证时机中间件只挂在/api/pack这一个端点前文档页面、健康检查等只读端点不参与挑战避免影响 SEO/LLMO 爬虫见 turnstile.ts令牌校验请求须携带X-Turnstile-Token头令牌长度上限 2048随后中间件调用 Cloudflare 的siteverify接口5 秒超时验证一次性令牌双重绑定防重放校验结果中的action必须等于pack与客户端useTurnstile.ts中data-actionpack对应hostname必须落在白名单repomix.com内防止 sitekey 泄露后被攻击者在其他域名复用失败关闭fail-closed策略令牌缺失、过长、siteverify 网络异常或校验不通过一律返回 403生产环境缺少TURNSTILE_SECRET_KEY也会直接拒绝secret_missing开发/测试环境则跳过验证以保持本地开发畅通。客户端侧的实现位于 useTurnstile.ts以execution: execute隐形执行sitekey 通过构建期环境变量VITE_TURNSTILE_SITE_KEY注入本地开发回退到 Cloudflare 的测试 key令牌有效期约 5 分钟、一次性使用过期后自动重置缓存并配套 useTurnstileTokenCache.ts 做单飞single-flight铸造与原子消费。整个流程对用户透明符合文档中在后台运行、不显示验证码的描述。上传文件临时目录处理处理完毕即删除网站支持上传 ZIP 或文件夹进行打包。服务端流程在 processZipFile.ts 与 remoteRepo.ts 中实现上传的 ZIP 或远程仓库先落入createTempDirectory创建的repomix-临时目录执行打包后输出文件被复制回当前工作目录随后在finally块调用cleanupTempDirectory递归删除整个临时目录删除前还会校验路径必须包含repomix-前缀以防误删见 fileUtils.ts。这与文档所有上传文件与处理后数据在处理完成后立即自动删除的表述一致。配合删除机制上传链路还有一套防御性限制见 fileUtils.tsZIP 体积上限 10MB、解压后总大小上限 100MB、文件数上限、压缩比上限 100:1防 ZIP 炸弹、路径长度与目录嵌套深度上限、路径穿越directory traversal与重复路径检测等。这些限制既保护服务器也间接降低了用户文件被异常处理的风险。Repomix 浏览器扩展最小权限原则的工程化落地浏览器扩展在 GitHub 仓库页面添加 Repomix 按钮的隐私承诺与 CLI 一致不收集、不传输、不存储任何用户数据且只申请添加按钮所需的最小权限。这一承诺可以直接在 manifest 配置中验证。wxt.config.ts 中声明的权限仅有scriptinghost_permissions只有https://github.com/*一条——扩展不会读取浏览历史、书签、其他网站的 DOM也无法访问 GitHub 之外的任何页面。实际行为由 background.ts 实现它遍历标签页仅当tab.url以https://github.com/开头时才注入内容脚本与样式其余 URL 一律跳过。结合 manifest 声明可以确认扩展确实不访问或修改仓库数据它所做的只是在 GitHub 页面挂载一个打包入口按钮真正的打包动作由用户在本机 CLI 或网站上完成。责任声明输出内容的用途与后果由使用者承担隐私文档以一段责任声明收尾RepomixCLI、网站、浏览器扩展按现状提供不附带任何明示或默示担保项目方不对生成输出的使用方式负责包括其准确性、合法性以及使用可能产生的任何后果。换言之Repomix 只负责把代码打包成 LLM 友好的格式至于打包后的内容被投喂给哪个模型、用于什么目的完全取决于使用者这与 LICENSE 中的开源许可条款相互呼应。场景化小结三个端分别适用于什么场景使用场景推荐端数据流私有仓库、内网代码、涉密项目CLI本地处理全程零网络敏感信息可辅以本地 secretlint 扫描公开仓库快速打包CLI--remote或网站网站需临时上传、处理完即删CLI 在本机临时目录克隆后即清理在 GitHub 页面随手打包浏览器扩展仅注入按钮不读取仓库内容需要重申的一点是本文所有实现层面的描述均来自当前仓库源码其中隐私政策正文见 en/guide/privacy.md网站侧关键实现可继续查阅 analytics.ts、turnstile.ts 与 processZipFile.tsCLI 远程模式见 remoteAction.ts浏览器扩展清单见 wxt.config.ts。如果你关心敏感信息检测的细节可进一步阅读 securityCheck.ts 及其配套测试 securityCheck.test.ts。若实际部署的版本与本文所述存在差异请以你所使用版本的发布说明与文档为准。【免费下载链接】repomix Repomix is a powerful tool that packs your entire repository into a single, AI-friendly file. Perfect for when you need to feed your codebase to Large Language Models (LLMs) or other AI tools like Claude, ChatGPT, DeepSeek, Perplexity, Gemini, Gemma, Llama, Grok, and more.项目地址: https://gitcode.com/GitHub_Trending/rep/repomix创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表