feat: 🔍 Testing rich
This commit is contained in:
+1
-1
@@ -1 +1 @@
|
|||||||
3.11
|
3.13
|
||||||
|
|||||||
@@ -0,0 +1,83 @@
|
|||||||
|
# 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
|
||||||
|
|
||||||
|
## Getting Started
|
||||||
|
|
||||||
|
### Prerequisites
|
||||||
|
|
||||||
|
Before running Devin, you'll need to set up your local LLM environment.
|
||||||
|
Refer to the [Configuration](#configuration) section below.
|
||||||
|
|
||||||
|
### Installation
|
||||||
|
|
||||||
|
1. Clone/Fork this repository
|
||||||
|
1. Use UV to set up requirements and environment:
|
||||||
|
```bash
|
||||||
|
uv sync
|
||||||
|
```
|
||||||
|
|
||||||
|
### Running Devin
|
||||||
|
|
||||||
|
To start Devin, simply run:
|
||||||
|
```bash
|
||||||
|
uv run main.py
|
||||||
|
```
|
||||||
|
|
||||||
|
This will initialize the AI assistant and begin listening for your questions.
|
||||||
|
|
||||||
|
## Configuration
|
||||||
|
|
||||||
|
Devin uses a configuration file to connect to your local LLM.
|
||||||
|
The configuration should be set up in `config.yaml`
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
llm:
|
||||||
|
model_path: "path/to/your/local/model"
|
||||||
|
api_base: "http://localhost:1234/v1"
|
||||||
|
```
|
||||||
|
|
||||||
|
### Local LLM Setup
|
||||||
|
|
||||||
|
Devin currently supports connecting to local LLMs such as:
|
||||||
|
- [Ollama](https://ollama.com/)
|
||||||
|
- [LM Studio](https://lmstudio.ai/)
|
||||||
|
- [LocalAI](https://localai.io/)
|
||||||
|
|
||||||
|
Make sure your chosen LLM is running and accessible before starting Devin.
|
||||||
|
|
||||||
|
## 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*
|
||||||
|
|||||||
@@ -1,5 +1,11 @@
|
|||||||
|
from rich import print, pretty
|
||||||
|
from rich.panel import Panel
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
print("Hello from devin!")
|
print("Hello from devin!")
|
||||||
|
print("[italic red]Hello[/italic red] World!", locals())
|
||||||
|
print(["Rich and pretty", True])
|
||||||
|
print(Panel.fit("[bold yellow]Hi, I'm a Panel", border_style="red"))
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
|
|||||||
+3
-3
@@ -1,7 +1,7 @@
|
|||||||
[project]
|
[project]
|
||||||
name = "devin"
|
name = "devin"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
description = "Add your description here"
|
description = "Devin is your very own AI command centre"
|
||||||
readme = "README.md"
|
readme = "README.md"
|
||||||
requires-python = ">=3.11"
|
requires-python = ">=3.13"
|
||||||
dependencies = []
|
dependencies = ["rich>=14.1.0"]
|
||||||
|
|||||||
@@ -0,0 +1,57 @@
|
|||||||
|
version = 1
|
||||||
|
revision = 3
|
||||||
|
requires-python = ">=3.13"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "devin"
|
||||||
|
version = "0.1.0"
|
||||||
|
source = { virtual = "." }
|
||||||
|
dependencies = [
|
||||||
|
{ name = "rich" },
|
||||||
|
]
|
||||||
|
|
||||||
|
[package.metadata]
|
||||||
|
requires-dist = [{ name = "rich", specifier = ">=14.1.0" }]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "markdown-it-py"
|
||||||
|
version = "4.0.0"
|
||||||
|
source = { registry = "https://pypi.org/simple" }
|
||||||
|
dependencies = [
|
||||||
|
{ name = "mdurl" },
|
||||||
|
]
|
||||||
|
sdist = { url = "https://files.pythonhosted.org/packages/5b/f5/4ec618ed16cc4f8fb3b701563655a69816155e79e24a17b651541804721d/markdown_it_py-4.0.0.tar.gz", hash = "sha256:cb0a2b4aa34f932c007117b194e945bd74e0ec24133ceb5bac59009cda1cb9f3", size = 73070, upload-time = "2025-08-11T12:57:52.854Z" }
|
||||||
|
wheels = [
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/94/54/e7d793b573f298e1c9013b8c4dade17d481164aa517d1d7148619c2cedbf/markdown_it_py-4.0.0-py3-none-any.whl", hash = "sha256:87327c59b172c5011896038353a81343b6754500a08cd7a4973bb48c6d578147", size = 87321, upload-time = "2025-08-11T12:57:51.923Z" },
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "mdurl"
|
||||||
|
version = "0.1.2"
|
||||||
|
source = { registry = "https://pypi.org/simple" }
|
||||||
|
sdist = { url = "https://files.pythonhosted.org/packages/d6/54/cfe61301667036ec958cb99bd3efefba235e65cdeb9c84d24a8293ba1d90/mdurl-0.1.2.tar.gz", hash = "sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba", size = 8729, upload-time = "2022-08-14T12:40:10.846Z" }
|
||||||
|
wheels = [
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/b3/38/89ba8ad64ae25be8de66a6d463314cf1eb366222074cfda9ee839c56a4b4/mdurl-0.1.2-py3-none-any.whl", hash = "sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8", size = 9979, upload-time = "2022-08-14T12:40:09.779Z" },
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "pygments"
|
||||||
|
version = "2.19.2"
|
||||||
|
source = { registry = "https://pypi.org/simple" }
|
||||||
|
sdist = { url = "https://files.pythonhosted.org/packages/b0/77/a5b8c569bf593b0140bde72ea885a803b82086995367bf2037de0159d924/pygments-2.19.2.tar.gz", hash = "sha256:636cb2477cec7f8952536970bc533bc43743542f70392ae026374600add5b887", size = 4968631, upload-time = "2025-06-21T13:39:12.283Z" }
|
||||||
|
wheels = [
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/c7/21/705964c7812476f378728bdf590ca4b771ec72385c533964653c68e86bdc/pygments-2.19.2-py3-none-any.whl", hash = "sha256:86540386c03d588bb81d44bc3928634ff26449851e99741617ecb9037ee5ec0b", size = 1225217, upload-time = "2025-06-21T13:39:07.939Z" },
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rich"
|
||||||
|
version = "14.1.0"
|
||||||
|
source = { registry = "https://pypi.org/simple" }
|
||||||
|
dependencies = [
|
||||||
|
{ name = "markdown-it-py" },
|
||||||
|
{ name = "pygments" },
|
||||||
|
]
|
||||||
|
sdist = { url = "https://files.pythonhosted.org/packages/fe/75/af448d8e52bf1d8fa6a9d089ca6c07ff4453d86c65c145d0a300bb073b9b/rich-14.1.0.tar.gz", hash = "sha256:e497a48b844b0320d45007cdebfeaeed8db2a4f4bcf49f15e455cfc4af11eaa8", size = 224441, upload-time = "2025-07-25T07:32:58.125Z" }
|
||||||
|
wheels = [
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/e3/30/3c4d035596d3cf444529e0b2953ad0466f6049528a879d27534700580395/rich-14.1.0-py3-none-any.whl", hash = "sha256:536f5f1785986d6dbdea3c75205c473f970777b4a0d6c6dd1b696aa05a3fa04f", size = 243368, upload-time = "2025-07-25T07:32:56.73Z" },
|
||||||
|
]
|
||||||
Reference in New Issue
Block a user