PorunC/CodeWiki

GitHub: PorunC/CodeWiki

CodeWiki 通过 AST 代码图与 GraphRAG 检索,将仓库自动转化为带源码引用的开发者 Wiki 并支持智能问答。

Stars: 163 | Forks: 14

# CodeWiki

简体中文  ·  简体中文  ·  使用指南  ·  设计  ·  基准测试  ·  更新日志

Tests License PyPI downloads GitHub stars

CodeWiki 是一个单用户代码智能平台,提供基于 AST 的仓库分析、 GraphRAG 检索、基于源码的 wiki 生成,以及由 LiteLLM 驱动的问答功能。 ## 截图 ![CodeWiki wiki 页面](https://static.pigsec.cn/wp-content/uploads/repos/cas/0c/0ce3213edb5bd4e8328442706793ca67a6c5b781c7661547014cfea5008d2f9c.png) ![CodeWiki 图形浏览器](https://raw.githubusercontent.com/PorunC/CodeWiki/main/docs/img/graph.png) ## 亮点 - 分析 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, 测试用例, 请求拦截, 逆向工具