sopaco/deepwiki-rs
GitHub: sopaco/deepwiki-rs
Litho 是一个高性能的 AI 文档生成引擎,能自动分析代码库并生成基于 C4 模型的专业架构文档,让技术文档始终与代码保持同步。
Stars: 1360 | Forks: 153
Litho (deepwiki-rs)
English
|
中文
💪🏻 使用 Rust 构建的高性能 AI 驱动智能文档生成器(类似 DeepWiki)
📚 自动为任何代码库生成高质量的 Repo-Wiki
# 👋 什么是 Litho
**Litho** 是一个 AI 驱动的文档生成引擎,可以自动分析您的源代码并生成 C4 模型格式的全面、专业的架构文档。无需再为跟不上代码变更的手动文档烦恼——Litho 让您的文档与代码库保持完美同步。
Litho 将原始代码转化为结构优美的文档,包含上下文图、容器图、组件图和代码级文档——全部通过您的源代码自动生成。
无论您是开发者、架构师还是技术负责人,Litho 都能消除维护文档的负担,确保您的团队始终拥有准确、最新的架构信息。
在几分钟内将您的代码库转化为专业的架构文档
| 使用 Litho 前 |
使用 Litho 后 |
|
手动编写文档
- 文档过时、不完整或缺失
- 手动更新滞后于代码变更
- 格式和结构不一致
- 维护耗时
- 难以导航和理解
- 通常只有几个 Markdown 文件
|
AI 生成的文档
- 从代码库自动生成
- 始终与代码变更保持同步
- 专业的 C4 模型结构
- 一致的格式和样式
- 易于导航和理解
- 包含完整的图表、上下文和关系
|
🚀 Litho 自动将您杂乱的代码库转化为美观、专业的文档
# 😺 为什么使用 Litho
- **自动保持文档与代码库变更同步** —— 不再有过时的文档
- **节省数百小时**的手动创建和维护文档的时间
- **改善新成员入职体验**,提供全面、最新的文档
- **优化代码审查**,提供清晰的架构上下文
- **满足合规要求**,提供可审计的自动化文档
- **支持多种编程语言**(Rust、Python、Java、Go、C#、JavaScript 等)
- **生成专业的 C4 模型图表**,包含上下文、容器、组件和代码
- **与 CI/CD pipeline 集成**,在每次提交时自动生成文档
🌟 **适用于:**
- 各种规模的开发团队
- 开源项目
- 企业软件开发者
- 任何讨厌维护过时文档的人!
# 🌠 功能与特性
### 核心能力
- 通过分析代码库,AI 驱动生成架构文档
- 自动创建 C4 模型图表(上下文、容器、组件、代码)
- 智能提取代码注释、结构和关系
- 支持多种编程语言
- 可自定义的文档输出模板系统
### 高级特性
- **外部知识集成** - 将外部文档(PDF、Markdown、SQL 等)挂载为知识源,以增强分析能力
- **数据库文档** - 为 SQL 项目自动生成包含 ERD 图表的数据库 schema 文档
- Git 历史分析,跟踪架构演进
- 代码元素与文档之间的交叉引用
- 具有嵌入图表和示例的交互式文档
- 与 CI/CD pipeline 集成,实现文档自动化生成
## 💡 解决的问题
Litho 通过从您的源代码自动生成最新的架构文档,解决了过时和不完整的技术文档这一常见问题。无需再为跟不上代码变更的手动文档烦恼——Litho 让您的文档与代码库保持同步。
# 🌐 Litho Eco 生态系统
Litho 是旨在提高开发人员效率和文档质量的更广泛工具生态系统的一部分。Litho Eco 生态系统包含与 Litho 无缝协作的互补工具,可提供完整的文档工作流:
## 📘 Litho Book
**Litho Book** 是一个使用 Rust 和 Axum 构建的高性能 Markdown 阅读器,专门设计用于提供优雅的界面来浏览由 Litho 生成的文档。
### 主要特性
- 实时 Markdown 渲染与语法高亮
- 全面支持架构图的 Mermaid 图表
- 智能搜索,支持对文件和内容进行模糊匹配
- 高性能架构,内存占用低
- AI 智能文档解读与问答
### 🌠 快照
### 与 Litho 的集成
Litho Book 是浏览由 Litho 生成文档的理想伴侣应用程序。典型的工作流程是:
1. 使用 Litho 从您的代码库生成文档
2. 使用 Litho Book 通过优雅的界面浏览和探索生成的文档
[了解更多关于 Litho Book 的信息](https://github.com/sopaco/litho-book)
## 🔧 Mermaid Fixer
**Mermaid Fixer** 是一款高性能的 AI 驱动工具,可自动检测并修复 Markdown 文件中 Mermaid 图表的语法错误。
### 主要特性
- 自动扫描目录中的 Markdown 文件
- 使用 JS sandbox 验证精确检测 Mermaid 语法错误
- 结合 LLM 集成进行 AI 驱动的智能修复
- 全面的前后变更对比报告
- 灵活的配置,支持多个 LLM 提供商
### 与 Litho 的集成
Mermaid Fixer 通过自动修复 Mermaid 图表中的语法错误,提升了 Litho 生成文档的质量。这确保了文档中的所有架构图都是有效的并且能正确渲染。
### 👀 快照
[了解更多关于 Mermaid Fixer 的信息](https://github.com/sopaco/mermaid-fixer)
## 🤖 Agent Skills
在 Smithery 中运行! [](https://smithery.ai/skills?ns=sopaco&utm_source=github&utm_medium=badge)
# 🧠 工作原理
[](https://zread.ai/sopaco/deepwiki-rs)
## 四阶段处理 Pipeline
Litho 的架构围绕四阶段处理 pipeline 设计,将原始代码转化为全面的文档:
```
flowchart TD
A[Input: Source Code Repository] --> B[Phase 1: Preprocessing]
B --> C[Phase 2: Intelligent Research & Analysis]
C --> D[Phase 3: Documentation Generation]
D --> E[Phase 4: Verification & Enhancement]
E --> F[Output: High-Quality Technical Documentation]
subgraph Preprocessing Phase
B1[Code Scanning & Discovery]
B2[Multi-Language Syntax Analysis]
B3[Structure & Dependency Extraction]
B4[Code Insight Generation]
B5[Agent Memory Chunk Initialization]
B --> B1 --> B2 --> B3 --> B4 --> B5
end
subgraph Intelligent Research & Analysis Phase
C1[System Context Researcher]
C2[Domain Module Detector]
C3[Workflow Researcher]
C4[Boundary Analyzer]
C5[Key Module Insight Officer]
C6[Agent Memory Chunk Read/Write]
C7[ReAct Reasoning Loop]
C --> C1 --> C2 --> C3 --> C4 --> C5 --> C6 --> C7
end
subgraph Documentation Generation Phase
D1[Overview Documentation Editor]
D2[Architecture Documentation Editor]
D3[Workflow Documentation Editor]
D4[Boundary Documentation Editor]
D5[Key Module Editor]
D6[Agent Memory Chunk Reading]
D7[High-Quality Documentation Assembly]
D --> D1 --> D2 --> D3 --> D4 --> D5 --> D6 --> D7
end
subgraph Verification & Enhancement Phase
E1[Mermaid Syntax Verification]
E2[Documentation Integrity Check]
E3[Diagram Auto-Repair]
E4[Quality Report Generation]
E5[Final Documentation Output]
E --> E1 --> E2 --> E3 --> E4 --> E5
end
style B fill:#e3f2fd,stroke:#1976d2
style C fill:#f3e5f5,stroke:#7b1fa2
style D fill:#e8f5e8,stroke:#388e3c
style E fill:#fff3e0,stroke:#e65100
```
### 预处理阶段
Litho 首先扫描您的整个代码库,以识别源文件、提取元数据并分析项目结构。此阶段会:
- 发现跨多种语言的所有源代码文件
- 解析文件结构并识别关键组件
- 提取注释、文档字符串和代码注解
- 识别模块和组件之间的依赖关系
- 构建代码库的全面表示
```
flowchart TD
A[Preprocessing Agent] --> B[Structure Extractor]
A --> C[Original Document Extractor]
A --> D[Code Analysis Agent]
A --> E[Relationship Analysis Agent]
B --> F[Project Structure]
C --> G[Original Document Materials]
D --> H[Core Code Insights]
E --> I[Code Dependencies]
F --> J[Store to Memory]
G --> J
H --> J
I --> J
```
### 研究阶段
在这个 AI 驱动的阶段,Litho 会分析代码结构以理解架构意图:
- 应用机器学习模型来识别模式和关系
- 从代码结构和命名约定推断架构角色
- 确定组件边界和服务职责
- 映射组件之间的依赖关系和数据流
- 识别潜在的架构坏味道和反模式
- 为每个组件生成上下文感知的文档
```
flowchart TD
A[Research Orchestrator] --> B[SystemContext Researcher]
A --> C[Domain Module Detector]
A --> D[Architecture Researcher]
A --> E[Workflow Researcher]
A --> F[Key Module Insights]
B --> G[System Context Report]
C --> H[Domain Module Report]
D --> I[Architecture Analysis Report]
E --> J[Workflow Analysis Report]
F --> K[Module Deep Insights]
G --> Memory
H --> Memory
I --> Memory
J --> Memory
K --> Memory
```
### 组合与输出阶段
Litho 将分析后的信息组合成结构化的文档格式:
- 生成 C4 模型图表(上下文、容器、组件、代码)
- 创建具有清晰导航的分层文档结构
- 嵌入相关的代码示例和说明
- 在所有文档中应用一致的样式和格式
- 在相关组件和图表之间添加交叉引用
```
flowchart TD
A[Document Composer] --> B[Overview Editor]
A --> C[Architecture Editor]
A --> D[Module Insight Editor]
B --> E[Overview Document]
C --> F[Architecture Document]
D --> G[Module Documents]
E --> H[Document Tree]
F --> H
G --> H
H --> I[Disk Outlet]
I --> J[Output Directory]
```
### 验证与增强阶段
最后阶段确保文档的质量和完整性:
- 验证图表语法和一致性
- 检查文档覆盖范围的完整性
- 识别文档中的空白并提出改进建议
- 与 Mermaid Fixer 集成,确保所有图表都能正确渲染
- 生成有关文档覆盖范围的统计信息和报告
- 创建索引和目录以便于导航
# 🏗️ 架构概述
**Litho** 具有先进的模块化架构,专为高性能、可扩展性和智能分析而设计。该系统实现了具有专用 AI agent 和全面缓存机制的多阶段工作流。
```
graph LR
subgraph Input Phase
A[CLI Startup] --> B[Load Configuration]
B --> C[Scan Structure]
C --> D[Extract README]
end
subgraph Analysis Phase
D --> E[Language Parsing]
E --> F[AI-Enhanced Analysis]
F --> G[Store in Memory]
end
subgraph Reasoning Phase
G --> H[Orchestrator Startup]
H --> I[System Context Analysis]
H --> J[Domain Module Detection]
H --> K[Workflow Analysis]
H --> L[Key Module Insights]
I --> M[Store in Memory]
J --> M
K --> M
L --> M
end
subgraph Orchestration Phase
M --> N[Orchestration Hub Startup]
N --> O[Generate Project Overview]
N --> P[Generate Architecture Diagram]
N --> Q[Generate Workflow Documentation]
N --> R[Generate Module Insights]
O --> S[Write to DocTree]
P --> S
Q --> S
R --> S
end
subgraph Output Phase
S --> T[Persist Documents]
T --> U[Generate Summary Report]
end
```
## 核心模块
Litho 的架构由几个相互连接的模块组成,这些模块协同工作以提供无缝的文档生成:
- **Code Scanner**:发现并分析跨多种语言的源代码文件
- **Language Parser**:使用特定语言的解析器从代码中提取结构信息
- **Architecture Analyzer**:AI 驱动的组件,用于推断架构模式和关系
- **Diagram Generator**:使用 Mermaid 语法创建 C4 模型图表
- **Documentation Formatter**:将内容组织为有条理、可导航的文档
## 核心流程
核心处理流程遵循确定性的 pipeline:
1. **Scan** - 发现并分析源代码文件
2. **Parse** - 提取结构和语义信息
3. **Analyze** - 应用 AI 模型推断架构和关系
4. **Generate** - 创建图表和文档内容
5. **Format** - 将内容组织成有条理的文档
6. **Export** - 以所需格式输出
```
sequenceDiagram
participant Main as main.rs
participant Workflow as workflow.rs
participant Context as GeneratorContext
participant Preprocess as PreProcessAgent
participant Research as ResearchOrchestrator
participant Doc as DocumentationOrchestrator
participant Outlet as DiskOutlet
Main->>Workflow : launch(config)
Workflow->>Context : Create context (LLM, Cache, Memory)
Workflow->>Preprocess : execute(context)
Preprocess->>Context : Store project structure and metadata
Context-->>Workflow : Preprocessing complete
Workflow->>Research : execute_research_pipeline(context)
Research->>Research : Execute multiple research agents in parallel
loop Each Research Agent
Research->>StepForwardAgent : execute(context)
StepForwardAgent->>Context : Validate data sources
StepForwardAgent->>AgentExecutor : Call prompt or extract
AgentExecutor->>LLMClient : Initiate LLM request
LLMClient->>CacheManager : Check cache
alt Cache hit
CacheManager-->>LLMClient : Return cached result
else Cache miss
LLMClient->>LLM : Call LLM API
LLM-->>LLMClient : Return raw response
LLMClient->>CacheManager : Store result to cache
end
LLMClient-->>AgentExecutor : Return processed result
AgentExecutor-->>StepForwardAgent : Return result
StepForwardAgent->>Context : Store result to Memory
end
Research-->>Workflow : Research complete
Workflow->>Doc : execute(context, doc_tree)
Doc->>Doc : Call multiple composition agents to generate docs
Doc-->>Workflow : Documentation generation complete
Workflow->>Outlet : save(context)
Outlet-->>Workflow : Storage complete
Workflow-->>Main : Process finished
```
# 🖥 入门指南
### 前置条件
- [**Rust**](https://www.rust-lang.org)(1.70 或更高版本)
- [**Cargo**](https://doc.rust-lang.org/cargo/)
### 安装说明
#### 选项 1:从 crates.io 安装(推荐)
```
cargo install deepwiki-rs
```
#### 选项 2:从源码构建
1. 克隆代码库:
git clone https://github.com/sopaco/deepwiki-rs.git
2. 导航到项目目录:
cd deepwiki-rs
3. 构建项目:
cargo build --release
4. 编译后的二进制文件将位于 `target/release` 目录中。
# 🚀 用法
**Litho** 提供了一个简单的 CLI 来从您的代码库生成文档。有关更多配置参数,请参阅 [CLI 选项详情](https://github.com/sopaco/deepwiki-rs/blob/main/docs/5%E3%80%81%E8%BE%B9%E7%95%8C%E8%B0%83%E7%94%A8.md#litho)。
### 基本命令
```
deepwiki-rs -p ./my-project -o ./docs
# 以目标语言生成文档。
deepwiki-rs --target-language en -p ./my-project
deepwiki-rs --target-language ja -p ./my-project
```
此命令将:
- 扫描 `./my-project` 中的所有文件
- 分析代码结构和关系
- 生成全面的 C4 架构文档
- 将输出保存到 `./litho.docs` 目录
### 文档生成
Litho 支持多种生成文档的选项:
```
# 使用默认设置生成文档
deepwiki-rs skip certain processing stages in the generation workflow
deepwiki-rs --skip-preprocessing --skip-research
```
### 高级选项
```
# 关闭 ReAct Mode 以避免通过 tool-calls 自动扫描项目文件
deepwiki-rs -p ./src --disable-preset-tools --llm-api-base-url
--llm-api-key --model-efficient GPT-5-mini
# 同时设置 efficient model 和 powerful model
deepwiki-rs -p ./src --model-efficient GPT-5-mini --model-poweruful GPT-5-Pro --llm-api-base-url --llm_api_key --model-efficient GPT-5-mini
```
## 📚 外部知识集成
Litho 支持将外部文档作为知识源挂载,以利用业务上下文和架构决策来增强生成的文档。
### 支持的文档类型
- **PDF** - 架构图、设计文档
- **Markdown** - 技术文档、ADR
- **SQL** - 数据库 schema 文件
- **YAML/JSON** - API 规范、配置
- **Text** - 纯文本文档
### 知识分类
文档被划分为多个类别,以便针对性地交付给特定的 agent:
- `architecture` - 系统架构和 C4 模型文档
- `database` - Schema、ERD 和数据模型文档
- `api` - API 规范和 endpoint 文档
- `deployment` - 基础设施和 DevOps 文档
- `adr` - 构决策记录 (Architecture Decision Records)
- `workflow` - 业务流程和工作流
- `general` - 未分类的常规文档
### 同步知识命令
```
# 同步外部知识源(处理并缓存本地文档)
deepwiki-rs sync-knowledge
# 即使缓存为最新也强制同步
deepwiki-rs sync-knowledge --force
```
### 配置示例 (litho.toml)
```
[knowledge.local_docs]
enabled = true
cache_dir = ".litho/cache/knowledge/local_docs"
watch_for_changes = true
# 大型文档的默认分块
[knowledge.local_docs.default_chunking]
enabled = true
max_chunk_size = 8000
chunk_overlap = 200
strategy = "semantic" # Options: semantic, paragraph, fixed
min_size_for_chunking = 10000
# Architecture 文档类别
[[knowledge.local_docs.categories]]
name = "architecture"
description = "System architecture documentation"
paths = [
"docs/architecture/**/*.md",
"docs/design/**/*.pdf"
]
target_agents = [
"SystemContextResearcher",
"ArchitectureResearcher",
"ArchitectureEditor"
]
# Database 文档类别
[[knowledge.local_docs.categories]]
name = "database"
description = "Database schema documentation"
paths = [
"docs/database/**/*.md",
"docs/schema/**/*.sql"
]
target_agents = [
"ArchitectureResearcher",
"DomainModulesDetector",
"KeyModulesInsight"
]
```
## 🗄️ 数据库文档
Litho 会自动分析 SQL 数据库项目(`.sqlproj`)和 SQL 文件,以生成全面的数据库文档,包括:
- **数据库项目** - SQL Server 项目结构
- **表** - Schema、列、数据类型、约束、主键
- **视图** - 视图定义和引用的表
- **存储过程** - 参数、操作、访问的表
- **函数** - 标量函数和表值函数
- **关系** - 外键和隐式引用(附带 ERD 图表)
- **数据流** - ETL 操作和数据移动模式
### 数据库分析功能
```
📊 Database code distribution: Projects(2) SQL Files(15) DAO(3)
✅ Database overview analysis completed:
- Database projects: 2 items
- Tables: 12 items
- Views: 5 items
- Stored procedures: 8 items
- Functions: 3 items
- Table relationships: 6 items
- Data flows: 4 items
- Confidence: 8.5/10
```
### 生成的数据库文档
数据库文档会自动作为 `6.Database-Overview.md` 包含在输出中,其中包含:
- 汇总统计表
- 带有列定义的详细表 schema
- 显示关系的 Mermaid ER 图
- 存储过程文档
- 数据流描述
## 📁 输出结构
Litho 生成组织良好的文档结构:
```
project-docs/
├── 1. Project Overview # Project overview, core functionality, technology stack
├── 2. Architecture Overview # Overall architecture, core modules, module breakdown
├── 3. Workflow Overview # Overall workflow, core processes
├── 4. Deep Dive/ # Detailed technical topic implementation documentation
│ ├── Topic1.md
│ ├── Topic2.md
├── 5. Boundary-Interfaces # API endpoints, external integrations
├── 6. Database-Overview # Database schema, tables, relationships (SQL projects only)
```
# 🤝 贡献
我们欢迎各种形式的贡献!通过 [GitHub Issues](https://github.com/sopaco/deepwiki-rs/issues) 报告错误或提交功能请求。
## 贡献方式
- **语言支持**:增加对更多编程语言的支持
- **模板创建**:设计新的文档模板和样式
- **图表增强**:改进 Mermaid 图表生成算法
- **性能优化**:提升处理速度和内存使用
- **测试覆盖**:为各种代码模式添加全面的测试用例
- **文档**:改进项目文档和使用指南
- **Bug 修复**:帮助识别和修复代码库中的问题
## 开发贡献流程
1. Fork 本项目
2. 创建一个功能分支(`git checkout -b feature/amazing-feature`)
3. 提交您的更改(`git commit -m 'Add some amazing feature'`)
4. 推送到该分支(`git push origin feature/amazing-feature`)
5. 创建一个 Pull Request
# 🪪 许可证
**MIT**。[LICENSE](LICENSE) 文件中提供了该许可证的副本。
# 👨 关于我
一位经验丰富的互联网老兵,经历了 PC 互联网、移动互联网和 AI 应用的浪潮。从个人移动应用开发者起步,成长为职场专业人士,我在产品设计和研发方面拥有丰富的经验。目前,我就职于 [快手](https://en.wikipedia.org/wiki/Kuaishou),专注于通用前端系统和 AI 探索的研发。
GitHub: [sopaco](https://github.com/sopaco)
## FAQ
### 什么是 Litho (deepwiki-rs)?
Litho 是一个使用 Rust 构建的 AI 驱动的文档生成引擎。它可以自动分析您的源代码,并生成全面、专业的 C4 模型格式的架构文档。
### Litho 支持哪些编程语言?
Litho 支持多种编程语言,包括 Rust、Python、Java、Go、C#、JavaScript 等。
### 什么是 C4 模型?
C4 模型是一种具有四个层级的软件架构文档方法:
- 上下文图(系统上下文)
- 容器图(系统容器)
- 组件图(容器组件)
- 代码图(组件实现)
### 如何安装 Litho?
```
cargo install deepwiki-rs
```
或者从源码构建:
```
git clone https://github.com/sopaco/deepwiki-rs
cargo build --release
```
### Litho 可以与 CI/CD 集成吗?
是的,Litho 可以与 CI/CD pipeline 集成,以在每次提交时自动生成文档。
### 为什么使用 Litho 而不是手动编写文档?
- 自动保持文档与代码库同步
- 节省数百小时的手动维护时间
- 专业的 C4 模型结构
- 一致的格式和样式
- 易于导航和理解
### 在哪里可以获得帮助?
- 文档:https://github.com/sopaco/deepwiki-rs/tree/main/docs
- GitHub Issues:https://github.com/sopaco/deepwiki-rs/issues标签:AI, IPv6支持, LNA, Rust, SOC Prime, 可视化界面, 开发工具, 文档生成, 架构图, 网络流量审计, 网络调试, 自动化, 自动化代码审查, 通知系统