DeepWiki 太贵、deepwiki-open 要 Docker:我写了个 pip install 就能用的开源替代品

0 阅读2分钟

接手别人的代码库最痛苦的不是代码写得烂,是不知道从哪开始看。

文件几百个,目录层层嵌套,README 要么没有要么过时。你不知道哪些文件是核心,哪些只是辅助。随便点进一个文件开始读,很快就迷失在调用链里。

DeepWiki 在一定程度上解决了这个问题——给个 GitHub 链接,自动生成 wiki 文档。但它是商业 SaaS,私有代码得传到他们服务器上。公司的代码不可能这么干。

deepwiki-open(15k+ star)是个开源替代方案,但团队已经去做 AsyncReview 了,基本进入维护模式。部署也麻烦,需要 Docker Compose + PostgreSQL。

我想要的东西其实很简单:pip install 一行装好,直接扫本地文件夹,不需要任何外部服务。找了一圈没有,就自己写了。

RepoWiki

GitHub:github.com/he-yufeng/R…

pip install repowiki
repowiki scan ./your-project

扫描完会生成:

  • 项目概览:一句话描述、技术栈、功能列表
  • 模块文档:每个模块的用途、文件关系、核心概念
  • 架构图:Mermaid 格式,GitHub 原生渲染
  • 阅读指南:基于 PageRank 的核心文件排名 + "从这里开始读"路径
  • 依赖图:import 解析 + 交互式依赖关系

最后这个"阅读指南"是我觉得和 DeepWiki 最大的差异。DeepWiki 告诉你代码是什么,RepoWiki 还告诉你从哪开始读、按什么顺序读。对刚接手一个陌生代码库的人来说这个很有用。

和 DeepWiki / deepwiki-open 的对比

部署:DeepWiki 是 SaaS 不可自托管,deepwiki-open 要 Docker。RepoWiki pip install 零配置。

本地仓库:前两个都不支持,RepoWiki 原生支持直接扫本地文件夹。

导出格式:前两个只有网页。RepoWiki 支持 Markdown(直接放仓库当文档)、JSON(API 消费)、自包含 HTML(单文件分享)。

依赖:前两个要外部服务。RepoWiki 只需要 Python + SQLite。

技术选型

LLM 用 litellm 接入,支持 100+ 模型。依赖图用 networkx 做 PageRank。缓存用 SQLite,按内容 hash 缓存分析结果,同一文件没改过就不重新分析。

支持 Python、JS/TS、Go、Rust、Java 等主流语言的 import 解析。

相关的项目

RepoWiki 解决的是程序员"接手代码不知道从哪看"的问题。如果你根本不是程序员,只是想看懂一段代码在干什么,我做了另一个工具 CodeABC(github.com/he-yufeng/CodeABC),用日常类比逐行解释代码,不用任何编程术语。

如果你对 AI Agent 的实现原理感兴趣,CoreCoder(github.com/he-yufeng/CoreCoder,570+ star)是我从 Claude Code 51 万行源码里提炼出的 1400 行 Python 核心重写。RepoWiki 的 LLM 分析模块设计思路很多就来自 CoreCoder 里的实践。

GitHub 主页:github.com/he-yufeng