A local-first desktop AI agent powered by Ollama LLM
Project description
โก InfiniThink
๐ Overview
InfiniThink lets you control your computer using plain English. Type a message or speak a command, and the AI interprets it, plans the steps, and executes them โ all on your machine.
You: "prepare my research workspace"
InfiniThink: โ
Launched Chrome
โ
Launched Notion
โ
Opened research folder
Everything runs locally through Ollama (e.g. Llama 3). No API keys, no internet required for AI inference.
๐๏ธ Architecture
User (GUI / Voice / CLI)
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโ
โ Input Processor โ โ Chat widget, STT, CLI readline
โโโโโโโโโโฌโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโ
โ Command Interpreter โ โ LLM via Ollama REST API โ JSON command
โโโโโโโโโโฌโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโ
โ Task Planner โ โ Multi-step plans for complex requests
โโโโโโโโโโฌโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโ
โ Execution Engine โ โ Tool registry dispatch + error handling
โโโโโโโโโโฌโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโ
โ Tool System โ โ app_tools ยท file_tools ยท system_tools
โโโโโโโโโโโโโโโโโโโโโโโโ
โ
โผ
System Actions
See ARCHITECTURE.md for a full layer-by-layer breakdown.
๐ Project Structure
.
โโโ infini_think/ โ Core package (gui, core, tools, voice)
โโโ assets/ โ Application icons and media
โโโ tests/ โ Unit testing suite
โโโ .gitignore โ GitHub exclusion rules
โโโ requirements.txt โ Standard runtime dependencies
โโโ README.md โ Main documentation
โโโ LICENSE โ MIT License (Private/Internal)
โโโ ARCHITECTURE.md โ Technical architecture breakdown
โโโ pyproject.toml โ Python packaging and entry points
๐ Installation
Prerequisites
| Requirement | Install / Notes |
|---|---|
| Python 3.10+ | python.org |
| Ollama | ollama.com |
| Llama 3 model | ollama pull llama3 |
1 โ Clone and install
git clone https://github.com/your-org/infini-think.git
cd infini-think
pip install -r requirements.txt
Windows PyAudio note: If
pip install pyaudiofails, install the pre-built wheel:pip install pipwin && pipwin install pyaudio
2 โ Start Ollama
ollama serve # start the server (new terminal)
ollama pull llama3 # download the model (first time only)
3 โ Launch InfiniThink
# GUI (default)
python -m infini_think.app.launcher
# Or install as a package and use the CLI command
pip install -e .
infini-think
๐ฌ Usage
GUI Mode (default)
Launch the chat window and type or speak your commands:
| Command | What happens |
|---|---|
open chrome |
Launches Google Chrome |
organize my downloads |
Sorts Downloads folder by type |
open my project folder |
Opens user's project directory |
prepare my research workspace |
Opens Chrome + Notion + research folder |
create a folder called Work |
Creates ~/Work |
what's my system info |
Returns CPU, RAM, OS details |
run ipconfig |
Executes shell command and shows output |
CLI Mode
infini-think --cli
# or
infini-think --cli --verbose # show plan details
Voice Mode
infini-think --voice
Override Model
infini-think --model mistral
infini-think --model llama3.1
๐ ๏ธ Development Setup
# Install dev dependencies
pip install -r requirements-dev.txt
# Run tests
python -m pytest tests/ -v
# Type checking
mypy Project/
# Linting
ruff check Project/
# Format
black Project/
๐ง Configuration
All settings in config/settings.py can be overridden via environment variables:
| Variable | Default | Description |
|---|---|---|
INFINI_OLLAMA_URL |
http://localhost:11434 |
Ollama server URL |
INFINI_OLLAMA_MODEL |
llama3 |
Model to use |
INFINI_OLLAMA_TIMEOUT |
60 |
Request timeout (seconds) |
INFINI_VOICE |
true |
Enable voice I/O |
INFINI_THEME |
dark |
UI theme (dark/light) |
INFINI_LOG_LEVEL |
INFO |
Log level |
๐ญ Roadmap
- Plugin system โ drop-in tools via Python entry points
- Contextual memory โ conversation history across sessions
- Background agents โ scheduled and event-triggered automation
- Premium UI & Themes โ dynamic Dark/Light mode toggle
- Custom hotkey โ global shortcut to open InfiniThink
- Windows tray icon โ always-on background mode
๐ License
MIT โ see LICENSE.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file infini_think-1.0.0.tar.gz.
File metadata
- Download URL: infini_think-1.0.0.tar.gz
- Upload date:
- Size: 71.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bb16f355cdb05074736f314b57201b07f19d3a7e9af0eacc705b0104e3959b18
|
|
| MD5 |
2437e00713f5bf1680f074c564a5dfbf
|
|
| BLAKE2b-256 |
1fed40b6904678f0d00296b63644518e6392fef939e72e2d45a9c823b375dcc0
|
File details
Details for the file infini_think-1.0.0-py3-none-any.whl.
File metadata
- Download URL: infini_think-1.0.0-py3-none-any.whl
- Upload date:
- Size: 82.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
889a2ff6c0a83b45fbe99e55206b8fff91b5878a3a67eaef33ca5a456c3567aa
|
|
| MD5 |
9ab90d9b27115b4e87a87e4de0588997
|
|
| BLAKE2b-256 |
7bf7ba7ea6f2911e1aca2d4cd2b3bc24916ce920720c9f43e99506b6a1f53e9a
|