AutoDocs
基于 AST + 依赖图的智能代码文档生成工具,让 AI 编程助手真正读懂代码库结构与依赖关系
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
基于 AST + 依赖图的智能代码文档生成工具,让 AI 编程助手真正读懂代码库结构与依赖关系
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
凌晨两点,你正在开发一个新功能,需要快速理解三个月前同事写的支付模块。打开 Cursor 或 Claude,丢给它一段代码,问它"帮我看看这个模块的逻辑有没有问题"。AI 回复了一堆看似专业但完全不得要领的分析——它根本不知道这个模块依赖了什么、被谁调用、在整个系统里扮演什么角色。
这几乎是每个 AI 编程辅助工具的共同困境:AI 能看懂局部代码,但读不懂代码之间的关系。 函数签名、方法调用链、依赖图谱……这些"上下文"需要大量人工梳理,AI 助手拿到的往往是断章取义的碎片。
Sita 团队注意到了这个痛点。他们在 2025 年 9 月开源了一个叫 AutoDocs 的项目,核心理念很直接——让机器自动理解代码的结构和依赖关系,把文档和上下文信息喂给 AI 工具,从而让 Cursor、Claude、Continue 这些编程助手真正发挥威力。
AutoDocs 的技术架构分为三个层次,层层递进:
第一层:代码解析(AST)
项目使用 tree-sitter 对 TypeScript/JavaScript 和 Python 代码进行 AST(抽象语法树)解析。tree-sitter 是一个高性能的增量解析器,由 GitHub 开发维护,能够将源代码转换为可遍历的语法树。相比正则匹配,AST 解析能准确识别函数定义、类定义、import 语句、调用关系等结构化信息。
同时,项目还集成了 Sourcegraph 开发的 SCIP(Source Code Intelligence Protocol)标准,分别用 scip-typescript 和 scip-python 对代码进行符号解析,生成包含符号定义位置、引用关系的高质量索引。
第二层:依赖图构建
在 AST 解析的基础上,AutoDocs 构建了一个完整的代码依赖图:
然后对这个依赖图进行拓扑排序(Topological Sort),确定代码的执行顺序和依赖层级。这个图结构是后续生成"依赖感知文档"的核心数据基础。
第三层:图遍历生成文档
有了依赖图,AutoDocs 按照图的拓扑顺序遍历,生成每个模块的文档摘要。生成过程通过 LLM API(支持 OpenAI、OpenRouter 等 OpenAI 兼容接口)完成,LLM 在生成摘要时会获得该模块的完整依赖上下文——包括它依赖哪些模块、以及哪些模块依赖它。这种"依赖感知"的文档生成方式,远比孤立地对每个文件单独总结更有价值。
AutoDocs 采用典型的全栈分离架构:
后端(Python FastAPI):负责代码解析、依赖图构建、向量嵌入存储和搜索服务。核心依赖包括:
fastapi + uvicorn:高性能异步 Web 框架tree-sitter + tree-sitter-python / tree-sitter-javascript:多语言 AST 解析openai + httpx:LLM 接口调用psycopg2 + sqlalchemy:PostgreSQL 数据库操作前端(Next.js + Turborepo Monorepo):提供 Web UI 进行仓库管理和交互式探索。采用 Turborepo 管理 monorepo 结构,包含 apps/webapp 和 packages/shared 两个子包,前者负责 Next.js 应用,后者提供共享的 TypeScript 工具库。
容器化:项目提供完整的 docker-compose.yml,定义了三服务架构:
db:PostgreSQL 16(优化了 shared_buffers、work_mem 等参数)api:FastAPI 后端(多阶段 Dockerfile,uv 管理 Python 依赖)web:Next.js 前端(多阶段 Dockerfile,pnpm + Turbo 构建)一键部署只需 docker compose up -d,约 15 分钟可完成初始化。
AutoDocs 最有差异化的功能是内置的 MCP(Model Context Protocol)Server。MCP 是 Anthropic 主导的 AI 工具上下文协议标准,AutoDocs 暴露了一个 codebase-qna 工具,AI 编程助手可以通过 MCP 协议调用它,传入自然语言问题,AutoDocs 会结合依赖图上下文给出精准回答。
这个设计将 AutoDocs 定位于"AI 编程工具的增强层"而非独立的 IDE 替代品,定位非常清晰。
项目 README 坦诚列出了当前版本的局限性:
项目于 2025 年 9 月开源,不到一年内获得了 198 stars,2026 年 7 月仍有活跃更新。从技术趋势看,"给 AI 编程工具提供代码上下文"是 2025-2026 年非常明确的方向。AutoDocs 的开源实现提供了一个可自托管、可定制的解决方案,对有数据隐私要求的企业和希望深度定制的团队有独特价值。

图1:AutoDocs 项目 Banner(来源:TrySita/AutoDocs 官方仓库)
# 1. 克隆并配置环境
git clone https://github.com/TrySita/AutoDocs.git
cd AutoDocs
cp .env.example .env
# 编辑 .env,填入 SUMMARIES_API_KEY 等
# 2. 一键启动
docker compose up -d
# 3. 访问
# Web UI: http://localhost:3000
# API: http://localhost:8000
# MCP Server: http://localhost:3000/api/mcp
前置依赖:pnpm 10+、uv、 Docker + Docker Compose、Git。