RepoLens – 一个用Go编写的交互式本地代码库打包与令牌优化工具(TUI/CLI)

Reddit r/openclaw 工具

摘要

RepoLens 是一个零依赖的 Go 工具,可将本地代码库打包成单个文件供 LLM 使用,具备交互式 TUI 文件浏览器、实时令牌计数、注释剥离和秘密扫描等功能。

我想分享一个我刚刚开源的叫做 **RepoLens** 的工具。虽然已有 Repomix (Node.js) 或 code2prompt (Rust) 等工具可将代码库打包成单个文件供 LLM 使用,但我发现它们要么需要繁琐的运行时环境,要么缺乏在终端中直观选择文件的便捷方式。RepoLens 解决了这些问题。它是一个零依赖的、编译好的 Go 工具,完全在本地运行。它采用基于 Elm 架构的 TUI(构建在 Charm 的 Bubble Tea 之上),并具备多种智能上下文优化机制。 ### 为什么使用 RepoLens? **交互式文件浏览器 (TUI)**:使用空格键递归选择文件和文件夹。可视化展开/折叠嵌套文件夹。 **实时 Tiktoken 计数器**:动态进度条实时估算上下文限制消耗(GPT-4o 编码),随着文件选择而更新。 **智能注释剥离**:自动移除 Go、Python、TS、JS、Shell 和 HTML/CSS 的注释/文档字符串,同时保留可执行 shebang(`#!/bin/bash`)。 * *基准测试*:对于 `spf13/cobra` 仓库,压缩后提示大小从 **621 KB 减少到 518 KB(节省了 17.2% 的令牌)**。 **基于令牌的文件拆分**:如果代码库超过令牌阈值(例如 `--max-tokens 50000`),RepoLens 会将输出拆分为多个连续部分,并自动在每个部分前添加目录树图。 **本地秘密扫描器**:标记潜在的 AWS 密钥、OpenAI 密钥、Slack Webhook 和通用密码。在 TUI 模式下,文件旁边会闪烁黄色 `⚠️ [SECRET!]` 警告。 **健壮的 XML 格式**:安全地将代码负载包裹在 `<![CDATA[ ... ]]>` 块内,并转义嵌套括号,防止提示格式崩溃。 ### 快速开始 通过 Go 安装:`go install github.com/catball912/repolens@latest` 或者直接使用 CLI 模式运行:`repolens -n -d . -i "*_test.go,*.log" -o output.md` GitHub 仓库:https://github.com/catball912/repolens
查看原文

相似文章

SecureLens - 一个自托管的AppSec代理和CLI扫描器

Reddit r/AI_Agents

SecureLens 是一个开源的、自托管的安全审计工具,它利用基于LLM的异步管道来对代码库进行分类并对网络基础设施进行探测,并提供交互式REPL用于后续提问和补丁生成。