[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-rtk-ai--rtk":3,"tool-rtk-ai--rtk":61},[4,18,26,36,44,53],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":10,"last_commit_at":24,"category_tags":25,"status":17},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[14,15,13],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":32,"last_commit_at":33,"category_tags":34,"status":17},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",145895,2,"2026-04-08T11:32:59",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":32,"last_commit_at":42,"category_tags":43,"status":17},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",108111,"2026-04-08T11:23:26",[14,15,13],{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":32,"last_commit_at":50,"category_tags":51,"status":17},4721,"markitdown","microsoft\u002Fmarkitdown","MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具，专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片（含 OCR）、音频（含语音转录）、HTML 乃至 YouTube 链接等多种格式的解析，能够精准提取文档中的标题、列表、表格和链接等关键结构信息。\n\n在人工智能应用日益普及的今天，大语言模型（LLM）虽擅长处理文本，却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点，它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式，成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外，它还提供了 MCP（模型上下文协议）服务器，可无缝集成到 Claude Desktop 等 LLM 应用中。\n\n这款工具特别适合开发者、数据科学家及 AI 研究人员使用，尤其是那些需要构建文档检索增强生成（RAG）系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性，但其核心优势在于为机器",93400,"2026-04-06T19:52:38",[52,14],"插件",{"id":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":10,"last_commit_at":59,"category_tags":60,"status":17},4487,"LLMs-from-scratch","rasbt\u002FLLMs-from-scratch","LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目，旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型（LLM）。它不仅是同名技术著作的官方代码库，更提供了一套完整的实践方案，涵盖模型开发、预训练及微调的全过程。\n\n该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型，却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码，用户能够透彻掌握 Transformer 架构、注意力机制等关键原理，从而真正理解大模型是如何“思考”的。此外，项目还包含了加载大型预训练权重进行微调的代码，帮助用户将理论知识延伸至实际应用。\n\nLLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API，而是渴望探究模型构建细节的技术人员而言，这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计：将复杂的系统工程拆解为清晰的步骤，配合详细的图表与示例，让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础，还是为未来研发更大规模的模型做准备",90106,"2026-04-06T11:19:32",[35,15,13,14],{"id":62,"github_repo":63,"name":64,"description_en":65,"description_zh":66,"ai_summary_zh":66,"readme_en":67,"readme_zh":68,"quickstart_zh":69,"use_case_zh":70,"hero_image_url":71,"owner_login":72,"owner_name":72,"owner_avatar_url":73,"owner_bio":74,"owner_company":75,"owner_location":75,"owner_email":76,"owner_twitter":75,"owner_website":77,"owner_url":78,"languages":79,"stars":96,"forks":97,"last_commit_at":98,"license":99,"difficulty_score":100,"env_os":101,"env_gpu":102,"env_ram":103,"env_deps":104,"category_tags":109,"github_topics":110,"view_count":32,"oss_zip_url":75,"oss_zip_packed_at":75,"status":17,"created_at":124,"updated_at":125,"faqs":126,"releases":147},5452,"rtk-ai\u002Frtk","rtk","CLI proxy that reduces LLM token consumption by 60-90% on common dev commands. Single Rust binary, zero dependencies","rtk 是一款专为开发者设计的高性能命令行代理工具，旨在大幅降低在使用 AI 编程助手（如 Claude Code、Copilot、Cursor 等）时的 LLM Token 消耗。在日常开发中，开发者频繁执行的 `ls`、`git diff`、`cat` 或运行测试等命令，往往会产生大量冗余输出，导致 AI 上下文迅速膨胀并产生高昂费用。rtk 通过智能过滤和压缩这些命令的输出内容，在将其发送给大模型前进行优化，从而在常见开发场景下节省 60% 至 90% 的 Token 用量。\n\n该工具采用 Rust 语言编写，封装为单一二进制文件，无需任何外部依赖，跨平台支持良好且启动开销极低（小于 10 毫秒）。它已预置对 100 多种常用命令的优化规则，用户只需简单运行初始化命令即可无缝集成到现有的 AI 工作流中。无论是独立开发者还是企业团队，只要依赖 AI 进行代码编写、调试或审查，都能通过 rtk 显著降低使用成本并提升交互效率，让 AI 更专注于核心逻辑而非处理冗长的系统输出。","\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Frtk-ai_rtk_readme_ec9aab51e3ce.png\" alt=\"RTK - Rust Token Killer\" width=\"500\">\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Cstrong>High-performance CLI proxy that reduces LLM token consumption by 60-90%\u003C\u002Fstrong>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Frtk-ai\u002Frtk\u002Factions\">\u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Frtk-ai\u002Frtk\u002Fworkflows\u002FSecurity%20Check\u002Fbadge.svg\" alt=\"CI\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Frtk-ai\u002Frtk\u002Freleases\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fv\u002Frelease\u002Frtk-ai\u002Frtk\" alt=\"Release\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fopensource.org\u002Flicenses\u002FMIT\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-MIT-yellow.svg\" alt=\"License: MIT\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fdiscord.gg\u002FRySmvNF5kF\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fdiscord\u002F1470188214710046894?label=Discord&logo=discord\" alt=\"Discord\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fformulae.brew.sh\u002Fformula\u002Frtk\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fhomebrew\u002Fv\u002Frtk\" alt=\"Homebrew\">\u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fwww.rtk-ai.app\">Website\u003C\u002Fa> &bull;\n  \u003Ca href=\"#installation\">Install\u003C\u002Fa> &bull;\n  \u003Ca href=\"docs\u002FTROUBLESHOOTING.md\">Troubleshooting\u003C\u002Fa> &bull;\n  \u003Ca href=\"docs\u002Fcontributing\u002FARCHITECTURE.md\">Architecture\u003C\u002Fa> &bull;\n  \u003Ca href=\"https:\u002F\u002Fdiscord.gg\u002FRySmvNF5kF\">Discord\u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"README.md\">English\u003C\u002Fa> &bull;\n  \u003Ca href=\"README_fr.md\">Francais\u003C\u002Fa> &bull;\n  \u003Ca href=\"README_zh.md\">中文\u003C\u002Fa> &bull;\n  \u003Ca href=\"README_ja.md\">日本語\u003C\u002Fa> &bull;\n  \u003Ca href=\"README_ko.md\">한국어\u003C\u002Fa> &bull;\n  \u003Ca href=\"README_es.md\">Espanol\u003C\u002Fa>\n\u003C\u002Fp>\n\n---\n\nrtk filters and compresses command outputs before they reach your LLM context. Single Rust binary, 100+ supported commands, \u003C10ms overhead.\n\n## Token Savings (30-min Claude Code Session)\n\n| Operation | Frequency | Standard | rtk | Savings |\n|-----------|-----------|----------|-----|---------|\n| `ls` \u002F `tree` | 10x | 2,000 | 400 | -80% |\n| `cat` \u002F `read` | 20x | 40,000 | 12,000 | -70% |\n| `grep` \u002F `rg` | 8x | 16,000 | 3,200 | -80% |\n| `git status` | 10x | 3,000 | 600 | -80% |\n| `git diff` | 5x | 10,000 | 2,500 | -75% |\n| `git log` | 5x | 2,500 | 500 | -80% |\n| `git add\u002Fcommit\u002Fpush` | 8x | 1,600 | 120 | -92% |\n| `cargo test` \u002F `npm test` | 5x | 25,000 | 2,500 | -90% |\n| `ruff check` | 3x | 3,000 | 600 | -80% |\n| `pytest` | 4x | 8,000 | 800 | -90% |\n| `go test` | 3x | 6,000 | 600 | -90% |\n| `docker ps` | 3x | 900 | 180 | -80% |\n| **Total** | | **~118,000** | **~23,900** | **-80%** |\n\n> Estimates based on medium-sized TypeScript\u002FRust projects. Actual savings vary by project size.\n\n## Installation\n\n### Homebrew (recommended)\n\n```bash\nbrew install rtk\n```\n\n### Quick Install (Linux\u002FmacOS)\n\n```bash\ncurl -fsSL https:\u002F\u002Fraw.githubusercontent.com\u002Frtk-ai\u002Frtk\u002Frefs\u002Fheads\u002Fmaster\u002Finstall.sh | sh\n```\n\n> Installs to `~\u002F.local\u002Fbin`. Add to PATH if needed:\n> ```bash\n> echo 'export PATH=\"$HOME\u002F.local\u002Fbin:$PATH\"' >> ~\u002F.bashrc  # or ~\u002F.zshrc\n> ```\n\n### Cargo\n\n```bash\ncargo install --git https:\u002F\u002Fgithub.com\u002Frtk-ai\u002Frtk\n```\n\n### Pre-built Binaries\n\nDownload from [releases](https:\u002F\u002Fgithub.com\u002Frtk-ai\u002Frtk\u002Freleases):\n- macOS: `rtk-x86_64-apple-darwin.tar.gz` \u002F `rtk-aarch64-apple-darwin.tar.gz`\n- Linux: `rtk-x86_64-unknown-linux-musl.tar.gz` \u002F `rtk-aarch64-unknown-linux-gnu.tar.gz`\n- Windows: `rtk-x86_64-pc-windows-msvc.zip`\n\n### Verify Installation\n\n```bash\nrtk --version   # Should show \"rtk 0.28.2\"\nrtk gain        # Should show token savings stats\n```\n\n> **Name collision warning**: Another project named \"rtk\" (Rust Type Kit) exists on crates.io. If `rtk gain` fails, you have the wrong package. Use `cargo install --git` above instead.\n\n## Quick Start\n\n```bash\n# 1. Install for your AI tool\nrtk init -g                     # Claude Code \u002F Copilot (default)\nrtk init -g --gemini            # Gemini CLI\nrtk init -g --codex             # Codex (OpenAI)\nrtk init -g --agent cursor      # Cursor\nrtk init --agent windsurf       # Windsurf\nrtk init --agent cline          # Cline \u002F Roo Code\n\n# 2. Restart your AI tool, then test\ngit status  # Automatically rewritten to rtk git status\n```\n\nThe hook transparently rewrites Bash commands (e.g., `git status` -> `rtk git status`) before execution. Claude never sees the rewrite, it just gets compressed output.\n\n**Important:** the hook only runs on Bash tool calls. Claude Code built-in tools like `Read`, `Grep`, and `Glob` do not pass through the Bash hook, so they are not auto-rewritten. To get RTK's compact output for those workflows, use shell commands (`cat`\u002F`head`\u002F`tail`, `rg`\u002F`grep`, `find`) or call `rtk read`, `rtk grep`, or `rtk find` directly.\n\n## How It Works\n\n```\n  Without rtk:                                    With rtk:\n\n  Claude  --git status-->  shell  -->  git         Claude  --git status-->  RTK  -->  git\n    ^                                   |            ^                      |          |\n    |        ~2,000 tokens (raw)        |            |   ~200 tokens        | filter   |\n    +-----------------------------------+            +------- (filtered) ---+----------+\n```\n\nFour strategies applied per command type:\n\n1. **Smart Filtering** - Removes noise (comments, whitespace, boilerplate)\n2. **Grouping** - Aggregates similar items (files by directory, errors by type)\n3. **Truncation** - Keeps relevant context, cuts redundancy\n4. **Deduplication** - Collapses repeated log lines with counts\n\n## Commands\n\n### Files\n```bash\nrtk ls .                        # Token-optimized directory tree\nrtk read file.rs                # Smart file reading\nrtk read file.rs -l aggressive  # Signatures only (strips bodies)\nrtk smart file.rs               # 2-line heuristic code summary\nrtk find \"*.rs\" .               # Compact find results\nrtk grep \"pattern\" .            # Grouped search results\nrtk diff file1 file2            # Condensed diff\n```\n\n### Git\n```bash\nrtk git status                  # Compact status\nrtk git log -n 10               # One-line commits\nrtk git diff                    # Condensed diff\nrtk git add                     # -> \"ok\"\nrtk git commit -m \"msg\"         # -> \"ok abc1234\"\nrtk git push                    # -> \"ok main\"\nrtk git pull                    # -> \"ok 3 files +10 -2\"\n```\n\n### GitHub CLI\n```bash\nrtk gh pr list                  # Compact PR listing\nrtk gh pr view 42               # PR details + checks\nrtk gh issue list               # Compact issue listing\nrtk gh run list                 # Workflow run status\n```\n\n### Test Runners\n```bash\nrtk test cargo test             # Show failures only (-90%)\nrtk err npm run build           # Errors\u002Fwarnings only\nrtk vitest run                  # Vitest compact (failures only)\nrtk playwright test             # E2E results (failures only)\nrtk pytest                      # Python tests (-90%)\nrtk go test                     # Go tests (NDJSON, -90%)\nrtk cargo test                  # Cargo tests (-90%)\nrtk rake test                   # Ruby minitest (-90%)\nrtk rspec                       # RSpec tests (JSON, -60%+)\n```\n\n### Build & Lint\n```bash\nrtk lint                        # ESLint grouped by rule\u002Ffile\nrtk lint biome                  # Supports other linters\nrtk tsc                         # TypeScript errors grouped by file\nrtk next build                  # Next.js build compact\nrtk prettier --check .          # Files needing formatting\nrtk cargo build                 # Cargo build (-80%)\nrtk cargo clippy                # Cargo clippy (-80%)\nrtk ruff check                  # Python linting (JSON, -80%)\nrtk golangci-lint run           # Go linting (JSON, -85%)\nrtk rubocop                     # Ruby linting (JSON, -60%+)\n```\n\n### Package Managers\n```bash\nrtk pnpm list                   # Compact dependency tree\nrtk pip list                    # Python packages (auto-detect uv)\nrtk pip outdated                # Outdated packages\nrtk bundle install              # Ruby gems (strip Using lines)\nrtk prisma generate             # Schema generation (no ASCII art)\n```\n\n### AWS\n```bash\nrtk aws sts get-caller-identity # One-line identity\nrtk aws ec2 describe-instances  # Compact instance list\nrtk aws lambda list-functions   # Name\u002Fruntime\u002Fmemory (strips secrets)\nrtk aws logs get-log-events     # Timestamped messages only\nrtk aws cloudformation describe-stack-events  # Failures first\nrtk aws dynamodb scan           # Unwraps type annotations\nrtk aws iam list-roles          # Strips policy documents\nrtk aws s3 ls                   # Truncated with tee recovery\n```\n\n### Containers\n```bash\nrtk docker ps                   # Compact container list\nrtk docker images               # Compact image list\nrtk docker logs \u003Ccontainer>     # Deduplicated logs\nrtk docker compose ps           # Compose services\nrtk kubectl pods                # Compact pod list\nrtk kubectl logs \u003Cpod>          # Deduplicated logs\nrtk kubectl services            # Compact service list\n```\n\n### Data & Analytics\n```bash\nrtk json config.json            # Structure without values\nrtk deps                        # Dependencies summary\nrtk env -f AWS                  # Filtered env vars\nrtk log app.log                 # Deduplicated logs\nrtk curl \u003Curl>                  # Auto-detect JSON + schema\nrtk wget \u003Curl>                  # Download, strip progress bars\nrtk summary \u003Clong command>      # Heuristic summary\nrtk proxy \u003Ccommand>             # Raw passthrough + tracking\n```\n\n### Token Savings Analytics\n```bash\nrtk gain                        # Summary stats\nrtk gain --graph                # ASCII graph (last 30 days)\nrtk gain --history              # Recent command history\nrtk gain --daily                # Day-by-day breakdown\nrtk gain --all --format json    # JSON export for dashboards\n\nrtk discover                    # Find missed savings opportunities\nrtk discover --all --since 7    # All projects, last 7 days\n\nrtk session                     # Show RTK adoption across recent sessions\n```\n\n## Global Flags\n\n```bash\n-u, --ultra-compact    # ASCII icons, inline format (extra token savings)\n-v, --verbose          # Increase verbosity (-v, -vv, -vvv)\n```\n\n## Examples\n\n**Directory listing:**\n```\n# ls -la (45 lines, ~800 tokens)        # rtk ls (12 lines, ~150 tokens)\ndrwxr-xr-x  15 user staff 480 ...       my-project\u002F\n-rw-r--r--   1 user staff 1234 ...       +-- src\u002F (8 files)\n...                                      |   +-- main.rs\n                                         +-- Cargo.toml\n```\n\n**Git operations:**\n```\n# git push (15 lines, ~200 tokens)       # rtk git push (1 line, ~10 tokens)\nEnumerating objects: 5, done.             ok main\nCounting objects: 100% (5\u002F5), done.\nDelta compression using up to 8 threads\n...\n```\n\n**Test output:**\n```\n# cargo test (200+ lines on failure)     # rtk test cargo test (~20 lines)\nrunning 15 tests                          FAILED: 2\u002F15 tests\ntest utils::test_parse ... ok               test_edge_case: assertion failed\ntest utils::test_format ... ok              test_overflow: panic at utils.rs:18\n...\n```\n\n## Auto-Rewrite Hook\n\nThe most effective way to use rtk. The hook transparently intercepts Bash commands and rewrites them to rtk equivalents before execution.\n\n**Result**: 100% rtk adoption across all conversations and subagents, zero token overhead.\n\n**Scope note:** this only applies to Bash tool calls. Claude Code built-in tools such as `Read`, `Grep`, and `Glob` bypass the hook, so use shell commands or explicit `rtk` commands when you want RTK filtering there.\n\n### Setup\n\n```bash\nrtk init -g                 # Install hook + RTK.md (recommended)\nrtk init -g --opencode      # OpenCode plugin (instead of Claude Code)\nrtk init -g --auto-patch    # Non-interactive (CI\u002FCD)\nrtk init -g --hook-only     # Hook only, no RTK.md\nrtk init --show             # Verify installation\n```\n\nAfter install, **restart Claude Code**.\n\n## Supported AI Tools\n\nRTK supports 10 AI coding tools. Each integration transparently rewrites shell commands to `rtk` equivalents for 60-90% token savings.\n\n| Tool | Install | Method |\n|------|---------|--------|\n| **Claude Code** | `rtk init -g` | PreToolUse hook (bash) |\n| **GitHub Copilot (VS Code)** | `rtk init -g --copilot` | PreToolUse hook (`rtk hook copilot`) — transparent rewrite |\n| **GitHub Copilot CLI** | `rtk init -g --copilot` | PreToolUse deny-with-suggestion (CLI limitation) |\n| **Cursor** | `rtk init -g --agent cursor` | preToolUse hook (hooks.json) |\n| **Gemini CLI** | `rtk init -g --gemini` | BeforeTool hook (`rtk hook gemini`) |\n| **Codex** | `rtk init -g --codex` | AGENTS.md + RTK.md instructions |\n| **Windsurf** | `rtk init --agent windsurf` | .windsurfrules (project-scoped) |\n| **Cline \u002F Roo Code** | `rtk init --agent cline` | .clinerules (project-scoped) |\n| **OpenCode** | `rtk init -g --opencode` | Plugin TS (tool.execute.before) |\n| **OpenClaw** | `openclaw plugins install .\u002Fopenclaw` | Plugin TS (before_tool_call) |\n| **Mistral Vibe** | Planned (#800) | Blocked on upstream BeforeToolCallback |\n\n### Claude Code (default)\n\n```bash\nrtk init -g                 # Install hook + RTK.md\nrtk init -g --auto-patch    # Non-interactive (CI\u002FCD)\nrtk init --show             # Verify installation\nrtk init -g --uninstall     # Remove\n```\n\n### GitHub Copilot (VS Code + CLI)\n\n```bash\nrtk init -g --copilot         # Install hook + instructions\n```\n\nCreates `.github\u002Fhooks\u002Frtk-rewrite.json` (PreToolUse hook) and `.github\u002Fcopilot-instructions.md` (prompt-level awareness).\n\nThe hook (`rtk hook copilot`) auto-detects the format:\n- **VS Code Copilot Chat**: transparent rewrite via `updatedInput` (same as Claude Code)\n- **Copilot CLI**: deny-with-suggestion (CLI does not support `updatedInput` yet — see [copilot-cli#2013](https:\u002F\u002Fgithub.com\u002Fgithub\u002Fcopilot-cli\u002Fissues\u002F2013))\n\n### Cursor\n\n```bash\nrtk init -g --agent cursor\n```\n\nCreates `~\u002F.cursor\u002Fhooks\u002Frtk-rewrite.sh` + patches `~\u002F.cursor\u002Fhooks.json` with preToolUse matcher. Works with both Cursor editor and `cursor-agent` CLI.\n\n### Gemini CLI\n\n```bash\nrtk init -g --gemini\nrtk init -g --gemini --uninstall\n```\n\nCreates `~\u002F.gemini\u002Fhooks\u002Frtk-hook-gemini.sh` + patches `~\u002F.gemini\u002Fsettings.json` with BeforeTool hook.\n\n### Codex (OpenAI)\n\n```bash\nrtk init -g --codex\n```\n\nCreates `~\u002F.codex\u002FRTK.md` + `~\u002F.codex\u002FAGENTS.md` with `@RTK.md` reference. Codex reads these as global instructions.\n\n### Windsurf\n\n```bash\nrtk init --agent windsurf\n```\n\nCreates `.windsurfrules` in the current project. Cascade reads rules and prefixes commands with `rtk`.\n\n### Cline \u002F Roo Code\n\n```bash\nrtk init --agent cline\n```\n\nCreates `.clinerules` in the current project. Cline reads rules and prefixes commands with `rtk`.\n\n### OpenCode\n\n```bash\nrtk init -g --opencode\n```\n\nCreates `~\u002F.config\u002Fopencode\u002Fplugins\u002Frtk.ts`. Uses `tool.execute.before` hook.\n\n### OpenClaw\n\n```bash\nopenclaw plugins install .\u002Fopenclaw\n```\n\nPlugin in `openclaw\u002F` directory. Uses `before_tool_call` hook, delegates to `rtk rewrite`.\n\n### Mistral Vibe (planned)\n\nBlocked on upstream BeforeToolCallback support ([mistral-vibe#531](https:\u002F\u002Fgithub.com\u002Fmistralai\u002Fmistral-vibe\u002Fissues\u002F531), [PR #533](https:\u002F\u002Fgithub.com\u002Fmistralai\u002Fmistral-vibe\u002Fpull\u002F533)). Tracked in [#800](https:\u002F\u002Fgithub.com\u002Frtk-ai\u002Frtk\u002Fissues\u002F800).\n\n### Commands Rewritten\n\n| Raw Command | Rewritten To |\n|-------------|-------------|\n| `git status\u002Fdiff\u002Flog\u002Fadd\u002Fcommit\u002Fpush\u002Fpull` | `rtk git ...` |\n| `gh pr\u002Fissue\u002Frun` | `rtk gh ...` |\n| `cargo test\u002Fbuild\u002Fclippy` | `rtk cargo ...` |\n| `cat\u002Fhead\u002Ftail \u003Cfile>` | `rtk read \u003Cfile>` |\n| `rg\u002Fgrep \u003Cpattern>` | `rtk grep \u003Cpattern>` |\n| `ls` | `rtk ls` |\n| `vitest\u002Fjest` | `rtk vitest run` |\n| `tsc` | `rtk tsc` |\n| `eslint\u002Fbiome` | `rtk lint` |\n| `prettier` | `rtk prettier` |\n| `playwright` | `rtk playwright` |\n| `prisma` | `rtk prisma` |\n| `ruff check\u002Fformat` | `rtk ruff ...` |\n| `pytest` | `rtk pytest` |\n| `pip list\u002Finstall` | `rtk pip ...` |\n| `go test\u002Fbuild\u002Fvet` | `rtk go ...` |\n| `golangci-lint` | `rtk golangci-lint` |\n| `rake test` \u002F `rails test` | `rtk rake test` |\n| `rspec` \u002F `bundle exec rspec` | `rtk rspec` |\n| `rubocop` \u002F `bundle exec rubocop` | `rtk rubocop` |\n| `bundle install\u002Fupdate` | `rtk bundle ...` |\n| `aws sts\u002Fec2\u002Flambda\u002F...` | `rtk aws ...` |\n| `docker ps\u002Fimages\u002Flogs` | `rtk docker ...` |\n| `kubectl get\u002Flogs` | `rtk kubectl ...` |\n| `curl` | `rtk curl` |\n| `pnpm list\u002Foutdated` | `rtk pnpm ...` |\n\nCommands already using `rtk`, heredocs (`\u003C\u003C`), and unrecognized commands pass through unchanged.\n\n## Configuration\n\n### Config File\n\n`~\u002F.config\u002Frtk\u002Fconfig.toml` (macOS: `~\u002FLibrary\u002FApplication Support\u002Frtk\u002Fconfig.toml`):\n\n```toml\n[tracking]\ndatabase_path = \"\u002Fpath\u002Fto\u002Fcustom.db\"  # default: ~\u002F.local\u002Fshare\u002Frtk\u002Fhistory.db\n\n[hooks]\nexclude_commands = [\"curl\", \"playwright\"]  # skip rewrite for these\n\n[tee]\nenabled = true          # save raw output on failure (default: true)\nmode = \"failures\"       # \"failures\", \"always\", or \"never\"\nmax_files = 20          # rotation limit\n```\n\n### Tee: Full Output Recovery\n\nWhen a command fails, RTK saves the full unfiltered output so the LLM can read it without re-executing:\n\n```\nFAILED: 2\u002F15 tests\n[full output: ~\u002F.local\u002Fshare\u002Frtk\u002Ftee\u002F1707753600_cargo_test.log]\n```\n\n### Uninstall\n\n```bash\nrtk init -g --uninstall     # Remove hook, RTK.md, settings.json entry\ncargo uninstall rtk          # Remove binary\nbrew uninstall rtk           # If installed via Homebrew\n```\n\n## Documentation\n\n- **[TROUBLESHOOTING.md](docs\u002FTROUBLESHOOTING.md)** - Fix common issues\n- **[INSTALL.md](INSTALL.md)** - Detailed installation guide\n- **[ARCHITECTURE.md](docs\u002Fcontributing\u002FARCHITECTURE.md)** - Technical architecture\n- **[SECURITY.md](SECURITY.md)** - Security policy and PR review process\n- **[AUDIT_GUIDE.md](docs\u002FAUDIT_GUIDE.md)** - Token savings analytics guide\n\n## Privacy & Telemetry\n\nRTK collects **anonymous, aggregate usage metrics** once per day, **enabled by default**. This helps prioritize development. See opt-out options below.\n\n**What is collected:**\n- Device hash (salted SHA-256 — per-user random salt stored locally, not reversible)\n- RTK version, OS, architecture\n- Command count (last 24h) and top command names (e.g. \"git\", \"cargo\" — no arguments, no file paths)\n- Token savings percentage\n\n**What is NOT collected:** source code, file paths, command arguments, secrets, environment variables, or any personally identifiable information.\n\n**Opt-out** (any of these):\n```bash\n# Environment variable\nexport RTK_TELEMETRY_DISABLED=1\n\n# Or in config file (~\u002F.config\u002Frtk\u002Fconfig.toml)\n[telemetry]\nenabled = false\n```\n\n## Contributing\n\nContributions welcome! Please open an issue or PR on [GitHub](https:\u002F\u002Fgithub.com\u002Frtk-ai\u002Frtk).\n\nJoin the community on [Discord](https:\u002F\u002Fdiscord.gg\u002FRySmvNF5kF).\n\n## License\n\nMIT License - see [LICENSE](LICENSE) for details.\n\n## Disclaimer\n\nSee [DISCLAIMER.md](DISCLAIMER.md).\n","\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Frtk-ai_rtk_readme_ec9aab51e3ce.png\" alt=\"RTK - Rust Token Killer\" width=\"500\">\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Cstrong>高性能 CLI 代理，可将 LLM 的 token 消耗降低 60-90%\u003C\u002Fstrong>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Frtk-ai\u002Frtk\u002Factions\">\u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Frtk-ai\u002Frtk\u002Fworkflows\u002FSecurity%20Check\u002Fbadge.svg\" alt=\"CI\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Frtk-ai\u002Frtk\u002Freleases\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fv\u002Frelease\u002Frtk-ai\u002Frtk\" alt=\"Release\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fopensource.org\u002Flicenses\u002FMIT\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-MIT-yellow.svg\" alt=\"License: MIT\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fdiscord.gg\u002FRySmvNF5kF\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fdiscord\u002F1470188214710046894?label=Discord&logo=discord\" alt=\"Discord\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fformulae.brew.sh\u002Fformula\u002Frtk\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fhomebrew\u002Fv\u002Frtk\" alt=\"Homebrew\">\u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fwww.rtk-ai.app\">官网\u003C\u002Fa> &bull;\n  \u003Ca href=\"#installation\">安装\u003C\u002Fa> &bull;\n  \u003Ca href=\"docs\u002FTROUBLESHOOTING.md\">故障排除\u003C\u002Fa> &bull;\n  \u003Ca href=\"docs\u002Fcontributing\u002FARCHITECTURE.md\">架构\u003C\u002Fa> &bull;\n  \u003Ca href=\"https:\u002F\u002Fdiscord.gg\u002FRySmvNF5kF\">Discord\u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"README.md\">English\u003C\u002Fa> &bull;\n  \u003Ca href=\"README_fr.md\">Francais\u003C\u002Fa> &bull;\n  \u003Ca href=\"README_zh.md\">中文\u003C\u002Fa> &bull;\n  \u003Ca href=\"README_ja.md\">日本語\u003C\u002Fa> &bull;\n  \u003Ca href=\"README_ko.md\">한국어\u003C\u002Fa> &bull;\n  \u003Ca href=\"README_es.md\">Espanol\u003C\u002Fa>\n\u003C\u002Fp>\n\n---\n\nrtk 在命令输出到达您的 LLM 上下文之前对其进行过滤和压缩。单个 Rust 二进制文件，支持 100 多种命令，开销不到 10 毫秒。\n\n## Token 节省（30 分钟 Claude Code 会话）\n\n| 操作 | 频率 | 标准 | rtk | 节省 |\n|-----------|-----------|----------|-----|---------|\n| `ls` \u002F `tree` | 10x | 2,000 | 400 | -80% |\n| `cat` \u002F `read` | 20x | 40,000 | 12,000 | -70% |\n| `grep` \u002F `rg` | 8x | 16,000 | 3,200 | -80% |\n| `git status` | 10x | 3,000 | 600 | -80% |\n| `git diff` | 5x | 10,000 | 2,500 | -75% |\n| `git log` | 5x | 2,500 | 500 | -80% |\n| `git add\u002Fcommit\u002Fpush` | 8x | 1,600 | 120 | -92% |\n| `cargo test` \u002F `npm test` | 5x | 25,000 | 2,500 | -90% |\n| `ruff check` | 3x | 3,000 | 600 | -80% |\n| `pytest` | 4x | 8,000 | 800 | -90% |\n| `go test` | 3x | 6,000 | 600 | -90% |\n| `docker ps` | 3x | 900 | 180 | -80% |\n| **总计** | | **~118,000** | **~23,900** | **-80%** |\n\n> 估算基于中型 TypeScript\u002FRust 项目。实际节省量因项目规模而异。\n\n## 安装\n\n### Homebrew（推荐）\n\n```bash\nbrew install rtk\n```\n\n### 快速安装（Linux\u002FmacOS）\n\n```bash\ncurl -fsSL https:\u002F\u002Fraw.githubusercontent.com\u002Frtk-ai\u002Frtk\u002Frefs\u002Fheads\u002Fmaster\u002Finstall.sh | sh\n```\n\n> 安装到 `~\u002F.local\u002Fbin`。如果需要，请将其添加到 PATH：\n> ```bash\n> echo 'export PATH=\"$HOME\u002F.local\u002Fbin:$PATH\"' >> ~\u002F.bashrc  # 或 ~\u002F.zshrc\n> ```\n\n### Cargo\n\n```bash\ncargo install --git https:\u002F\u002Fgithub.com\u002Frtk-ai\u002Frtk\n```\n\n### 预编译二进制文件\n\n从 [releases](https:\u002F\u002Fgithub.com\u002Frtk-ai\u002Frtk\u002Freleases) 下载：\n- macOS：`rtk-x86_64-apple-darwin.tar.gz` \u002F `rtk-aarch64-apple-darwin.tar.gz`\n- Linux：`rtk-x86_64-unknown-linux-musl.tar.gz` \u002F `rtk-aarch64-unknown-linux-gnu.tar.gz`\n- Windows：`rtk-x86_64-pc-windows-msvc.zip`\n\n### 验证安装\n\n```bash\nrtk --version   # 应显示 \"rtk 0.28.2\"\nrtk gain        # 应显示 token 节省统计信息\n```\n\n> **命名冲突警告**：crates.io 上存在另一个名为“rtk”（Rust Type Kit）的项目。如果 `rtk gain` 失败，则说明您安装了错误的包。请改用上述 `cargo install --git` 命令。\n\n## 快速入门\n\n```bash\n# 1. 为您的 AI 工具安装\nrtk init -g                     # Claude Code \u002F Copilot（默认）\nrtk init -g --gemini            # Gemini CLI\nrtk init -g --codex             # Codex（OpenAI）\nrtk init -g --agent cursor      # Cursor\nrtk init --agent windsurf       # Windsurf\nrtk init --agent cline          # Cline \u002F Roo Code\n\n# 2. 重启您的 AI 工具，然后测试\ngit status  # 自动重写为 rtk git status\n```\n\n该钩子会在执行前透明地重写 Bash 命令（例如 `git status` -> `rtk git status`）。Claude 根本看不到这种重写，它只会收到压缩后的输出。\n\n**重要提示**：该钩子仅在 Bash 工具调用时运行。Claude Code 内置工具如 `Read`、`Grep` 和 `Glob` 不会经过 Bash 钩子，因此不会自动重写。要获得这些工作流的 RTK 紧凑输出，请使用 shell 命令（`cat`\u002F`head`\u002F`tail`、`rg`\u002F`grep`、`find`）或直接调用 `rtk read`、`rtk grep` 或 `rtk find`。\n\n## 工作原理\n\n```\n  无 rtk：                                    有 rtk：\n\n  Claude  --git status-->  shell  -->  git         Claude  --git status-->  RTK  -->  git\n    ^                                   |            ^                      |          |\n    |        ~2,000 tokens（原始）        |            |   ~200 tokens        | 过滤   |\n    +-----------------------------------+            +-------（过滤后） ---+----------+\n```\n\n针对每种命令类型采用四种策略：\n\n1. **智能过滤** - 去除噪声（注释、空格、样板代码）\n2. **分组** - 将相似项聚合（按目录分类文件、按类型分类错误）\n3. **截断** - 保留相关上下文，去除冗余\n4. **去重** - 将重复的日志行合并并计数\n\n## 命令\n\n### 文件\n```bash\nrtk ls .                        # 优化 token 的目录树\nrtk read file.rs                # 智能文件读取\nrtk read file.rs -l aggressive  # 仅显示签名（去除函数体）\nrtk smart file.rs               # 两行启发式代码摘要\nrtk find \"*.rs\" .               # 紧凑的查找结果\nrtk grep \"pattern\" .            # 分组后的搜索结果\nrtk diff file1 file2            # 精简的差异\n```\n\n### Git\n```bash\nrtk git status                  # 精简的状态\nrtk git log -n 10               # 单行提交记录\nrtk git diff                    # 精简的差异\nrtk git add                     # -> \"ok\"\nrtk git commit -m \"msg\"         # -> \"ok abc1234\"\nrtk git push                    # -> \"ok main\"\nrtk git pull                    # -> \"ok 3 files +10 -2\"\n```\n\n### GitHub CLI\n```bash\nrtk gh pr list                  # 精简的 PR 列表\nrtk gh pr view 42               # PR 详情 + 检查\nrtk gh issue list               # 精简的问题列表\nrtk gh run list                 # 工作流运行状态\n```\n\n### 测试运行器\n```bash\nrtk test cargo test             # 仅显示失败（-90%）\nrtk err npm run build           # 仅显示错误\u002F警告\nrtk vitest run                  # Vitest 精简版（仅显示失败）\nrtk playwright test             # E2E 结果（仅显示失败）\nrtk pytest                      # Python 测试（-90%）\nrtk go test                     # Go 测试（NDJSON，-90%）\nrtk cargo test                  # Cargo 测试（-90%）\nrtk rake test                   # Ruby minitest（-90%）\nrtk rspec                       # RSpec 测试（JSON，-60%以上）。\n```\n\n### 构建与 lint\n```bash\nrtk lint                        # ESLint 按规则\u002F文件分组\nrtk lint biome                  # 支持其他 linter\nrtk tsc                         # TypeScript 错误按文件分组\nrtk next build                  # Next.js 构建简洁版\nrtk prettier --check .          # 需要格式化的文件\nrtk cargo build                 # Cargo 构建（减少 80%）\nrtk cargo clippy                # Cargo clippy（减少 80%）\nrtk ruff check                  # Python lint（JSON 格式，减少 80%）\nrtk golangci-lint run           # Go lint（JSON 格式，减少 85%）\nrtk rubocop                     # Ruby lint（JSON 格式，减少 60%以上）\n```\n\n### 包管理器\n```bash\nrtk pnpm list                   # 简洁的依赖树\nrtk pip list                    # Python 包（自动检测 uv）\nrtk pip outdated                # 过时的包\nrtk bundle install              # Ruby gems（去除 Using 行）\nrtk prisma generate             # Schema 生成（无 ASCII 艺术）\n```\n\n### AWS\n```bash\nrtk aws sts get-caller-identity # 一行显示身份信息\nrtk aws ec2 describe-instances  # 简洁的实例列表\nrtk aws lambda list-functions   # 名称\u002F运行时\u002F内存（去除敏感信息）\nrtk aws logs get-log-events     # 仅显示带时间戳的消息\nrtk aws cloudformation describe-stack-events  # 失败事件优先\nrtk aws dynamodb scan           # 展开类型注解\nrtk aws iam list-roles          # 去除策略文档\nrtk aws s3 ls                   # 截断输出并支持 tee 恢复\n```\n\n### 容器\n```bash\nrtk docker ps                   # 简洁的容器列表\nrtk docker images               # 简洁的镜像列表\nrtk docker logs \u003Ccontainer>     # 去重后的日志\nrtk docker compose ps           # Compose 服务\nrtk kubectl pods                # 简洁的 Pod 列表\nrtk kubectl logs \u003Cpod>          # 去重后的日志\nrtk kubectl services            # 简洁的服务列表\n```\n\n### 数据与分析\n```bash\nrtk json config.json            # 结构化数据，不含值\nrtk deps                        # 依赖总结\nrtk env -f AWS                  # 过滤后的环境变量\nrtk log app.log                 # 去重后的日志\nrtk curl \u003Curl>                  # 自动检测 JSON + schema\nrtk wget \u003Curl>                  # 下载并去除进度条\nrtk summary \u003Clong command>      # 启发式摘要\nrtk proxy \u003Ccommand>             # 原始透传 + 跟踪\n```\n\n### Token 节省分析\n```bash\nrtk gain                        # 总结统计\nrtk gain --graph                # ASCII 图表（最近 30 天）\nrtk gain --history              # 最近的命令历史\nrtk gain --daily                # 按天细分\nrtk gain --all --format json    # 导出 JSON 格式用于仪表板\n\nrtk discover                    # 发现遗漏的节省机会\nrtk discover --all --since 7    # 所有项目，过去 7 天\n\nrtk session                     # 显示近期会话中的 RTK 使用情况\n```\n\n## 全局标志\n\n```bash\n-u, --ultra-compact    # 使用 ASCII 图标，内联格式（额外节省 token）\n-v, --verbose          # 提高详细程度（-v、-vv、-vvv）\n```\n\n## 示例\n\n**目录列表：**\n```\n# ls -la (45 行，约 800 token)        # rtk ls (12 行，约 150 token)\ndrwxr-xr-x  15 user staff 480 ...       my-project\u002F\n-rw-r--r--   1 user staff 1234 ...       +-- src\u002F (8 个文件)\n...                                      |   +-- main.rs\n                                         +-- Cargo.toml\n```\n\n**Git 操作：**\n```\n# git push (15 行，约 200 token)       # rtk git push (1 行，约 10 token)\nEnumerating objects: 5, done.             ok main\nCounting objects: 100% (5\u002F5), done.\nDelta compression using up to 8 threads\n...\n```\n\n**测试输出：**\n```\n# cargo test (失败时超过 200 行)     # rtk test cargo test (~20 行)\nrunning 15 tests                          FAILED: 2\u002F15 测试\ntest utils::test_parse ... ok               test_edge_case: 断言失败\ntest utils::test_format ... ok              test_overflow: panic 在 utils.rs:18\n...\n```\n\n## 自动重写钩子\n\n使用 rtk 的最有效方式。该钩子会在执行前透明地拦截 Bash 命令，并将其重写为 rtk 等效命令。\n\n**结果**：所有对话和子代理中 100% 采用 rtk，且无额外 token 开销。\n\n**范围说明**：此功能仅适用于 Bash 工具调用。Claude Code 内置工具如 `Read`、`Grep` 和 `Glob` 会绕过钩子，因此在需要 RTK 过滤时，请使用 shell 命令或显式 `rtk` 命令。\n\n### 设置\n\n```bash\nrtk init -g                 # 安装钩子 + RTK.md（推荐）\nrtk init -g --opencode      # OpenCode 插件（替代 Claude Code）\nrtk init -g --auto-patch    # 非交互式（CI\u002FCD）\nrtk init -g --hook-only     # 仅安装钩子，不创建 RTK.md\nrtk init --show             # 验证安装\n```\n\n安装后，请**重启 Claude Code**。\n\n## 支持的 AI 工具\n\nRTK 支持 10 种 AI 编程工具。每种集成都会透明地将 shell 命令重写为 `rtk` 等效命令，从而节省 60%-90% 的 token。\n\n| 工具 | 安装 | 方法 |\n|------|---------|--------|\n| **Claude Code** | `rtk init -g` | PreToolUse 钩子（Bash） |\n| **GitHub Copilot (VS Code)** | `rtk init -g --copilot` | PreToolUse 钩子（`rtk hook copilot`）— 透明重写 |\n| **GitHub Copilot CLI** | `rtk init -g --copilot` | PreToolUse 拒绝并提供建议（CLI 限制） |\n| **Cursor** | `rtk init -g --agent cursor` | preToolUse 钩子（hooks.json） |\n| **Gemini CLI** | `rtk init -g --gemini` | BeforeTool 钩子（`rtk hook gemini`） |\n| **Codex** | `rtk init -g --codex` | AGENTS.md + RTK.md 指导 |\n| **Windsurf** | `rtk init --agent windsurf` | .windsurfrules（项目范围） |\n| **Cline \u002F Roo Code** | `rtk init --agent cline` | .clinerules（项目范围） |\n| **OpenCode** | `rtk init -g --opencode` | TS 插件（tool.execute.before） |\n| **OpenClaw** | `openclaw plugins install .\u002Fopenclaw` | TS 插件（before_tool_call） |\n| **Mistral Vibe** | 计划中（#800） | 受限于上游 BeforeToolCallback |\n\n### Claude Code（默认）\n\n```bash\nrtk init -g                 # 安装钩子 + RTK.md\nrtk init -g --auto-patch    # 非交互式（CI\u002FCD）\nrtk init --show             # 验证安装\nrtk init -g --uninstall     # 卸载\n```\n\n### GitHub Copilot（VS Code + CLI）\n\n```bash\nrtk init -g --copilot         # 安装钩子 + 指南\n```\n\n会创建 `.github\u002Fhooks\u002Frtk-rewrite.json`（PreToolUse 钩子）和 `.github\u002Fcopilot-instructions.md`（提示级别意识）。钩子（`rtk hook copilot`）会自动检测格式：\n- **VS Code Copilot Chat**：通过 `updatedInput` 透明重写（与 Claude Code 相同）\n- **Copilot CLI**：拒绝并提供建议（CLI 尚不支持 `updatedInput` — 参见 [copilot-cli#2013](https:\u002F\u002Fgithub.com\u002Fgithub\u002Fcopilot-cli\u002Fissues\u002F2013)）\n\n### Cursor\n\n```bash\nrtk init -g --agent cursor\n```\n\n会创建 `~\u002F.cursor\u002Fhooks\u002Frtk-rewrite.sh` 并修改 `~\u002F.cursor\u002Fhooks.json` 中的 preToolUse 匹配器。适用于 Cursor 编辑器和 `cursor-agent` CLI。\n\n### Gemini CLI\n\n```bash\nrtk init -g --gemini\nrtk init -g --gemini --uninstall\n```\n\n创建 `~\u002F.gemini\u002Fhooks\u002Frtk-hook-gemini.sh` 并通过 BeforeTool 钩子修补 `~\u002F.gemini\u002Fsettings.json`。\n\n### Codex (OpenAI)\n\n```bash\nrtk init -g --codex\n```\n\n创建包含 `@RTK.md` 引用的 `~\u002F.codex\u002FRTK.md` 和 `~\u002F.codex\u002FAGENTS.md`。Codex 会将这些文件作为全局指令读取。\n\n### Windsurf\n\n```bash\nrtk init --agent windsurf\n```\n\n在当前项目中创建 `.windsurfrules` 文件。Cascade 会读取这些规则，并在命令前加上 `rtk` 前缀。\n\n### Cline \u002F Roo Code\n\n```bash\nrtk init --agent cline\n```\n\n在当前项目中创建 `.clinerules` 文件。Cline 会读取这些规则，并在命令前加上 `rtk` 前缀。\n\n### OpenCode\n\n```bash\nrtk init -g --opencode\n```\n\n创建 `~\u002F.config\u002Fopencode\u002Fplugins\u002Frtk.ts`。使用 `tool.execute.before` 钩子。\n\n### OpenClaw\n\n```bash\nopenclaw plugins install .\u002Fopenclaw\n```\n\n安装 `openclaw\u002F` 目录中的插件。该插件使用 `before_tool_call` 钩子，并委托给 `rtk rewrite`。\n\n### Mistral Vibe（计划中）\n\n受上游 BeforeToolCallback 支持的阻碍（[mistral-vibe#531](https:\u002F\u002Fgithub.com\u002Fmistralai\u002Fmistral-vibe\u002Fissues\u002F531)，[PR #533](https:\u002F\u002Fgithub.com\u002Fmistralai\u002Fmistral-vibe\u002Fpull\u002F533)）。已在 [#800](https:\u002F\u002Fgithub.com\u002Frtk-ai\u002Frtk\u002Fissues\u002F800) 中跟踪。\n\n### 已重写命令\n\n| 原始命令 | 重写后命令 |\n|-------------|-------------|\n| `git status\u002Fdiff\u002Flog\u002Fadd\u002Fcommit\u002Fpush\u002Fpull` | `rtk git ...` |\n| `gh pr\u002Fissue\u002Frun` | `rtk gh ...` |\n| `cargo test\u002Fbuild\u002Fclippy` | `rtk cargo ...` |\n| `cat\u002Fhead\u002Ftail \u003Cfile>` | `rtk read \u003Cfile>` |\n| `rg\u002Fgrep \u003Cpattern>` | `rtk grep \u003Cpattern>` |\n| `ls` | `rtk ls` |\n| `vitest\u002Fjest` | `rtk vitest run` |\n| `tsc` | `rtk tsc` |\n| `eslint\u002Fbiome` | `rtk lint` |\n| `prettier` | `rtk prettier` |\n| `playwright` | `rtk playwright` |\n| `prisma` | `rtk prisma` |\n| `ruff check\u002Fformat` | `rtk ruff ...` |\n| `pytest` | `rtk pytest` |\n| `pip list\u002Finstall` | `rtk pip ...` |\n| `go test\u002Fbuild\u002Fvet` | `rtk go ...` |\n| `golangci-lint` | `rtk golangci-lint` |\n| `rake test` \u002F `rails test` | `rtk rake test` |\n| `rspec` \u002F `bundle exec rspec` | `rtk rspec` |\n| `rubocop` \u002F `bundle exec rubocop` | `rtk rubocop` |\n| `bundle install\u002Fupdate` | `rtk bundle ...` |\n| `aws sts\u002Fec2\u002Flambda\u002F...` | `rtk aws ...` |\n| `docker ps\u002Fimages\u002Flogs` | `rtk docker ...` |\n| `kubectl get\u002Flogs` | `rtk kubectl ...` |\n| `curl` | `rtk curl` |\n| `pnpm list\u002Foutdated` | `rtk pnpm ...` |\n\n已经使用 `rtk` 的命令、heredoc（`\u003C\u003C`）以及无法识别的命令将保持不变。\n\n## 配置\n\n### 配置文件\n\n`~\u002F.config\u002Frtk\u002Fconfig.toml`（macOS：`~\u002FLibrary\u002FApplication Support\u002Frtk\u002Fconfig.toml`）：\n\n```toml\n[tracking]\ndatabase_path = \"\u002Fpath\u002Fto\u002Fcustom.db\"  # 默认：~\u002F.local\u002Fshare\u002Frtk\u002Fhistory.db\n\n[hooks]\nexclude_commands = [\"curl\", \"playwright\"]  # 跳过对这些命令的重写\n\n[tee]\nenabled = true          # 失败时保存原始输出（默认：是）\nmode = \"failures\"       # \"failures\"、\"always\" 或 \"never\"\nmax_files = 20          # 循环限制\n```\n\n### Tee：完整输出恢复\n\n当命令失败时，RTK 会保存完整的未过滤输出，以便 LLM 可以在无需重新执行的情况下读取：\n\n```\nFAILED: 2\u002F15 tests\n[完整输出：~\u002F.local\u002Fshare\u002Frtk\u002Ftee\u002F1707753600_cargo_test.log]\n```\n\n### 卸载\n\n```bash\nrtk init -g --uninstall     # 移除钩子、RTK.md 和 settings.json 条目\ncargo uninstall rtk          # 移除二进制文件\nbrew uninstall rtk           # 如果通过 Homebrew 安装\n```\n\n## 文档\n\n- **[TROUBLESHOOTING.md](docs\u002FTROUBLESHOOTING.md)** - 解决常见问题\n- **[INSTALL.md](INSTALL.md)** - 详细安装指南\n- **[ARCHITECTURE.md](docs\u002Fcontributing\u002FARCHITECTURE.md)** - 技术架构\n- **[SECURITY.md](SECURITY.md)** - 安全策略和 PR 审核流程\n- **[AUDIT_GUIDE.md](docs\u002FAUDIT_GUIDE.md)** - 令牌节省分析指南\n\n## 隐私与遥测\n\nRTK 每天收集一次**匿名的汇总使用指标**，默认启用。这有助于优先安排开发工作。有关退出选项，请参见下文。\n\n**收集的内容：**\n- 设备哈希值（加盐的 SHA-256 — 每个用户本地存储的随机盐，不可逆）\n- RTK 版本、操作系统、架构\n- 命令数量（过去 24 小时）及常用命令名称（如“git”、“cargo”——不包含参数或文件路径）\n- 令牌节省百分比\n\n**不会收集的内容：** 源代码、文件路径、命令参数、密钥、环境变量或任何个人身份信息。\n\n**退出方式**（任选其一）：\n```bash\n# 环境变量\nexport RTK_TELEMETRY_DISABLED=1\n\n# 或在配置文件中（~\u002F.config\u002Frtk\u002Fconfig.toml）\n[telemetry]\nenabled = false\n```\n\n## 贡献\n\n欢迎贡献！请在 [GitHub](https:\u002F\u002Fgithub.com\u002Frtk-ai\u002Frtk) 上提交问题或拉取请求。\n\n加入我们的社区，访问 [Discord](https:\u002F\u002Fdiscord.gg\u002FRySmvNF5kF)。\n\n## 许可证\n\nMIT 许可证——详情请参阅 [LICENSE](LICENSE)。\n\n## 免责声明\n\n请参阅 [DISCLAIMER.md](DISCLAIMER.md)。","# RTK 快速上手指南\n\nRTK (Rust Token Killer) 是一款高性能 CLI 代理工具，专为 AI 编程助手（如 Claude Code、Copilot 等）设计。它能在命令执行前自动过滤和压缩输出内容，将 LLM 的 Token 消耗降低 **60-90%**，同时保持上下文的相关性。\n\n## 环境准备\n\n*   **操作系统**：macOS, Linux, Windows\n*   **前置依赖**：\n    *   无特殊依赖，RTK 为单文件二进制程序。\n    *   若使用 `cargo` 安装，需预先安装 Rust 工具链。\n    *   目标用户：主要配合 **Claude Code**、**GitHub Copilot**、**Cursor** 等 AI 终端工具使用。\n\n## 安装步骤\n\n推荐优先使用国内可访问的安装方式。如果官方源连接缓慢，建议使用 `cargo` 源码安装或手动下载二进制文件。\n\n### 方式一：Homebrew (macOS\u002FLinux 推荐)\n```bash\nbrew install rtk\n```\n\n### 方式二：一键脚本安装 (Linux\u002FmacOS)\n```bash\ncurl -fsSL https:\u002F\u002Fraw.githubusercontent.com\u002Frtk-ai\u002Frtk\u002Frefs\u002Fheads\u002Fmaster\u002Finstall.sh | sh\n```\n*安装后若提示命令未找到，请将 `~\u002F.local\u002Fbin` 加入环境变量：*\n```bash\necho 'export PATH=\"$HOME\u002F.local\u002Fbin:$PATH\"' >> ~\u002F.bashrc  # 或 ~\u002F.zshrc\nsource ~\u002F.bashrc\n```\n\n### 方式三：Cargo 源码安装 (通用\u002F网络不佳时推荐)\n```bash\ncargo install --git https:\u002F\u002Fgithub.com\u002Frtk-ai\u002Frtk\n```\n> **注意**：Crates.io 上存在同名项目 \"Rust Type Kit\"。务必使用 `--git` 参数安装本项目，否则 `rtk gain` 等命令将无法运行。\n\n### 方式四：手动下载二进制\n访问 [Releases 页面](https:\u002F\u002Fgithub.com\u002Frtk-ai\u002Frtk\u002Freleases) 下载对应系统的压缩包，解压后将二进制文件移至 `$PATH` 目录即可。\n\n### 验证安装\n```bash\nrtk --version   # 应显示版本号，如 \"rtk 0.28.2\"\nrtk gain        # 应显示 Token 节省统计信息\n```\n\n## 基本使用\n\nRTK 的核心功能是**自动重写钩子 (Auto-Rewrite Hook)**。启用后，你在终端输入的标准命令（如 `git status`）会被透明地转换为优化后的 `rtk git status`，AI 模型看到的是经过压缩的精简输出，而你无需改变操作习惯。\n\n### 1. 初始化配置\n根据你的 AI 工具运行初始化命令（默认支持 Claude Code）：\n\n```bash\n# 全局安装钩子 (推荐，适用于 Claude Code \u002F Copilot)\nrtk init -g\n\n# 针对特定工具\nrtk init -g --gemini            # Gemini CLI\nrtk init -g --codex             # Codex (OpenAI)\nrtk init --agent cursor         # Cursor\nrtk init --agent windsurf       # Windsurf\nrtk init --agent cline          # Cline \u002F Roo Code\n```\n\n### 2. 重启 AI 工具\n配置完成后，**必须重启**你的 AI 编程工具（如退出并重新进入 Claude Code 会话），钩子才会生效。\n\n### 3. 测试效果\n在 AI 对话中直接执行常规命令，观察输出变化：\n\n```bash\ngit status\n```\n*   **未经优化**：输出完整的文件列表和状态详情（约 2,000 Tokens）。\n*   **RTK 优化后**：输出精简的状态摘要（约 200 Tokens），AI 仍能准确理解文件变更情况。\n\n### 4. 常用优化命令示例\n除了自动钩子，你也可以直接在终端调用 `rtk` 命令来获取压缩输出：\n\n```bash\n# 文件操作\nrtk ls .                        # 优化的目录树\nrtk read file.rs                # 智能读取代码（去除冗余）\nrtk grep \"pattern\" .            # 分组显示的搜索结果\n\n# Git 操作\nrtk git log -n 10               # 单行提交记录\nrtk git diff                    # 浓缩的差异对比\n\n# 测试与构建 (仅显示错误\u002F失败信息)\nrtk test cargo test             # 仅展示失败的测试用例 (-90% Token)\nrtk err npm run build           # 仅展示构建错误和警告\n```\n\n### 5. 查看节省统计\n随时运行以下命令查看 Token 节省情况和历史数据：\n\n```bash\nrtk gain                        # 查看总体节省统计\nrtk gain --graph                # 查看近 30 天的节省趋势图\n```","一位全栈开发者正在使用 Claude Code 协助重构一个包含微服务和复杂依赖的大型 TypeScript 项目，需要频繁查看文件结构、代码内容及测试反馈。\n\n### 没有 rtk 时\n- **Token 消耗惊人**：每次执行 `ls -R` 或 `cat` 查看多个文件时，大量无关的目录树和空白行被完整发送给 LLM，导致单次对话迅速耗尽上下文额度。\n- **关键信息被淹没**：在运行 `pytest` 或 `cargo test` 后，冗长的标准输出日志中夹杂着大量\"passed\"信息，使得真正的报错堆栈难以被 AI 快速定位。\n- **响应速度变慢**：由于输入上下文过长，LLM 处理请求的延迟显著增加，开发者不得不等待更久才能收到代码建议。\n- **成本不可控**：在一次典型的 30 分钟调试会话中，仅基础命令就可能产生超过 10 万 token 的消耗，造成不必要的 API 账单激增。\n\n### 使用 rtk 后\n- **智能压缩输出**：rtk 自动过滤掉 `ls` 和 `tree` 中的冗余路径，仅保留关键文件结构，将相关命令的 token 占用减少约 80%。\n- **错误高亮聚焦**：运行测试命令时，rtk 自动剔除成功的测试用例日志，只将失败的断言和堆栈轨迹传递给 LLM，让 AI 瞬间锁定问题根源。\n- **极致低延迟**：作为单二进制 Rust 代理，rtk 引入的开销小于 10 毫秒，确保命令执行到 AI 响应的流程丝滑流畅。\n- **大幅降低成本**：同样的重构任务，token 总消耗从约 11.8 万降至 2.4 万，直接节省了近 80% 的调用成本。\n\nrtk 通过精准过滤和压缩命令行输出，在不改变开发者习惯的前提下，让 AI 编程更省钱、更快且更专注核心问题。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Frtk-ai_rtk_ec9aab51.jpg","rtk-ai","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Frtk-ai_ec9aab51.jpg","rtk tools to optimise your vibecoding",null,"contact@rtk-ai.app","https:\u002F\u002Fwww.rtk-ai.app","https:\u002F\u002Fgithub.com\u002Frtk-ai",[80,84,88,92],{"name":81,"color":82,"percentage":83},"Rust","#dea584",93.1,{"name":85,"color":86,"percentage":87},"Shell","#89e051",6.6,{"name":89,"color":90,"percentage":91},"TypeScript","#3178c6",0.2,{"name":93,"color":94,"percentage":95},"Ruby","#701516",0.1,19845,1106,"2026-04-08T03:46:42","Apache-2.0",1,"Linux, macOS, Windows","不需要 GPU","未说明",{"notes":105,"python":106,"dependencies":107},"该工具是一个高性能的 CLI 代理，用于在命令输出到达 LLM 上下文之前进行过滤和压缩。支持通过 Homebrew、curl 脚本、Cargo 或预编译二进制文件安装。需注意 crates.io 上存在同名项目 'Rust Type Kit'，若 'rtk gain' 命令失败，请通过 '--git' 参数安装。主要功能是通过 Bash hook 自动重写命令（如 git status -> rtk git status），但不适用于 AI 工具内置的文件读取或搜索功能。","不需要 Python (基于 Rust 的二进制文件)",[108],"无主要外部依赖 (单一 Rust 二进制文件)",[52,35,14,13],[111,112,113,114,115,116,117,118,119,120,121,122,123],"agentic-coding","ai-coding","anthropic","claude-code","cli","command-line-tool","cost-reduction","developer-tools","llm","open-source","productivity","rust","token-optimization","2026-03-27T02:49:30.150509","2026-04-08T21:09:25.167131",[127,132,137,142],{"id":128,"question_zh":129,"answer_zh":130,"source_url":131},24748,"如何为 RTK 开源项目签署贡献者许可协议（CLA）？","只需在该 Issue 下评论确切的短语：\"I have read the CLA Document and I hereby sign the CLA\"。一条评论即代表签署完成。这是参与贡献（特别是涉及商业版功能如 RTK Pro\u002FCloud）的标准流程。","https:\u002F\u002Fgithub.com\u002Frtk-ai\u002Frtk\u002Fissues\u002F755",{"id":133,"question_zh":134,"answer_zh":135,"source_url":136},24749,"rtk proxy 命令在执行长时间运行的任务时没有实时输出流，而是最后一次性显示，如何解决？","该问题已在版本 0.27.2 中修复。如果您仍在使用旧版本（如 0.22.0），请升级到最新版本（建议 0.34.2 或更高）。升级后，长运行命令（如包含 sleep 的循环）的输出将能够逐步流式传输，不再出现长时间的静默等待。","https:\u002F\u002Fgithub.com\u002Frtk-ai\u002Frtk\u002Fissues\u002F222",{"id":138,"question_zh":139,"answer_zh":140,"source_url":141},24750,"为什么直接使用 rtk git -C \u003Cpath> ... 会报错，而原生 git 可以？","在 v0.30.0 之前的版本中，rtk git 不支持直接解析 -C 参数。解决方法有两种：\n1. **推荐**：将 RTK 升级到 v0.30.0 或更高版本，现已原生支持 `rtk git -C \u003Cpath> ...`。\n2. **临时方案**：在旧版本中使用分隔符形式：`rtk git -- -C \u003Cpath> status`。","https:\u002F\u002Fgithub.com\u002Frtk-ai\u002Frtk\u002Fissues\u002F163",{"id":143,"question_zh":144,"answer_zh":145,"source_url":146},24751,"启用 RTK Hook 后，为什么 Claude Code 的成本反而增加了？","这是因为 RTK 本质上是一个压缩代理。当处理的内容本身熵值较低（例如文件已经很简短或密集）时，压缩带来的输入 Token 节省微乎其微，但格式转换的开销以及 AI 为了解释压缩格式而产生的额外输出 Token 会导致总成本上升（实测可能增加约 18%）。RTK 的优势主要体现在处理大型、重复性高、人类可读性强的输出（如测试日志、构建输出、git 历史）场景中，此时能显著降低成本。","https:\u002F\u002Fgithub.com\u002Frtk-ai\u002Frtk\u002Fissues\u002F582",[148,152,157,161,165,169,173,177,181,185,189,193,197,201,206,210,214,218,222,226],{"id":149,"version":150,"summary_zh":75,"released_at":151},154236,"dev-0.35.1-rc.114","2026-04-06T14:44:37",{"id":153,"version":154,"summary_zh":155,"released_at":156},154237,"v0.35.0","## [0.35.0](https:\u002F\u002Fgithub.com\u002Frtk-ai\u002Frtk\u002Fcompare\u002Fv0.34.3...v0.35.0) (2026-04-06)\n\n\n### 功能特性\n\n* **aws:** 将 CLI 过滤器从 8 个子命令扩展到 25 个子命令 ([402c48e](https:\u002F\u002Fgithub.com\u002Frtk-ai\u002Frtk\u002Fcommit\u002F402c48e66988e638a5b4f4dd193238fc1d0fe18f))\n\n\n### 错误修复\n\n以下是去重后的列表，每个条目保留一个实例：\n\n* **cmd:** 支持读取和合并多个文件，并保持一致的行为 ([3f58018](https:\u002F\u002Fgithub.com\u002Frtk-ai\u002Frtk\u002Fcommit\u002F3f58018f4af1d7206457929cf80bb4534203c3ee))\n* **docs:** 清理部分文档并添加免责声明 ([deda44f](https:\u002F\u002Fgithub.com\u002Frtk-ai\u002Frtk\u002Fcommit\u002Fdeda44f73607981f3d27ecc6341ce927aab34d37))\n* **gh:** 传递 gh pr merge 请求，而非使用预设回复 ([#938](https:\u002F\u002Fgithub.com\u002Frtk-ai\u002Frtk\u002Fissues\u002F938)) ([8465ca9](https:\u002F\u002Fgithub.com\u002Frtk-ai\u002Frtk\u002Fcommit\u002F8465ca953fa9d70dcc971a941c19465d456eb7d4))\n* **git:** 在 commit 和 push 操作中继承 stdin，以保留 SSH 签名功能 ([#733](https:\u002F\u002Fgithub.com\u002Frtk-ai\u002Frtk\u002Fissues\u002F733)) ([eefeae4](https:\u002F\u002Fgithub.com\u002Frtk-ai\u002Frtk\u002Fcommit\u002Feefeae45656ff2607c3f519c8eae235e3f0fe411))\n* **git:** 保留完整的 diff 块头信息 ([62f4452](https:\u002F\u002Fgithub.com\u002Frtk-ai\u002Frtk\u002Fcommit\u002F62f445227679f3df293fe35e9b18cc5ab39d7963))\n* **go:** 避免因下载日志导致的虚假构建错误 ([9c1cf2f](https:\u002F\u002Fgithub.com\u002Frtk-ai\u002Frtk\u002Fcommit\u002F9c1cf2f403534fa7874638b1b983c2d7f918a185))\n* **go:** 覆盖更多类型的构建失败场景 ([2425ad6](https:\u002F\u002Fgithub.com\u002Frtk-ai\u002Frtk\u002Fcommit\u002F2425ad68e5386d19e5ec9ff1ca151a6d2c9a56d3))\n* **go:** 保留失败测试的位置上下文 ([1481bc5](https:\u002F\u002Fgithub.com\u002Frtk-ai\u002Frtk\u002Fcommit\u002F1481bc590924031456a6022510275c29c09e330e))\n* **go:** 恢复对构建错误的覆盖范围 ([1177c9c](https:\u002F\u002Fgithub.com\u002Frtk-ai\u002Frtk\u002Fcommit\u002F1177c9c873ac63b6c0bcc9e1b664a705baa0ad7a))\n* **grep:** 关闭子进程的 stdin，以防止内存泄漏 ([#897](https:\u002F\u002Fgithub.com\u002Frtk-ai\u002Frtk\u002Fissues\u002F897)) ([7217562](https:\u002F\u002Fgithub.com\u002Frtk-ai\u002Frtk\u002Fcommit\u002F72175623551f40b581b4a7f6ed966c1e4a9c7358))\n* **hook_check:** 检测缺失的集成 ([9cf9ccc](https:\u002F\u002Fgithub.com\u002Frtk-ai\u002Frtk\u002Fcommit\u002F9cf9ccc1ac39f8bba37e932c7d318a3aa7a34ae9))\n* **init:** 从遥测消息中移除选择退出说明 ([7571c8e](https:\u002F\u002Fgithub.com\u002Frtk-ai\u002Frtk\u002Fcommit\u002F7571c8e101c41ee64c51e2bd64697f85f9142423))\n* **init:** 从初始化输出中移除遥测信息行 ([7dbef2c](https:\u002F\u002Fgithub.com\u002Frtk-ai\u002Frtk\u002Fcommit\u002F7dbef2ce00824d26f2057e4c3c76e429e2e23088))\n* **main:** 终止僵尸进程，并修复 rtk md 的路径问题 ([d16fc6d](https:\u002F\u002Fgithub.com\u002Frtk-ai\u002Frtk\u002Fcommit\u002Fd16fc6dacbfec912c21522939b15b7bbd9719487))\n* **main:** 终止僵尸进程、修复 rtk md 路径问题以及处理缺失的集成 ([a919335](https:\u002F\u002Fgithub.com\u002Frtk-ai\u002Frtk\u002Fcommit\u002Fa919335519ed4a5259a212e56407cb312aa99bac))\n* **merge:** 变更日志冲突 ([d92c5d2](https:\u002F\u002Fgithub.com\u002Frtk-ai\u002Frtk\u002Fcommit\u002Fd92c5d264a49483c8d6079e04d946a79bc990a74))\n* **proxy:** 在接收到 SIGINT\u002FSIGTERM 信号时终止子进程，以防止出现孤儿进程 ([d813919](https:\u002F\u002Fgithub.com\u002Frtk-ai\u002Frtk\u002Fcommit\u002Fd813919a24546e044e7844fc7ed05fef4ec24033))\n* **review:** 处理 ChildGuard 解除、stdin 去重等问题，以及 hoo","2026-04-06T11:54:02",{"id":158,"version":159,"summary_zh":75,"released_at":160},154238,"dev-0.35.0-rc.111","2026-04-06T10:48:49",{"id":162,"version":163,"summary_zh":75,"released_at":164},154239,"dev-0.35.0-rc.110","2026-04-06T08:01:44",{"id":166,"version":167,"summary_zh":75,"released_at":168},154240,"dev-0.35.0-rc.109","2026-04-04T10:09:29",{"id":170,"version":171,"summary_zh":75,"released_at":172},154241,"dev-0.35.0-rc.108","2026-04-03T14:10:24",{"id":174,"version":175,"summary_zh":75,"released_at":176},154242,"dev-0.35.0-rc.107","2026-04-03T13:40:15",{"id":178,"version":179,"summary_zh":75,"released_at":180},154243,"dev-0.35.0-rc.106","2026-04-03T13:19:43",{"id":182,"version":183,"summary_zh":75,"released_at":184},154244,"dev-0.35.0-rc.105","2026-04-03T12:52:26",{"id":186,"version":187,"summary_zh":75,"released_at":188},154245,"dev-0.35.0-rc.103","2026-04-03T09:38:50",{"id":190,"version":191,"summary_zh":75,"released_at":192},154246,"dev-0.35.0-rc.102","2026-04-03T07:08:58",{"id":194,"version":195,"summary_zh":75,"released_at":196},154247,"dev-0.35.0-rc.101","2026-04-02T19:14:44",{"id":198,"version":199,"summary_zh":75,"released_at":200},154248,"dev-0.35.0-rc.100","2026-04-02T17:29:15",{"id":202,"version":203,"summary_zh":204,"released_at":205},154249,"v0.34.3","## [0.34.3](https:\u002F\u002Fgithub.com\u002Frtk-ai\u002Frtk\u002Fcompare\u002Fv0.34.2...v0.34.3) (2026-04-02)\n\n\n### 错误修复\n\n* **automod:** 添加命令的自动发现功能 ([234909d](https:\u002F\u002Fgithub.com\u002Frtk-ai\u002Frtk\u002Fcommit\u002F234909d2c754ade2fdc939b0a1435a8e34ffc305))\n* **ci:** 修复 validate-docs.sh 中损坏的模块数量检查 ([bbe3da6](https:\u002F\u002Fgithub.com\u002Frtk-ai\u002Frtk\u002Fcommit\u002Fbbe3da642b5fc4b065b13a65647ea0ebf5264e65))\n* **cleaning:** 提取常量 ([aabc016](https:\u002F\u002Fgithub.com\u002Frtk-ai\u002Frtk\u002Fcommit\u002Faabc0167bc013fd2d0c61a687580f6e69305500a))\n* **cmds:** 将剩余的 exit_code 迁移到 exit_code_from_output ([ba9fa34](https:\u002F\u002Fgithub.com\u002Frtk-ai\u002Frtk\u002Fcommit\u002Fba9fa345f3d1d14bd0af236ec9aa8a9a0e5581d6))\n* **cmds:** 对 run_filtered 的更多覆盖测试 ([e48485a](https:\u002F\u002Fgithub.com\u002Frtk-ai\u002Frtk\u002Fcommit\u002Fe48485adc6a33d12b70664598020595cf7dfcd7e))\n* **docs:** 添加文档 ([2f7278a](https:\u002F\u002Fgithub.com\u002Frtk-ai\u002Frtk\u002Fcommit\u002F2f7278ac5992bf2e84b763fb05642d89900ba495))\n* **docs:** 添加维护者文档 ([14265b4](https:\u002F\u002Fgithub.com\u002Frtk-ai\u002Frtk\u002Fcommit\u002F14265b48c3a15e459a31da11250a51ab5830a508))\n* **refacto-p1:** 统一命令执行流程（并移除无用代码） ([75bd607](https:\u002F\u002Fgithub.com\u002Frtk-ai\u002Frtk\u002Fcommit\u002F75bd607d55235f313855f5fe8c9eceafd73700a7))\n* **refacto-p2:** 进一步标准化 ([47a76ea](https:\u002F\u002Fgithub.com\u002Frtk-ai\u002Frtk\u002Fcommit\u002F47a76ea35ed2fe02a3600792163f727fa3a94ff2))\n* **refacto-p2:** 进一步标准化 ([92c671a](https:\u002F\u002Fgithub.com\u002Frtk-ai\u002Frtk\u002Fcommit\u002F92c671a175a5e2bf09720fd1a8591140bcb473a0))\n* **refacto:** 为标准化创建包装器，处理退出码的词法分析和语法分析、常量提取以及代码清理 ([bff0258](https:\u002F\u002Fgithub.com\u002Frtk-ai\u002Frtk\u002Fcommit\u002Fbff02584243f1b73418418b0c05365acf56fbb36))\n* **registry:** 环境变量前缀加引号、内联正则表达式清理以及路由文档更新 ([f3217a4](https:\u002F\u002Fgithub.com\u002Frtk-ai\u002Frtk\u002Fcommit\u002Ff3217a467b543a3181605b257162f2b3ab5d5df0))\n* **review:** 处理 PR [#910](https:\u002F\u002Fgithub.com\u002Frtk-ai\u002Frtk\u002Fissues\u002F910) 的评审反馈 ([0a8b8fd](https:\u002F\u002Fgithub.com\u002Frtk-ai\u002Frtk\u002Fcommit\u002F0a8b8fd0693fa504f376146cbbcafe9ddf4632c8))\n* **review:** PR [#934](https:\u002F\u002Fgithub.com\u002Frtk-ai\u002Frtk\u002Fissues\u002F934) ([5bd35a3](https:\u002F\u002Fgithub.com\u002Frtk-ai\u002Frtk\u002Fcommit\u002F5bd35a33ad6abe5278749726bed19912664531c2))\n* **review:** PR [#934](https:\u002F\u002Fgithub.com\u002Frtk-ai\u002Frtk\u002Fissues\u002F934) ([bae7930](https:\u002F\u002Fgithub.com\u002Frtk-ai\u002Frtk\u002Fcommit\u002Fbae79301194bbb48d1cbb39554096c3225f7cb73))\n* **rules:** 添加带有 pattern 字段的 wc RtkRule，以兼容开发需求 ([d75e864](https:\u002F\u002Fgithub.com\u002Frtk-ai\u002Frtk\u002Fcommit\u002Fd75e864f20451a5e17918c75f2ea32672f65e1f4))\n* **standardize:** git 和 kube 子包装器中的 run_filtered ([7fd221f](https:\u002F\u002Fgithub.com\u002Frtk-ai\u002Frtk\u002Fcommit\u002F7fd221f44660bcf411aa333d2c35a49ff89e7961))\n* **standardize:** 将 pattern 合并到 rules 中 ([08aabb9](https:\u002F\u002Fgithub.com\u002Frtk-ai\u002Frtk\u002Fcommit\u002F08aabb95c3ae6e0b734f696264e1e1a8c0f0b22e))","2026-04-02T09:12:46",{"id":207,"version":208,"summary_zh":75,"released_at":209},154250,"dev-0.34.3-rc.97","2026-03-31T18:52:00",{"id":211,"version":212,"summary_zh":75,"released_at":213},154251,"dev-0.34.3-rc.96","2026-03-31T10:08:46",{"id":215,"version":216,"summary_zh":75,"released_at":217},154252,"dev-0.34.3-rc.95","2026-03-31T09:43:24",{"id":219,"version":220,"summary_zh":75,"released_at":221},154253,"dev-0.34.3-rc.94","2026-03-30T18:02:32",{"id":223,"version":224,"summary_zh":75,"released_at":225},154254,"dev-0.34.3-rc.93","2026-03-30T17:43:49",{"id":227,"version":228,"summary_zh":75,"released_at":229},154255,"dev-0.34.3-rc.92","2026-03-30T16:49:50"]