Welcome to Devin, your very own Jarvis-inspired AI assistant! This project aims to create a powerful, extensible AI system that can understand and respond to your questions while gradually building up capabilities through tools and worker agents.
Devin is designed to be a personal AI assistant that:
- Connects to local LLMs for natural language understanding and generation
- Responds to user questions in a conversational manner
- Scales from simple question answering to complex multi-agent workflows
- Provides a foundation for building sophisticated AI tools and systems
A simple yet powerful local AI assistant that leverages a locally hosted LLM (via LM Studio) and integrates tools such as weather lookup and folder search. Built using Python, with package management handled via UV.
This project allows you to interact with a local large language model (LLM) through a terminal-based interface. It supports tool integration for tasks like fetching current weather or locating folders on your machine.
- ✅ Communicates with LM Studio via API
- ✅ Tool support:
get_weather,find_folder - ✅ Easy-to-use CLI interface
- ✅ Uses UV for fast, modern package management
Before running this project, make sure you have:
- LM Studio installed and running with a model (e.g.,
qwen/qwen3-coder-30b) - UV installed for package management
- Clone or download this repository.
- Install dependencies using UV:
uv syncThis command will install all project dependencies listed in
pyproject.toml.
- Ensure LM Studio is running and the server is accessible at
http://127.0.0.1:1234/v1/chat/completions.
Run the application using:
uv run main.pyThen, you can interact with the LLM by typing prompts directly into the terminal.
You can use the following tools in your prompts:
get_weather: Get current weather for a location.- Example prompt: “What’s the weather like in London?”
find_folder: Find folders matching a name.- Example prompt: “Find the devin folder”
To add new tools or modify existing ones:
- Add your function to
tools.py. - Register it in
ToolExecutorclass underself.tools. - Update the system prompt in
config.pyif needed.
This project is licensed under the GNU General Public License v3.0 – see the LICENSE file for details.
- Basic LLM connection and response
- Conversation history management
- Enhanced response formatting
- Web search capabilities
- File system operations
- Code execution environment
- Worker LLM coordination
- Task delegation and management
- Complex workflow automation
TBC - non commercial / not for profit
Devin - Your Personal AI Assistant Powered by local LLM technology