Skip to content

Jake-Pullen/devin

Repository files navigation

Devin - Your Personal AI Assistant

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.

Project Overview

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

🧠 Local LLM Assistant with UV

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.

📌 Overview

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.

Features

  • ✅ Communicates with LM Studio via API
  • ✅ Tool support: get_weather, find_folder
  • ✅ Easy-to-use CLI interface
  • ✅ Uses UV for fast, modern package management

🛠️ Prerequisites

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

📦 Installation

  1. Clone or download this repository.
  2. Install dependencies using UV:
uv sync

This command will install all project dependencies listed in pyproject.toml.

  1. Ensure LM Studio is running and the server is accessible at http://127.0.0.1:1234/v1/chat/completions.

▶️ Usage

Run the application using:

uv run main.py

Then, you can interact with the LLM by typing prompts directly into the terminal.

Example Tools

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”

🧪 Development

To add new tools or modify existing ones:

  1. Add your function to tools.py.
  2. Register it in ToolExecutor class under self.tools.
  3. Update the system prompt in config.py if needed.

📄 License

This project is licensed under the GNU General Public License v3.0 – see the LICENSE file for details.


Roadmap

Phase 1: Core Functionality

  • Basic LLM connection and response
  • Conversation history management
  • Enhanced response formatting

Phase 2: Tool Integration

  • Web search capabilities
  • File system operations
  • Code execution environment

Phase 3: Multi-Agent System

  • Worker LLM coordination
  • Task delegation and management
  • Complex workflow automation

License

TBC - non commercial / not for profit


Devin - Your Personal AI Assistant Powered by local LLM technology

About

Local Agent and MCP build for hack day

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages