恒美微站 Logo 恒美微站
  • 首页
  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心
  • 联系我们

Repomix CLI 命令行选项完全参考:从输入输出到安全、Token 计数与 Agent Skills

  • 首页
  • 资讯中心
  • /
  • Repomix CLI 命令行选项完全参考:从输入输出到安全、Token 计数与 Agent Skills

相关资讯

Apache Airflow Amazon Provider CLI 参考:aws-auth-manager 命令与 Amazon Verified Permissions 实战指南 2026/9/12 18:20:17
TradingAgents-CN Adapter 与 Provider 目录重组实战:缓存适配器与数据提供器的分层架构落地 2026/9/12 18:15:17
RP2040看门狗WDT深度解析:寄存器配置与生存机制 2026/9/12 18:15:17

最新资讯

Linux离线安装MariaDB实操:二进制包、初始化与systemd全流程
Repomix 代码压缩(Code Compression)实战指南:基于 Tree-sitter 的结构化瘦身,大幅降低 LLM Token 消耗
fhevm Host Contracts 实战指南:在宿主链上部署 FHEVM、DAO 升级与跨链 KMS 状态镜像
qwen-code Web Shell 提问面板键盘交互设计:AskUserQuestion 的完整按键契约与无障碍实现
企业智能问答系统本地部署实战:从模型选型到vLLM调优
AI副业工具选型指南:从目标拆解到适配评估,避免踩坑

今日推荐

MATLAB仿生优化框架:长鼻浣熊算法多策略融合实现
【JAVA毕设源码分享】基于 JavaWeb 的校园一卡通管理系统的设计与实现 基于 JavaWeb 的校园卡业务管理系统(程序+文档+代码讲解+一条龙定制)
【JAVA毕设源码分享】基于 Java 的图书馆借阅管理平台的搭建与实现 基于 Java 的图书馆综合管理系统(程序+文档+代码讲解+一条龙定制)

本周热门

超人会飞不算本事:系统稳定依赖清晰规则与边界设计
超人VS蜘蛛侠:拆解超级IP的影响力与传播方法论
基于CNN的调制信号识别:MATLAB实现时频图分类实战

本月精选

自研推理加速器Redwood:两周内实现PyTorch模型高效部署的实战教程
V4L2摄像头采集实战:从camera_client.rar到出图全流程解析
从“谁发明了钢琴键”到知识问答智能体:RAG与记忆工程实践

Repomix CLI 命令行选项完全参考:从输入输出到安全、Token 计数与 Agent Skills

