A powerful solution for open source communities to leverage DeepWiki for code exploration, documentation, and support. This project provides both a robust API service and Slack bot integration to help maintainers and contributors interact with their code repositories more effectively.
This project is maintained by the manojradhakrishnan GitHub organization. Visit our organization page for more projects and contributions.
DeepWiki Community Bot enables:
- Code Base Understanding - Help new contributors and community members understand complex code repositories
- Automated Query Resolution - Reduce maintainer workload by automatically addressing common questions
- Knowledge Sharing - Make repository knowledge accessible to everyone in the community
- Multi-platform Support - Access via API, web interface, or Slack integration
- For Open Source Maintainers: Reduce support burden by automating responses to common contributor questions
- For New Contributors: Quickly understand code structure and functionality without extensive manual searching
- For Community Managers: Provide a self-service support channel for the community
- For Documentation Teams: Supplement existing documentation with interactive Q&A capabilities
Make direct API calls to query DeepWiki about your repositories:
curl -X POST "http://your-server:8000/query-deepwiki" \
-H "Content-Type: application/json" \
-d '{
"url": "https://deepwiki.com/owner/repo",
"question": "How does the authentication system work?"
}'Two integration modes are supported:
One-way Integration: Post responses to Slack channels through webhooks
- Great for announcements or scheduled reports
Two-way Interactive Bot: Full interactive bot that responds to questions in channels
- Users can mention the bot or use slash commands
- Example:
@DeepWikiBot facebook/react How does React's virtual DOM work? - Or with slash command:
/deepwiki facebook/react What is the component lifecycle?
deepwiki-community-bot/
├── app.py # Main FastAPI application
├── src/ # Source code
│ ├── extraction/ # Extraction utilities
│ │ ├── __init__.py
│ │ └── deepwiki.py # DeepWiki answer extraction logic
│ ├── formatting/ # Response formatting
│ │ ├── __init__.py
│ │ └── slack.py # Slack-specific formatting
│ └── utils/ # Utility functions
│ ├── __init__.py
│ └── common.py # Common utility functions
├── slack/ # Slack integration
│ ├── bot.py # Slack bot implementation
│ └── setup.sh # Slack bot setup script
├── tests/ # Test suite
├── config/ # Configuration files
├── docs/ # Documentation
├── docker-compose.yml # Docker compose configuration
├── Dockerfile # Docker configuration
└── requirements.txt # Project dependencies
-
Clone the repository
git clone https://github.com/your-username/deepwiki-community-bot.git cd deepwiki-community-bot -
Create a virtual environment
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
-
Install dependencies
pip install -r requirements.txt
-
Install Playwright browsers (required for DeepWiki page interaction)
playwright install chromium
Copy the example environment file and update with your values:
cp .env.example .envRequired environment variables:
- Set your preferred DeepWiki URL (instructions in the file)
- For Slack bot: Add your Slack API credentials
IMPORTANT: Never commit your .env file to version control as it contains sensitive tokens. The .gitignore file is configured to exclude it.
To deploy this project to your own GitHub repository under your organization:
-
Fork this repository to your GitHub organization (e.g.,
manojradhakrishnan/deepwiki-community-bot) -
Clone your forked repository
git clone https://github.com/your-org/deepwiki-community-bot.git cd deepwiki-community-bot -
Set up environment variables
cp .env.example .env # Edit the .env file with your specific configurations -
Make sure not to commit sensitive tokens
# Verify .env is in .gitignore grep .env .gitignore -
Test locally before pushing changes
# Start the API server python -m uvicorn app:app --host 0.0.0.0 --port 8000 # In another terminal, start the Slack bot cd slack python bot.py
-
Commit and push your changes
git add . git commit -m "Initial setup of DeepWiki Community Bot" git push origin main
python -m uvicorn app:app --host 0.0.0.0 --port 8000cd slack
python bot.pyFor production deployment, use Docker:
docker-compose up -d- Repository Access: DeepWiki provides an interactive interface to GitHub repositories
- Question Processing: Questions about your code are routed to DeepWiki
- Knowledge Extraction: The system extracts relevant information from DeepWiki
- Response Delivery: Answers are formatted and delivered via API or Slack
- Reduced Maintainer Workload: Automate answers to common community questions
- Faster Onboarding: Help new contributors understand the codebase quickly
- Enhanced Documentation: Supplement existing docs with interactive Q&A
- Community Engagement: Provide an always-available support channel for questions
- Knowledge Preservation: Make institutional knowledge accessible to all
We welcome contributions to enhance the DeepWiki Community Bot! See CONTRIBUTING.md for guidelines.
This project is open-source and available under the MIT License.