PorunC/CodeWiki
GitHub: PorunC/CodeWiki
CodeWiki 通过 AST 代码图与 GraphRAG 检索,将仓库自动转化为带源码引用的开发者 Wiki 并支持智能问答。
Stars: 163 | Forks: 14
# CodeWiki
CodeWiki 是一个单用户代码智能平台,提供基于 AST 的仓库分析、
GraphRAG 检索、基于源码的 wiki 生成,以及由 LiteLLM 驱动的问答功能。
## 截图


## 亮点
- 分析 Python、TypeScript/TSX、JavaScript/JSX、Java、Go、Rust、C、C++ 和 C#。
- 为 import、定义、call、route、继承、
源码引用和配置使用构建确定性的代码图。
- 生成 DeepWiki 风格的目录和页面,支持源码引用、图表、
翻译、增量更新和浏览器端导出。
- 安装内置的 Codex skill,使 Codex 能够根据本地的 CodeWiki 证据来规划、编写、验证和导出
基于源码的 wiki 页面。
- 通过 Web UI、CLI、HTTP API 或 MCP server 提出基于 GraphRAG 的问题。
- 使用 Lite Mode 进行项目本地的、无 LLM 的图索引,专为 AI agent 上下文、
trace、影响分析和 MCP 工具而优化。
- 默认使用 SQLite,或使用支持全文搜索和可选 pgvector
向量搜索的 PostgreSQL。
## 快速开始
从 PyPI 安装:
```
pip install codewiki
codewiki serve
```
打开 `http://127.0.0.1:8000`,注册一个仓库,运行分析,然后生成
wiki 或提出问题。
使用 Docker Compose 运行:
```
docker compose up --build
```
打包的 Python 应用包含已构建的前端。仅在进行开发或
基于 Docker 的本地运行时,才需要检出源码。
## 常用命令
```
codewiki repos add . --name my-repo
codewiki analyze .
codewiki graphrag build . --embeddings
codewiki wiki catalog .
codewiki wiki pages .
codewiki skill install codex
codewiki wiki plan . --json
codewiki ask --repo my-repo "How does the main workflow fit together?"
codewiki mcp
```
大多数仓库参数接受 id、id 前缀、注册名称、路径或 Git URL。
使用 `--json` 获取机器可读的输出。
### Lite Mode
Lite Mode 会创建一个项目本地的 `.codewiki/codewiki-lite.sqlite3` 索引,并跳过
LLM、Wiki、GraphRAG chunk 和 Web UI 工作流。它专为需要快速符号搜索、
源码上下文、call trace 和受影响文件分析的本地 AI 助手而设计。
```
codewiki lite index .
codewiki lite query AuthService
codewiki lite context "how authentication works"
codewiki lite trace LoginForm createSession
codewiki lite callers generate_page
codewiki lite affected src/auth.py
codewiki lite agents install . --target all
codewiki mcp --lite --path .
```
`codewiki lite status` 报告待处理的文件更改。`codewiki lite sync` 刷新
索引,而 `codewiki lite watch` 通过轮询监视器保持其最新。MCP Lite Mode
在启动时会更新现有索引,除非传递了 `--no-sync`。
`codewiki lite agents install` 可以编写 Codex CLI 和 Claude Code MCP 配置以及
该项目的 agent 指令。
### Codex Skill
CodeWiki 提供了一个适配 Codex 的 skill,用于由 agent 编写的 wiki 页面。它会安装到
`$CODEX_HOME/skills/codewiki`,或者在未设置 `CODEX_HOME` 时安装到
`~/.codex/skills/codewiki`,并包含紧凑的证据和独立的 HTML 导出助手:
```
codewiki skill install codex
codewiki wiki plan . --language en --json
codewiki wiki evidence overview . --language en --limit 5 --json
cat overview.md | codewiki wiki save overview . --language en --title "Overview" --stdin --json
codewiki wiki validate overview . --language en --json
```
此工作流不会调用 CodeWiki 的外部基于 LLM 的 wiki 生成器。Codex 会读取
有限的源码证据,编写带有 CodeWiki 源码引用的 Markdown,将其保存到
正常的 wiki 存储中,并在导出或发布之前验证保存的页面。
## 配置
CodeWiki 默认使用 SQLite:
```
CODEWIKI_DATABASE_URL=sqlite+aiosqlite:///./data/codewiki.sqlite3
```
也支持 PostgreSQL:
```
CODEWIKI_DATABASE_URL=postgresql+psycopg://codewiki:codewiki@localhost:5432/codewiki
```
使用 `codewiki config` 或 `.env` 配置 LLM profile:
```
codewiki config
codewiki config --set CODEWIKI_LLM__DEFAULT__MODEL=openai/gpt-4.1
codewiki config --profile qa --model openai/gpt-4.1 --api-key "$OPENAI_API_KEY"
```
## 文档
- [使用指南](docs/usage.md):安装、Docker、数据库设置、wiki 工作流、
Codex skill 设置、LLM profile、CLI、MCP、HTTP API 和支持的语言。
- [设计说明](docs/design.md):架构和功能设计。
- [基准测试指南](docs/benchmarking.md)和
[基准测试报告](docs/benchmark-report-2026-05-22.md):基准测试工作流和
当前结果。
- [更新日志](docs/changelog.md):发布历史。
## 开发
```
make install
make start
make lint
make typecheck
make test
make build
```
默认本地 URL:
- 后端:`http://127.0.0.1:8000`
- 前端:`http://127.0.0.1:5173`
### Python Typing
Python 类型检查使用 `mypy`,并在 `pyproject.toml` 中采用渐进式配置。
新的公共服务、repository、API 助手和 CLI 助手函数应包含
显式的参数和返回类型。当数据跨模块边界传输时,优先使用 dataclass、Pydantic model、`TypedDict`
或 `Protocol`,而不是宽泛的 `dict[str, Any]`。在集成边缘(如
LLM JSON payload、SQLAlchemy JSON 列和第三方解析器输出)附近保留
`Any`。
## 许可证
MIT
标签:AI辅助编程, GraphRAG, 代码图谱分析, 代码智能化, 代码知识库, 开发者Wiki, 测试用例, 请求拦截, 逆向工具