科学工具
科学工具让世界更美好
让世界更美好

AutoDocs 代码自动化文档与智能分析工具

AutoDocs 是一个强大的自动化文档生成工具,能深度遍历代码库、解析抽象语法树(AST)并构建代码依赖图,自动生成准确、高质量且具备依赖感知的仓库级文档和摘要。AutoDocs提供了一个 FastAPI 后端用于代码摄入与搜索,以及一个 Next.js Web UI 界面用于文档的聊天和探索,内置了一个 MCP 服务器,使编码代理能够通过 HTTP 对代码进行深度查询,以回答仓库范围内的相关问题。

1、借助 tree-sitter(AST 解析工具)和 SCIP(符号解析工具)解析代码仓库。

2、构建代码依赖关系图(涵盖文件、定义、调用、导入),并按拓扑结构对依赖顺序排序。

3、遍历依赖关系图,生成覆盖整个仓库且能识别依赖关系的文档和摘要。

4、提供 FastAPI 后端用于数据摄入与搜索,以及 Next.js 网页界面用于聊天交互和代码浏览。

5、内置 MCP 服务器,方便代理工具对代码仓库进行深度搜索查询。

安装AutoDocs前需要在你的设备上安装以下工具:

• pnpm 10+(建议搭配 Node 20+,使用 Corepack 也可行),参考pnpm 安装指南:pnpm.io/installation

• uv(快速 Python 包管理器),参考 uv 安装指南:docs.astral.sh/uv

• Docker + Docker Compose(用于本地运行所有服务),参考文档Docker 相关文档:docs.docker.com

GitHub 个人访问令牌(可选)

部分功能或脚本可能会调用 GitHub API(例如获取仓库元数据)。若遇到速率限制,或需要访问私有仓库,可创建个人访问令牌(PAT)并配置到环境中。

• 官方创建指南:docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token

• 创建细粒度 PAT(推荐):github.com/settings/personal-access-tokens/new

• 创建经典 PAT:github.com/settings/tokens/new

建议权限范围

• 仅公开仓库:使用细粒度令牌(选择指定仓库,设为只读),或经典令牌(勾选 public_repo)。

• 私有仓库:使用细粒度令牌(对所需仓库设为只读访问),或经典令牌(勾选 repo)。

配置方式

将令牌添加到 .env 文件(或 shell 环境)中:

GITHUB_TOKEN=ghp_your_token_here

快速启动(可直接复制粘贴命令)

1、环境配置

复制示例环境文件生成配置文件:

cp .env.example .env

2、配置说明

预配置项

• 数据库:DATABASE_URL 指向本地 PostgreSQL 数据库。在 Compose 环境中,数据库地址为 postgresql://postgres:postgres@db:5432/app

• 摄入 API:INGESTION_API_URL 供网页应用调用 FastAPI 服务。

• 分析存储:ANALYSIS_DB_DIR 控制生成的每个仓库 SQLite 文件的存储位置。

需手动配置项

• 摘要相关:SUMMARIES_API_KEYSUMMARIES_MODELSUMMARIES_BASE_URL(兼容 OpenAI 接口,默认使用 OpenRouter)。

• 嵌入相关:EMBEDDINGS_API_KEYEMBEDDINGS_MODELEMBEDDINGS_BASE_URL(兼容 OpenAI 接口,默认使用 OpenAI)。

• 速率限制:MAX_REQUESTS_PER_SECOND 用于 LLM 摘要批量处理(默认值为 15)。

3、安装网页依赖

cd webview
pnpm install

4、构建镜像(含依赖与镜像文件)

docker compose build

5、用 Docker Compose 本地运行

# 后台运行
docker compose up -d

# 查看运行日志(可选)
docker compose up

6、数据库迁移(本地运行一次,修改 PostgreSQL schema 后需再次运行)

cd packages/shared
DATABASE_URL=postgresql://postgres:postgres@localhost:5432/app pnpm drizzle-kit push --config drizzle.main.config.ts

完成以上步骤后,可访问以下服务:

• 网页界面:http://localhost:3000

• API 服务:http://localhost:8000(OpenAPI schema 可访问 /schema 查看)

MCP 服务器使用方法

MCP 服务器地址为 http://localhost:3000/api/mcp,专为编程代理和兼容 MCP 的客户端设计。它提供 codebase-qna 工具,可通过查询 AutoDocs 生成的分析数据库,回答仓库相关问题。

使用提示

1、将 MCP 客户端指向 http://localhost:3000/api/mcp

2、请求头中添加 x-repo-id,值为仓库 ID(可在网页界面中找到)。

3、热门工具(Claude、Cursor、Continue)的配置指南,可查看:docs.trysita.com