AI 驱动的智能文档生成器,自动为代码库生成 C4 架构文档,支持多语言源码与外部知识增强。
Litho(crate: deepwiki-rs)是一个基于 Rust 的高性能 CLI 工具,能够从源代码自动生成结构化的 C4 架构文档。当前版本 v1.5.0,采用 MIT 许可证,由 sopaco 直接维护。
处理流水线#
项目采用多阶段确定性流水线:
- Scan(扫描):发现并分析源代码文件
- Parse(解析):提取结构和语义信息
- Analyze(分析):应用 AI 模型推断架构和关系
- Generate(生成):创建图表和文档内容
- Format(格式化):组织为结构化文档
- Export(导出):输出到目标格式
注:README 中另有四阶段描述(预处理→研究→组合输出→验证增强),两者可能为不同抽象层级的表述,对应关系待确认。
核心能力#
- C4 四层模型自动产出:Context → Container → Component → Code,逐层细化架构描述
- 多语言源码支持:Rust、Python、Java、Go、C#、JavaScript 等
- 外部知识集成:挂载 PDF、Markdown、SQL、YAML/JSON 作为增强分析的知识源,支持语义分块(semantic chunking)
- 数据库文档生成:自动分析 SQL 项目,输出 ERD 图、表结构、存储过程文档
- Mermaid 图表生成:自动产出 C4 图和 ERD 图的 Mermaid 语法
- Git 历史分析:追踪架构演化轨迹
- 双模型配置:可分别指定高效模型(
model-efficient)与强大模型(model-poweruful,拼写待确认),按任务需求分配 - 可定制模板系统:支持自定义文档输出格式
- 多语言文档输出:通过
--target-language指定输出语言(en/ja 等) - CI/CD 集成:可在每次提交时自动生成文档,保持文档与代码同步
- Agent Skills:支持 Smithery 平台运行
核心模块#
| 模块 | 职责 |
|---|---|
| Code Scanner | 跨语言源码发现与分析 |
| Language Parser | 语言特定的结构解析器 |
| Architecture Analyzer | AI 驱动的架构模式推断 |
| Diagram Generator | Mermaid 语法的 C4 模型图生成 |
| Documentation Formatter | 结构化文档输出 |
安装与快速开始#
前置条件: Rust ≥ 1.70、Cargo
方式一:从 crates.io 安装(推荐)
cargo install deepwiki-rs
方式二:从源码构建
git clone https://github.com/sopaco/deepwiki-rs.git
cd deepwiki-rs
cargo build --release
最小上手:
deepwiki-rs -p ./my-project -o ./docs
CLI 关键参数#
| 参数 | 说明 |
|---|---|
-p / --project-path | 指定项目路径 |
-o / --output | 指定输出目录 |
--target-language | 文档目标语言(en/ja 等) |
--skip-preprocessing | 跳过预处理阶段 |
--skip-research | 跳过研究阶段 |
--disable-preset-tools | 关闭 ReAct 模式的自动工具扫描 |
--llm-api-base-url | LLM API 地址 |
--llm-api-key | LLM API 密钥 |
--model-efficient | 高效模型名称 |
--model-poweruful | 强大模型名称 |
配置文件(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"
[[knowledge.local_docs.categories]]
name = "architecture"
description = "System architecture documentation"
paths = ["docs/architecture/**/*.md", "docs/design/**/*.pdf"]
target_agents = ["SystemContextResearcher", "ArchitectureResearcher", "ArchitectureEditor"]
外部知识同步:
deepwiki-rs sync-knowledge
deepwiki-rs sync-knowledge --force
输出文档结构#
project-docs/
├── 1. Project Overview # 项目概览、核心功能、技术栈
├── 2. Architecture Overview # 整体架构、核心模块、模块分解
├── 3. Workflow Overview # 整体工作流、核心流程
├── 4. Deep Dive/ # 深入技术主题实现文档
│ ├── Topic1.md
│ ├── Topic2.md
├── 5. Boundary-Interfaces # API 端点、外部集成
├── 6. Database-Overview # 数据库 Schema(SQL 项目)
生态系统组件#
| 组件 | 说明 |
|---|---|
| Litho Book | 基于 Rust/Axum 的高性能 Markdown 阅读器,支持 Mermaid 图表渲染和 AI 问答 |
| Mermaid Fixer | AI 驱动的 Mermaid 图表语法自动修复工具 |
待确认信息#
- 首次发布日期未明确标注
- 具体兼容的 LLM 提供商列表未列出(仅要求配置 API base URL 和 key)
- Litho Book 和 Mermaid Fixer 的独立仓库地址未给出
- Windows/macOS 平台支持情况未明确说明
--model-poweruful疑似powerful的拼写错误,待确认- 环境变量配置方式未明确