发布时间:2026/9/12 18:20:17
Repomix CLI 命令行选项完全参考:从输入输出到安全、Token 计数与 Agent Skills Repomix CLI 命令行选项完全参考从输入输出到安全、Token 计数与 Agent Skills【免费下载链接】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/repomixRepomix 是一款将整个代码仓库打包为单个 AI 友好文件的工具而它的全部能力都通过命令行选项暴露出来。这篇指南以website/client/src/pt-br/guide/command-line-options.md为骨架逐一解析 Repomix 的每一组 CLI 参数——输入输出、打包格式、文件选择、远程仓库、配置、安全、Token 计数、MCP 与 Agent Skills并结合仓库源码CLI 参数定义、选项类型定义 等说明这些参数背后的实现细节与约束读完后你可以熟练地用命令行完成任意形态的仓库打包。参数总览与解析机制Repomix 的 CLI 基于commander构建所有参数集中定义在 src/cli/cliRun.ts每个选项都归属于一个语义分组Basic Options、CLI Input/Output Options、Repomix Output Options 等并在 src/cli/types.ts 的CliOptions接口中统一声明类型。有几个值得注意的机制细节参数冲突检查--verbose与--quiet互相冲突--stdout与--output互相冲突配置时会直接报错见 src/cli/cliRun.ts。输入校验--token-count-tree [threshold]、--top-files-len、--include-logs-count、--token-budget等数值参数都有严格的格式校验非法的输入会抛出RepomixError。例如--token-budget必须是正整数--token-count-tree阈值必须是非负整数。语义纠错建议代码中内置了一张semanticSuggestionMap当用户输入了语义相近但并非合法选项的参数时会给出 Did you mean 提示。例如输入--exclude会建议--ignore--format会建议--style--monitor会建议--watch见 src/cli/cliRun.ts。--output -的隐式行为runCli会检测options.output -自动将其转换为 stdout 模式见 src/cli/cliRun.ts。基本选项选项说明-v, --version显示工具版本信息并退出在runCli中--version被单独处理如果检测到该标志会动态加载versionAction并输出当前版本见 src/cli/cliRun.ts。CLI 输入/输出选项选项说明--verbose启用详细的调试日志显示文件处理过程、Token 计数与配置细节与--quiet互斥--quiet抑制除错误以外的所有控制台输出适合脚本调用与--verbose互斥--stdout将打包输出直接写入标准输出而不是文件会抑制所有日志--stdin从标准输入逐行读取文件路径指定的文件会被直接处理--copy处理完成后将生成的输出复制到系统剪贴板--token-count-tree [threshold]显示带 Token 计数的文件树可选的阈值参数只显示 Token 数 ≥ N 的文件如--token-count-tree 100--top-files-len number摘要中显示的最大文件数量默认5日志级别的切换逻辑位于 src/cli/cliRun.ts--quiet将日志级别设为SILENT--verbose设为DEBUG而--stdout模式为了不污染管道输出也会强制设为SILENT。此外在--stdin模式下会跳过版本头输出避免干扰 fzf 等交互式工具的管道对接。Repomix 输出选项选项说明-o, --output file输出文件路径默认repomix-output.xml使用-表示输出到标准输出--style style输出格式xml、markdown、json或plain默认xml--output-file-path-style style输出中文件路径的显示方式target-relative或cwd-relative默认target-relative--parsable-style转义特殊字符以确保 XML/Markdown 格式有效当输出中包含会破坏格式的代码时需要使用--compress使用 Tree-sitter 解析提取代码的核心结构类、函数、接口--output-show-line-numbers在输出的每一行前加上行号--no-file-summary从输出中省略文件摘要部分--no-directory-structure从输出中省略目录树可视化--no-files只生成元数据而不包含文件内容适合仓库分析--remove-comments打包前剥离所有代码注释--remove-empty-lines移除所有文件中的空行--truncate-base64截断过长的 base64 数据字符串以减小输出体积--header-text text在输出开头包含的自定义文本--instruction-file-path path指向包含自定义指令的文件的路径该指令会包含在输出中--split-output size将输出拆分为多个编号文件如repomix-output.1.xml尺寸格式如500kb、2mb或1.5mb--include-empty-directories在目录结构中包含没有文件的文件夹--include-full-directory-structure即使使用了--include模式也在目录结构部分显示完整仓库树--no-git-sort-by-changes不按 git 变更频率对文件排序默认变更最多的文件排在前面--include-diffs添加 git diff 部分展示工作区与暂存区的变更--include-logs添加带提交消息与变更文件的 git 提交历史--include-logs-count count--include-logs包含的最近提交数量默认50--split-output的实现原理--split-output的尺寸参数由 src/shared/sizeParse.ts 中的parseHumanSizeToBytes解析只接受kb与mb两种单位大小写不敏感支持小数如2.5mb换算规则是1 kb 1024字节、1 mb 1024 * 1024字节。CLI 层通过.argParser(parseHumanSizeToBytes)挂接该解析器见 src/cli/cliRun.ts最终以字节数传入打包流程。分割逻辑位于 src/core/output/outputSplit.ts文件先按顶层目录分组当一组内容超限时会递归下钻一层目录subdivideSplitGroup重新细分直到每个分片都满足大小上限唯一的边界是单个文件本身超过上限时无法再分割会直接报错。另外从第 2 个分片开始会关闭 git diffs/logs 部分避免重复渲染大段内容makeChunkConfig见 src/core/output/outputSplit.ts。文件选择选项选项说明--include patterns只包含匹配这些 glob 模式的文件逗号分隔如src/**/*.js,*.md-i, --ignore patterns额外的排除模式逗号分隔如*.test.js,docs/**--no-gitignore不使用.gitignore规则过滤文件--no-dot-ignore不使用.ignore规则过滤文件--no-default-patterns不应用内置的排除模式node_modules、.git、构建目录等这三组--no-*开关分别对应打包器三层不同的忽略来源内置默认模式defaultPatterns、.gitignoregitignore与.ignore/.repomixignore文件dotIgnore字段定义见 src/cli/types.ts。默认情况下三层都会生效--include/--ignore则在其基础上做精确的定向筛选。远程仓库选项选项说明--remote url克隆并打包远程仓库GitHub URL 或user/repo简写形式--remote-branch name指定要使用的分支、标签或提交默认仓库默认分支--remote-trust-config信任并加载远程仓库中的配置文件。被信任的配置可以执行命令并读取本地文件因此只应在完全信任的仓库上使用出于安全考虑默认关闭。在交互式终端中配置会被展示并要求你确认远程仓库的两种获取路径src/cli/actions/remoteAction.ts 展示了远程处理的完整流程对于 GitHub 仓库优先尝试归档下载downloadGitHubArchive带 60 秒超时与 2 次重试支持进度显示归档下载失败或不是 GitHub 仓库时回退为git 浅克隆execGitShallowClone。整个流程在临时目录中完成打包结果会复制回当前目录随后清理临时目录。URL 解析逻辑位于 src/core/git/gitRemoteParse.ts支持多种形式user/repo简写形式会被展开为https://github.com/user/repo.gitURL 中的/tree/branch与/commit/sha路径段会被提取为 ref同时兼容 Azure DevOps 仓库dev.azure.com与*.visualstudio.com。一个实用的安全细节远程模式下--config必须是绝对路径否则会直接报错这是为了防止误加载克隆仓库中携带的配置文件见 src/cli/actions/remoteAction.ts。此外被克隆仓库的配置只有在显式信任后才会生效包括执行文件处理器等能力。位置参数自动识别远程仓库除了显式的--remoteRepomix 还能从位置参数自动识别远程仓库。逻辑位于 src/cli/cliRun.ts以https://、git、ssh://、git://开头的显式远程 URL会直接进入远程处理流程owner/repo简写形式只有在「本地不存在该路径」且「能通过 GitHub 的 HEAD-onlygit ls-remote探测确认仓库可达」时才会被当作远程仓库——这避免了误把打错的本地路径如src/uitls当成克隆目标。配置选项选项说明-c, --config path使用自定义配置文件而不是repomix.config.json--init创建带有默认值的repomix.config.json文件--global与--init一起使用时在主目录而非当前目录创建配置--init是一个交互式引导流程实现在 src/cli/actions/initAction.ts它会依次询问是否创建repomix.config.json选择输出风格xml/markdown/json/plain与输出文件路径、是否创建.repomixignore文件文件已存在时会询问是否覆盖。--global模式下配置文件写入全局配置目录由 src/config/globalDirectory.ts 提供且不会创建.repomixignore。安全选项--no-security-check跳过对 API 密钥、密码等敏感数据的扫描慎用可能把机密泄露进输出该开关关闭的是 src/core/security/ 目录下的安全检测链securityCheck与validateFileSafety默认开启的敏感信息扫描会在打包前拦截疑似密钥的内容。具体行为可参考 安全指南。Token 计数选项--token-count-encoding encoding用于计数的 Tokenizer 模型o200k_baseGPT-4o、cl100k_baseGPT-3.5/4等默认o200k_base--token-budget number当打包输出超过 N 个 Token 时以非零退出码失败。作为 CI 流水线与 Agent 工作流中的保护机制确保输出保持在目标模型上下文窗口内。注意输出仍会正常生成只是退出码会提示超限关于编码仓库实际支持的全部编码定义在 src/core/metrics/tokenEncodings.tso200k_base、cl100k_base、p50k_base、p50k_edit、r50k_base。这些是 OpenAI 的编码名称计数由gpt-tokenizer完成。--token-budget的判定逻辑见 src/cli/cliTokenBudget.ts当totalTokens tokenBudget时抛出RepomixError错误消息会给出优化建议用--compress减小输出、用--include/--ignore收窄范围或调高预算。它在输出完整生成并交付之后才执行——对远程仓库场景会先把输出从临时目录复制出来再校验确保即使超限用户也能拿到结果文件见 src/cli/actions/remoteAction.ts。MCP 选项--mcp以 Model Context Protocol 服务器模式运行用于 AI 工具集成--sandbox [dir]配合--mcp将 MCP 服务器的文件工具限制在工作区目录内默认当前工作目录例如--sandbox path/to/project。所有路径都相对该根目录解析绝对路径/宿主机路径会被拒绝同时禁用远程打包、Skill 生成与附加外部输出--mcp模式下会进入 mcpAction 启动 MCP 服务器--sandbox指定的工作区根目录会先通过canonicalizeSandboxRoot做真实路径fs.realpath规范化避免符号链接绕过路径守卫见 src/cli/cliRun.ts。另外如果没有配合--mcp单独使用--sandbox只会打印警告而不产生任何效果。完整的沙箱语义见 MCP 服务器指南。Agent Skills 生成选项选项说明--skill-generate [name]以 Claude Agent Skills 格式生成输出到.claude/skills/name/目录省略时自动生成名称--skill-project-name name覆盖生成的 Skills 描述中使用的项目名--skill-output path直接指定 Skill 输出目录路径跳过位置询问-f, --force跳过所有确认提示Skill 目录覆盖、远程配置信任生成流程实现在 src/core/skill/ 目录packSkill.ts、skillSectionGenerators.ts、writeSkillOutput.ts等。远程仓库场景下Skill 名称会从仓库 URL 自动推导generateDefaultSkillNameFromUrl项目名同样由 URL 生成并且写入SKILL.md的源码 URL 会先经过脱敏处理避免把带凭据的远程地址持久化到文件里见 src/cli/actions/remoteAction.ts。Watch 模式-w, --watch监听文件变更并自动重新打包。新增、变更、删除的文件都会被检测到快速连续变更会做 300 ms 防抖合并每次重建后会打印时间戳。按CtrlC停止Watch 模式实现于 src/cli/actions/watchAction.ts底层使用chokidar懒加载仅在使用--watch时才引入防抖REBUILD_DEBOUNCE_MS 300最后一次事件后等待 300 ms 才触发重建写稳定阈值awaitWriteFinish的stabilityThreshold为 100 ms避免在文件写入一半时打包半成品重建互斥通过isRebuilding/pendingRebuild标志防止并发打包重建期间的变更会排队补跑一次监听范围监听的是目录而非单个文件这样新文件也能被捕获忽略规则与打包器完全一致默认模式、自定义模式、.gitignore、.ignore文件从而不会深入node_modules/.git树导致文件描述符耗尽EMFILE见 src/cli/actions/watch/watchIgnore.ts。Watch 模式的组合限制Watch 模式只适用于本地目录因此不能与以下选项组合--remote、作为位置参数传入的远程仓库 URL、--stdout、--stdin、--split-output、--skill-generate、--copy。这些限制的校验分两层CLI 标志层面由validateWatchOptions在日志级别切换之前执行见 src/cli/cliRun.ts确保错误消息不会被--quiet/--stdout吞掉配置文件层面则由runWatchAction对合并后的配置再次检查见 src/cli/actions/watchAction.ts因为配置文件中设置的选项是 CLI 标志检查看不到的。例如--split-output被禁止是因为生成的编号文件会被监听器再次捕获形成循环打包。综合示例# 基本用法默认输出 repomix-output.xml repomix # 自定义输出文件与格式 repomix -o my-output.xml --style xml # 输出到 stdout repomix --stdout custom-output.txt # 输出到 stdout再管道给其他命令例如 simonw/llm repomix --stdout | llm Please explain what this code does. # 带压缩的自定义输出 repomix --compress # 按每部分大小拆分输出 repomix --split-output 20mb # 用模式处理特定文件 repomix --include src/**/*.ts,*.md --ignore *.test.js,docs/** # 带分支的远程仓库 repomix --remote https://github.com/user/repo/tree/main # 带提交的远程仓库 repomix --remote https://github.com/user/repo/commit/836abcd7335137228ad77feb28655d85712680f1 # 简写形式的远程仓库 repomix --remote user/repo # 简写形式自动检测无需 --remote repomix user/repo # 用 stdin 传入文件列表 find src -name *.ts -type f | repomix --stdin git ls-files *.js | repomix --stdin echo -e src/index.ts\nsrc/utils.ts | repomix --stdin # Git 集成 repomix --include-diffs # 包含未提交变更的 git diffs repomix --include-logs # 包含 git 日志默认最近 50 条提交 repomix --include-logs --include-logs-count 10 # 只包含最近 10 条提交 repomix --include-diffs --include-logs # 同时包含 diffs 与日志 # Token 计数分析 repomix --token-count-tree repomix --token-count-tree 1000 # 只显示 Token 数 ≥ 1000 的文件/目录 # Watch 模式文件变更时自动重新打包 repomix --watch repomix -w --include src/**/*.ts相关资源配置指南 —— 在配置文件中设置这些选项而不是用 CLI 标志输出格式 —— XML、Markdown、JSON 与纯文本格式的细节代码压缩 ——--compress如何配合 Tree-sitter 工作安全 ——--no-security-check会关闭什么MCP 服务器 ——--sandbox沙箱模式的完整语义Watch 模式 —— 监听打包的进阶用法【免费下载链接】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),仅供参考

关于恒美微站

恒美微站专注于为个体商户、工作室提供极简自助建站服务,让每个人都能轻松拥有专业网站。

快速链接

  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心

服务项目

  • 可视化建站
  • 拖拽编辑
  • 主题定制
  • SEO 优化
  • 网站托管

联系方式

  • 📍 地址:北京市朝阳区建国路 88 号
  • 📞 电话:400-888-8888
  • ✉️ 邮箱:info@hmyw.cn
  • 🕐 时间:周一至周日 9:00-18:00

© 2024 恒美微站 hmyw.cn 版权所有 | 京 ICP 备 12345678 号