Manual setup runs DeepWiki Open as two separate processes on your machine: a FastAPI backend (Python 3.11+) that handles AI inference and repository analysis, and a Next.js frontend that serves the browser UI. This approach gives you full control over each layer and is the recommended path for local development.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/AsyncFuncAI/deepwiki-open/llms.txt
Use this file to discover all available pages before exploring further.
You need at least one API key to generate wikis. Provide
GOOGLE_API_KEY for Google Gemini models or OPENAI_API_KEY for OpenAI models. If you want a fully offline setup with no API keys at all, use Ollama instead.Prerequisites
| Requirement | Version | Notes |
|---|---|---|
| Python | 3.11+ | The .python-version file in the repo pins 3.12 |
| Poetry | 2.0.1 | Installed via pip in the setup steps below |
| Node.js | 20+ | Required for the Next.js frontend |
| npm or Yarn | — | Comes with Node.js; Yarn is optional |
Setup steps
Create a .env file
Create a
.env file in the project root. Only one cloud provider key is strictly required to generate wikis, but you can add as many as you want.- Get a Google API key from Google AI Studio
- Get an OpenAI API key from OpenAI Platform
Install Python dependencies
api/pyproject.toml into an isolated virtual environment inside api/.Start the backend API server
Install frontend dependencies
Open a second terminal window in the project root, then install the JavaScript packages:
Start the Next.js frontend
Open DeepWiki in your browser
Navigate to http://localhost:3000. Enter any GitHub, GitLab, or Bitbucket repository URL and click Generate Wiki.For private repositories, click + Add access tokens and provide your personal access token before generating.
Default ports
| Service | Port | Environment variable |
|---|---|---|
| FastAPI backend | 8001 | PORT |
| Next.js frontend | 3000 | — |
PORT, also update SERVER_BASE_URL so the frontend knows where to find the API:
Choosing an embedder
The embedder controls how repository code is indexed for retrieval. SetDEEPWIKI_EMBEDDER_TYPE in your .env file:
| Value | Embedding model used | API key required |
|---|---|---|
openai (default) | text-embedding-3-small | OPENAI_API_KEY |
google | gemini-embedding-001 | GOOGLE_API_KEY |
ollama | nomic-embed-text (local) | None |
When you switch embedders, previously generated embeddings from other providers are incompatible. You will need to re-index any repositories you had already processed.