核心用法
Context Builder 是一个 Rust 编写的 CLI 工具,用于将任意代码目录转换为 LLM 优化的结构化 Markdown 文档。核心工作流包括:
1. 完整上下文生成:context-builder -d /path -y -o context.md 生成包含文件树、按相关性排序的代码内容的综合文档
2. AST 签名模式:--signatures 提取函数/类签名而非完整代码,Token 消耗降低 80-90%
3. Token 预算控制:--max-tokens 与 --token-count 精确控制输出规模,适配不同模型上下文限制
4. 增量 Diff 支持:配置 auto_diff = true 后自动生成代码变更对比,支持 --diff-only 最小化更新
显著优点
- LLM 原生设计:文件按"配置→入口→源码→测试→构建脚本"的优先级排序,加速模型理解
- 深度语言支持:基于 Tree-sitter 的 AST 解析支持 Rust/TS/JS/Python/Go/Java/C/C++ 等 8 种语言
- 零配置智能默认:自动排除
node_modules、.git、__pycache__等 19+ 目录,尊重.gitignore,自排除输出文件防循环 - 安全沙箱机制:UTF-8 嗅探跳过二进制文件,路径作用域强制要求显式指定项目根目录
潜在局限
- 安装门槛:需 Rust 工具链,完整功能需编译时启用
--features tree-sitter-all - 非通用解析:签名提取仅支持 8 种语言,小众语言回退到纯文本模式
- Token 估算近似:基于字符数的启发式估算,与真实 Token 数存在 10-20% 偏差
- 无 IDE 集成:纯 CLI 工具,需手动集成到编辑器或 Agent 工作流
适合人群
- AI 辅助开发团队:需要定期将代码库投喂给 Claude/GPT 进行架构审查或 Bug 定位
- 技术负责人:快速生成项目快照用于新成员 onboarding 或外包代码审计
- 开源维护者:生成 API 表面文档供下游开发者参考
- Agent 构建者:作为 MCP/Function Calling 工具链的代码上下文供给端
常规风险
| 风险类型 | 说明 | 缓释措施 |
|---------|------|---------|
| 凭证泄露 | 源码中硬编码的 API Key/Secret 可能被一并提取 | 运行前审查 `.gitignore`,对敏感文件使用 `-i` 排除,输出前人工检查 |
| 路径遍历 | 误将家目录或系统路径作为输入 | 强制使用绝对路径,Agent 必须校验路径为明确的项目根目录 |
| 输出污染 | 生成文件写入共享/公开目录 | 约定输出至项目本地 `docs/` 或 `/tmp/`,避免 `/home`、`/var` 等位置 |
| Token 超限 | 大代码库超出模型上下文窗口 | 先用 `--token-count` 估算,必要时启用 `--signatures` 或切片处理 |
项目采用 MIT 许可证开源,crate 发布经 crates.io 签名验证,GitHub Releases 提供 SHA256 校验。