{"id":27992584,"url":"https://github.com/AIDotNet/OpenDeepWiki","last_synced_at":"2025-05-08T18:03:08.083Z","repository":{"id":290185260,"uuid":"973621150","full_name":"AIDotNet/OpenDeepWiki","owner":"AIDotNet","description":"开源版本的deepwiki","archived":false,"fork":false,"pushed_at":"2025-05-05T06:46:51.000Z","size":331,"stargazers_count":230,"open_issues_count":2,"forks_count":47,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-05-05T07:40:06.164Z","etag":null,"topics":["chatgpt","deepwiki","docs"],"latest_commit_sha":null,"homepage":"https://koala.token-ai.cn/","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AIDotNet.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-04-27T11:40:00.000Z","updated_at":"2025-05-05T06:46:54.000Z","dependencies_parsed_at":null,"dependency_job_id":"b84f35d4-8d26-4083-afc2-23e2502e2428","html_url":"https://github.com/AIDotNet/OpenDeepWiki","commit_stats":null,"previous_names":["aidotnet/koalawiki","aidotnet/opendeepwiki"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AIDotNet%2FOpenDeepWiki","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AIDotNet%2FOpenDeepWiki/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AIDotNet%2FOpenDeepWiki/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AIDotNet%2FOpenDeepWiki/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AIDotNet","download_url":"https://codeload.github.com/AIDotNet/OpenDeepWiki/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253124216,"owners_count":21857614,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["chatgpt","deepwiki","docs"],"created_at":"2025-05-08T18:01:48.033Z","updated_at":"2025-05-08T18:03:07.918Z","avatar_url":"https://github.com/AIDotNet.png","language":"C#","funding_links":[],"categories":["Popular AI Tools","C# #","C#","SDK, Libraries, Frameworks"],"sub_categories":["C# library, sdk or frameworks"],"readme":"# OpenDeepWiki\n\n[中文](README.zh-CN.md) | [English](README.md)\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/user-attachments/assets/f91e3fe7-ef4d-4cfb-8b57-36eb1c449238\" alt=\"KoalaWiki Logo\" width=\"200\" /\u003e\n  \u003ch3\u003eAI-Driven Code Knowledge Base\u003c/h3\u003e\n\u003c/div\u003e\n\n# Project Introduction\n\nOpenDeepWiki is an open-source project inspired by [DeepWiki](https://deepwiki.com/), developed using .NET 9 and Semantic Kernel. It aims to help developers better understand and utilize codebases by providing features such as code analysis, documentation generation, and knowledge graph creation.\n- Analyze code structure\n- Understand core concepts of repositories\n- Generate code documentation\n- Automatically create README.md for code\n  MCP Support\n\n\nOpenDeepWiki supports MCP (Model Context Protocol)\n- Supports providing an MCPServer for a single repository and conducting analysis on a single repository.\n\nUsage: The following is the usage of cursor: \n```json\n{\n  \"mcpServers\": {\n    \"OpenDeepWiki\":{\n      \"url\": \"http://Your OpenDeepWiki service IP:port/sse?owner=AIDotNet\u0026name=OpenDeepWiki\"\n    }\n  }\n}\n```\n- owner: It is the name of the organization or owner of the repository.\n- name: It is the name of the repository. \n\nAfter adding the repository, test by asking a question (please note that before doing this, the repository must be processed first): What is OpenDeepWiki? The effect is as shown in the picture: ! [](img/mcp.png)\n\n\nIn this way, you can use OpenDeepWiki as an MCPServer, making it available for other AI models to call upon, facilitating the analysis and understanding of an open-source project.\n\n## Features\n\n- **Quick Generation:** Convert all code repositories from Github, Gitlab, Gitee, Gitea, etc., into a knowledge base in just a few minutes.\n- **Multi-language Support:** Supports code analysis and documentation generation for all programming languages.\n- **Code Structure:** Automatically generate Mermaid charts to understand code structure.\n- **Custom Models:** Supports custom models and custom APIs for extension as needed.\n- **AI Intelligent Analysis:** AI-based code analysis and understanding of code relationships.\n- **Easy SEO:** Generate SEO-friendly documents and knowledge bases using Next.js for better search engine indexing.\n- **Conversational Interaction:** Support for conversational interaction with AI to obtain detailed information and usage methods for code, enabling deeper understanding.\n\n## 🚀 Quick Start\n\n1. Clone the repository\n```bash\ngit clone https://github.com/AIDotNet/OpenDeepWiki.git\ncd OpenDeepWiki\n```\n\n2. Open the `docker-compose.yml` file and modify the following environment variables:\n```yaml\nservices:\n  koalawiki:\n    environment:\n      - KOALAWIKI_REPOSITORIES=/repositories\n      - TASK_MAX_SIZE_PER_USER=5 # Maximum parallel tasks for AI document generation per user\n      - REPAIR_MERMAID=1 # Whether to repair Mermaid, 1 for repair, others for no repair\n      - CHAT_MODEL=DeepSeek-V3 # Model must support functions\n      - ANALYSIS_MODEL= # Analysis model for generating repository directory structure\n      - CHAT_API_KEY= # Your API key\n      - LANGUAGE= # Default language for generation set to \"Chinese\"\n      - ENDPOINT=https://api.token-ai.cn/v1\n      - DB_TYPE=sqlite\n      - DB_CONNECTION_STRING=Data Source=/data/KoalaWiki.db\n```\n\n\u003e 💡 **How to get an API Key:**\n\u003e - Get Google API key [Google AI Studio](https://makersuite.google.com/app/apikey)\n\u003e - Get OpenAI API key [OpenAI Platform](https://platform.openai.com/api-keys)\n\u003e - Get CoresHub [CoresHub](https://console.coreshub.cn/xb3/maas/global-keys) [Click here for 50 million free tokens](https://account.coreshub.cn/signup?invite=ZmpMQlZxYVU=)\n\u003e - Get TokenAI [TokenAI](https://api.token-ai.cn/)\n\n3. Start the service\n\nYou can use the provided Makefile commands to easily manage the application:\n\n```bash\n# Build all Docker images\nmake build\n\n# Start all services in background mode\nmake up\n\n# Or start in development mode (with logs visible)\nmake dev\n```\n\nThen visit http://localhost:80 to access the knowledge base.\n\nFor more commands:\n```bash\nmake help\n```\n\n### For Windows Users (without make)\n\nIf you're using Windows and don't have `make` available, you can use these Docker Compose commands directly:\n\n```bash\n# Build all Docker images\ndocker-compose build\n\n# Start all services in background mode\ndocker-compose up -d\n\n# Start in development mode (with logs visible)\ndocker-compose up\n\n# Stop all services\ndocker-compose down\n\n# View logs\ndocker-compose logs -f\n```\n\nFor building specific architectures or services, use:\n\n```bash\n# Build only backend\ndocker-compose build koalawiki\n\n# Build only frontend\ndocker-compose build koalawiki-web\n\n# Build with architecture parameters\ndocker-compose build --build-arg ARCH=arm64\ndocker-compose build --build-arg ARCH=amd64\n```\n\n## 🔍 How It Works\n\nOpenDeepWiki uses AI to:\n - Clone code repository locally\n - Analyze based on repository README.md\n - Analyze code structure and read code files as needed, then generate directory json data\n - Process tasks according to directory, each task is a document\n - Read code files, analyze code files, generate code documentation, and create Mermaid charts representing code structure dependencies\n - Generate the final knowledge base document\n - Analyze repository through conversational interaction and respond to user inquiries\n\n```mermaid\ngraph TD\n    A[Clone code repository] --\u003e B[Analyze README.md]\n    B --\u003e C[Analyze code structure]\n    C --\u003e D[Generate directory json data]\n    D --\u003e E[Process multiple tasks]\n    E --\u003e F[Read code files]\n    F --\u003e G[Analyze code files]\n    G --\u003e H[Generate code documentation]\n    H --\u003e I[Create Mermaid charts]\n    I --\u003e J[Generate knowledge base document]\n    J --\u003e K[Conversational interaction]\n```\n## Advanced Configuration\n\n### Environment Variables\n  - KOALAWIKI_REPOSITORIES # Path for storing repositories\n  - TASK_MAX_SIZE_PER_USER # Maximum parallel tasks for AI document generation per user\n  - REPAIR_MERMAID # Whether to repair Mermaid, 1 for repair, others for no repair\n  - CHAT_MODEL # Model must support functions\n  - ENDPOINT # API Endpoint\n  - ANALYSIS_MODEL # Analysis model for generating repository directory structure\n  - CHAT_API_KEY # Your API key\n  - LANGUAGE # Change the language of the generated documents\n  - DB_TYPE # Database type, default is sqlite\n  - DB_CONNECTION_STRING # Database connection string\n\n### Build for Different Architectures\nThe Makefile provides commands to build for different CPU architectures:\n\n```bash\n# Build for ARM architecture\nmake build-arm\n\n# Build for AMD architecture\nmake build-amd\n\n# Build only backend for ARM\nmake build-backend-arm\n\n# Build only frontend for AMD\nmake build-frontend-amd\n```\n\n## WeChat \n\n![1000035457](https://github.com/user-attachments/assets/f1027d44-5453-4d39-86fc-a068bacf3afc)\n\n\n## 📄 License\nThis project is licensed under the MIT License - see the [LICENSE](./LICENSE) file for details.\n\n## Star History\n\n[![Star History Chart](https://api.star-history.com/svg?repos=AIDotNet/OpenDeepWiki\u0026type=Date)](https://www.star-history.com/#AIDotNet/OpenDeepWiki\u0026Date)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FAIDotNet%2FOpenDeepWiki","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FAIDotNet%2FOpenDeepWiki","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FAIDotNet%2FOpenDeepWiki/lists"}