R CLI - Your Local AI Operating System. 100% private, 100% offline, 100% yours.
Project description
R CLI ๐
Your Local AI Operating System - 100% private, 100% offline, 100% yours.
R CLI is a terminal-based AI agent powered by local open source LLMs (LM Studio, Ollama). Inspired by Paul Klein's viral CEO CLI, but designed to run completely offline.
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ โโโโโโโ โโโโโโโโโโ โโโ โ
โ โโโโโโโโ โโโโโโโโโโโ โโโ โ
โ โโโโโโโโโโโโโโโโโ โโโ โโโ โ
โ โโโโโโโโโโโโโโโโโ โโโ โโโ โ
โ โโโ โโโ โโโโโโโโโโโโโโโโโโโ โ
โ โโโ โโโ โโโโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โจ Features
- ๐ 100% Local - Your data never leaves your machine
- ๐ Modular Skills - PDF, SQL, code generation, summaries and more
- ๐ฎ Epic UI - PS2/Matrix-style terminal animations
- ๐ง Built-in RAG - Persistent knowledge base
- ๐ Extensible - Create your own skills easily
- ๐ฐ Free - No paid APIs or subscriptions
๐ ๏ธ Requirements
Recommended Models
| Model | VRAM | Use Case |
|---|---|---|
| Qwen2.5-7B | 8GB | Fast, simple tasks |
| Qwen2.5-32B | 20GB | Balanced |
| Qwen2.5-72B (Q4) | 24GB | Maximum quality |
| DeepSeek-Coder | 16GB | Code specialized |
๐ฆ Installation
From PyPI (Recommended)
# Basic installation
pip install r-cli-ai
# With semantic search (RAG)
pip install r-cli-ai[rag]
# With voice mode (Whisper + TTS)
pip install r-cli-ai[audio]
# With image generation (Stable Diffusion)
pip install r-cli-ai[design]
# Everything
pip install r-cli-ai[all]
From Source
# Clone the repository
git clone https://github.com/raym33/r.git
cd r
# Install with pip
pip install -e .
# Or with uv (faster)
uv pip install -e .
๐ Quick Start
1. Start your LLM server
LM Studio:
- Open LM Studio
- Load a model (e.g., Qwen2.5-32B-Instruct)
- Start the local server (port 1234)
Ollama:
ollama run qwen2.5:32b
2. Launch R CLI
# Interactive mode
python -m r_cli.main
# Direct chat
python -m r_cli.main chat "Explain what machine learning is"
# Direct skills
python -m r_cli.main pdf "My AI report" --title "Q4 Report"
python -m r_cli.main sql sales.csv "SELECT * FROM data WHERE year = 2024"
python -m r_cli.main resume document.pdf --style detailed
python -m r_cli.main code "sorting function" --run
๐ Available Skills
| Skill | Description | Example |
|---|---|---|
pdf |
Generate PDF documents | r pdf "content" --template business |
latex |
Compile LaTeX to professional PDF | r latex document.tex |
ocr |
Extract text from images/scanned PDFs | r ocr image.png --lang eng |
voice |
Transcribe audio (Whisper) + TTS (Piper) | r voice --audio file.mp3 |
design |
Generate images with Stable Diffusion | r design "cyberpunk city" --style anime |
calendar |
Local calendar & tasks (SQLite) | r calendar --action today |
multiagent |
Multi-agent orchestration | r multiagent --task "complex task" |
plugin |
Manage community plugins | r plugin create my_plugin |
rag |
Semantic search with local embeddings | r rag --query "machine learning" |
resume |
Summarize long documents | r resume file.pdf |
sql |
SQL queries on CSVs/DBs | r sql data.csv "SELECT *" |
code |
Generate and execute code | r code "hello world" --run |
fs |
File operations | r ls --pattern "*.py" |
โ๏ธ Configuration
Create ~/.r-cli/config.yaml:
llm:
provider: lm-studio # or 'ollama'
base_url: http://localhost:1234/v1
model: local-model
temperature: 0.7
ui:
theme: ps2 # ps2, matrix, minimal, retro, cyberpunk
rag:
enabled: true
persist_directory: ~/.r-cli/vectordb
๐จ Themes
python -m r_cli.main --theme matrix # Green Matrix style
python -m r_cli.main --theme ps2 # Blue PlayStation 2
python -m r_cli.main --theme minimal # Clean and simple
python -m r_cli.main --theme retro # CRT vintage
๐ง Create Your Own Skill
# ~/.r-cli/skills/my_skill.py
from r_cli.core.agent import Skill
from r_cli.core.llm import Tool
class MySkill(Skill):
name = "my_skill"
description = "My custom skill"
def get_tools(self) -> list[Tool]:
return [
Tool(
name="my_function",
description="Does something useful",
parameters={...},
handler=self.my_function,
)
]
def my_function(self, arg1: str) -> str:
return f"Result: {arg1}"
๐ Plugin System
Create and share your own skills with the community!
# Create a new plugin
r plugin create my_awesome_plugin --description "Does cool stuff" --author "Your Name"
# Install from GitHub
r plugin install https://github.com/user/r-cli-plugin
# List installed plugins
r plugin list
# Enable/disable plugins
r plugin enable my_plugin
r plugin disable my_plugin
Plugin structure:
~/.r-cli/plugins/my_plugin/
โโโ plugin.yaml # Metadata
โโโ __init__.py # Entry point
โโโ skill.py # Skill implementation
โโโ requirements.txt # Dependencies
๐บ๏ธ Roadmap
- Agentic core with LM Studio/Ollama
- Skills: PDF, SQL, Code, Resume, Filesystem
- UI with PS2/Matrix animations
- Persistent RAG
- LaTeX compilation to professional PDFs
- OCR text extraction (Tesseract)
- Voice mode (Whisper + Piper TTS)
- Stable Diffusion integration for design
- Calendar & tasks with SQLite
- Multi-agent orchestration
- Plugin system for community skills
- Local embeddings with sentence-transformers
๐ค Contributing
Contributions are welcome!
- Fork the repository
- Create a branch (
git checkout -b feature/new-feature) - Commit your changes (
git commit -m 'Add new feature') - Push to the branch (
git push origin feature/new-feature) - Open a Pull Request
๐ License
MIT License - Use R CLI however you want.
๐ค Author
Created by Ramรณn Guillamรณn
- Twitter/X: @learntouseai
- Email: learntouseai@gmail.com
R CLI - Because your AI should be yours. ๐
Project details
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 r_cli_ai-0.3.1.tar.gz.
File metadata
- Download URL: r_cli_ai-0.3.1.tar.gz
- Upload date:
- Size: 120.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
944bb31def89da2aa92212cf7d299a5b39af4caedbf764a51166d99035dac644
|
|
| MD5 |
33b47c859a7d2da1e188f7d9cb55714d
|
|
| BLAKE2b-256 |
2e5ad7e3fe9fe640a6c3ada207aea0ddb25df97b6ed09ccee7885ceb3c29bbe5
|
Provenance
The following attestation bundles were made for r_cli_ai-0.3.1.tar.gz:
Publisher:
release.yml on raym33/r
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
r_cli_ai-0.3.1.tar.gz -
Subject digest:
944bb31def89da2aa92212cf7d299a5b39af4caedbf764a51166d99035dac644 - Sigstore transparency entry: 763855631
- Sigstore integration time:
-
Permalink:
raym33/r@deb3d2fa6fa25342f93393ad40af9b7d89f41498 -
Branch / Tag:
refs/tags/v0.3.1 - Owner: https://github.com/raym33
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@deb3d2fa6fa25342f93393ad40af9b7d89f41498 -
Trigger Event:
release
-
Statement type:
File details
Details for the file r_cli_ai-0.3.1-py3-none-any.whl.
File metadata
- Download URL: r_cli_ai-0.3.1-py3-none-any.whl
- Upload date:
- Size: 150.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7b38a657996c3a1ee74c4e583818750332ebcd94d8f434f8b0ce7e8ebf0442f0
|
|
| MD5 |
227824bf97303d0c9972648ae9fcf33d
|
|
| BLAKE2b-256 |
8cda090a4b1e5e2fe4d3f0eb262133526584e17854223c400aa79f1422f7fa9a
|
Provenance
The following attestation bundles were made for r_cli_ai-0.3.1-py3-none-any.whl:
Publisher:
release.yml on raym33/r
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
r_cli_ai-0.3.1-py3-none-any.whl -
Subject digest:
7b38a657996c3a1ee74c4e583818750332ebcd94d8f434f8b0ce7e8ebf0442f0 - Sigstore transparency entry: 763855632
- Sigstore integration time:
-
Permalink:
raym33/r@deb3d2fa6fa25342f93393ad40af9b7d89f41498 -
Branch / Tag:
refs/tags/v0.3.1 - Owner: https://github.com/raym33
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@deb3d2fa6fa25342f93393ad40af9b7d89f41498 -
Trigger Event:
release
-
Statement type: