Chanakya is an advanced, open-source, and self-hostable voice assistant designed for privacy, power, and flexibility. It leverages local AI/ML models to ensure your data stays with you.
- 🗣️ Voice-Powered Interaction: A voice-first user experience.
- 🔒 Privacy by Design: Utilizes local LLMs (via Ollama), STT, and TTS to keep your data on your own hardware.
- 🛠️ Extensible Tool System: Integrates with a wide range of external tools using the Model Context Protocol (MCP).
- 🧠 Long-Term Memory: Remembers information from past conversations and allows you to manage its knowledge base.
- 🤖 Sophisticated ReAct Agent: Capable of handling complex, multi-step tasks by reasoning and acting.
- 🚀 Easy to Deploy: Comes with Docker support for quick and consistent setup.
- 🎨 Customizable UI: A clean web interface with dark mode support.
This guide will get you up and running in a few minutes. For more detailed instructions, please refer to our full documentation.
-
Clone the repository:
git clone https://github.com/Rishabh-Bajpai/Chanakya-Local-Friend.git cd Chanakya-Local-Friend -
Set up dependencies:
- Ensure Docker and Ollama are installed and running.
- Pull the required Ollama models (e.g.,
ollama pull hf.co/unsloth/Qwen3-Coder-30B-A3B-Instruct-GGUF:UD-Q4_K_XL). - Run the dependent services for STT and TTS (see the Getting Started Guide for details).
-
Configure the application:
cp .env.example .env cp mcp_config_file.json.example mcp_config_file.json
- Edit
.envandmcp_config_file.jsonwith your settings. See the Configuration Guide for details.
- Edit
-
Build and run with Docker: or (for Local Python Environment)
sudo docker build -t chanakya-assistant . sudo docker run --restart=always -d --network="host" --env-file .env --name chanakya chanakya-assistant
-
Access Chanakya:
- Open your browser and navigate to
http://localhost:5001. - For microphone access, HTTPS is required. See the Deployment Guide for instructions on setting up SSL.
- Open your browser and navigate to
For detailed information about installation, configuration, features, and troubleshooting, please see our full documentation in the docs directory.
Contributions, issues, and feature requests are welcome! Check out the Contributing Guide.
⭐ Don’t forget to give the project a star if you like it!
We have many exciting features and improvements planned for Chanakya. Here's a look at our roadmap:
- Fully Local Keyword Detection: Replace the current web-based API for keyword detection with a local Text-to-Speech (TTS) solution to enhance privacy and enable fully offline operation.
- Improved Asynchronous Handling: Refactor and fix underlying asynchronous issues to improve stability and reduce the occurrence of 500 errors.
- Switchable Personalities: Introduce different personalities for the assistant, allowing users to choose the interaction style that suits them best.
- Document Digestion (RAG): Implement Retrieval-Augmented Generation (RAG) to allow Chanakya to read and understand documents, answering questions based on their content.
- Auto correction on tool call failure: The assistant will analyze the error and fix it by itself on tool call failure.
- Enhanced Usability: Focus on making the setup and configuration process easier for non-developers, potentially through a guided setup wizard in the UI.
This project is licensed under the MIT License. See the LICENSE file for details.
