你是否在用 Claude Code, Cursor 或者 Copilot 时,发现它们为了找一个函数定义,居然要把整个 1000 行的文件都读一遍?这不仅消耗大量的 token,还慢得要命!
我用 Rust 写了 ast-outline 🦀 它是一个专门为 LLM Agent 打造的“代码结构提取神器”。
什么是 ast-outline?
它利用底层强大的 ast-grep 和 tree-sitter,在毫秒级内解析你的代码,只提取类的结构、方法签名、文档注释和精确的行号,把所有的“方法体实现”全部丢掉。
🔥 效果:原本需要 1000 行 tokens 的文件,现在只要 100 行!
为大模型省下 5-10倍 的 token 开销,阅读速度直接起飞。
为什么用 ast-outline?
- 零依赖!一个单独的二进制文件。
- 快到离谱!用 rayon 多线程并发解析整个工程。
- 自动带有高颜值终端高亮输出(给人类看),而传给大模型时自动变成纯文本!
支持哪些语言?
自带 9 大语言家族的完美支持:
- 🦀 Rust (.rs)
- 🐍 Python (.py)
- 🌐 TypeScript / JS (.ts, .js, .tsx)
- 🎯 C# (.cs)
- 🐹 Go (.go)
- ☕ Java (.java)
- 📱 Kotlin (.kt)
- 🛡️ Scala (.scala)
- 📝 Markdown (.md)
怎么安装?
- Homebrew (macOS): brew install aeroxy/ast-outline/ast-outline
- Cargo: cargo install ast-outline
怎么用?
如果你在用 Claude Code 或是自定义的命令行 Agent,直接运行:
ast-outline prompt >> AGENTS.md
大模型就会自动学会先用 ast-outline 扫描你的代码结构,再去精确阅读特定的行号了!
快去 GitHub 体验一下:[aeroxy/ast-outline]
