Add your description here
Project description
orun-py
A Python CLI Agent wrapper for Ollama. It combines chat capabilities with autonomous tools (file I/O, shell execution, web fetching), built-in screenshot analysis, and 200+ prompt/strategy templates.
Features
- Autonomous Agent: Can read/write files, run shell commands, search the web, and fetch URLs (with user confirmation).
- Consensus Systems: Multiple models working together in sequential pipelines or parallel aggregation.
- Web Search: Google Custom Search API (with DuckDuckGo fallback) for internet searches.
- URL Fetching: Jina AI Reader converts web pages to clean markdown optimized for LLM analysis.
- arXiv Integration: Search and retrieve academic papers directly from arXiv.
- Screenshot Analysis: Auto-detects and attaches recent screenshots from your Pictures folder.
- Prompt Templates: 200+ pre-defined templates for coding, analysis, writing, and more.
- Strategy Templates: Chain-of-Thought, Tree-of-Thought, and other reasoning strategies.
- Conversation History: SQLite-backed history lets you resume any session.
- Model Management: Sync models from Ollama and manage shortcuts.
Installation
pip install orun-py
Usage
Agent & Query
Ask a question or give a task. The AI will use tools if necessary.
orun "Why is the sky blue?"
orun "Scan the current directory and list all Python files"
orun "Read src/main.py and explain how it works"
Interactive Chat
Start a continuous session:
orun chat
Start chat with a specific model:
orun chat -m coder
Prompt & Strategy Templates
Use a prompt template:
orun "Review this code" -p review_code
orun "Analyze this paper" -p analyze_paper
Use a reasoning strategy:
orun "Explain step by step" -s cot
orun "Explore multiple approaches" -s tot
Combine prompt and strategy:
orun "Debug this issue" -p analyze_incident -s cod
List available templates:
orun prompts # List all prompt templates
orun strategies # List all strategy templates
In chat mode, apply templates dynamically:
/prompt analyze_paper
/strategy cot
Consensus Systems (Multi-Model)
Let multiple models collaborate for better results:
# List available consensus pipelines
orun consensus
# Code review: generate → review → refine
orun "Create a REST API for users" -C code_review
# Multi-expert: 3 models analyze, then synthesize
orun "Compare React vs Vue" -C multi_expert
# Vision + text: analyze image → refine response
orun "Explain this diagram" -i -C vision_consensus
# Vision + code: analyze UI → generate code
orun "Convert this mockup to React" -i -C vision_code
7 Built-in Pipelines:
- best_of_three - Same model 3 times, show all results
- code_review - Generate code → Review → Refine (3 models)
- iterative_improve - Draft → Critique → Improve (3 models)
- multi_expert - 3 models analyze, then synthesizer combines
- research_paper - Research → Outline → Write (3 models)
- vision_consensus - Vision analysis → Text refinement
- vision_code - Vision analysis → Code generation
Create Custom Pipelines:
# Edit ~/.orun/config.json
{
"consensus": {
"pipelines": {
"my_workflow": {
"type": "sequential",
"models": [
{"name": "model1", "role": "analyzer"},
{"name": "model2", "role": "synthesizer"}
]
}
}
}
}
User-defined pipelines automatically override defaults with the same name.
Analyze Screenshots
Attach the most recent screenshot:
orun "What is this error?" -i
Attach the last 3 screenshots:
orun "Compare these images" -i 3x
arXiv Integration
Search for academic papers and let the AI analyze them:
orun "Find recent papers about transformers in NLP"
orun "Get details about arXiv paper 1706.03762"
orun "Search for papers by Geoffrey Hinton and summarize his latest work"
In interactive chat, use the /arxiv command for direct access:
orun chat
> /arxiv quantum computing
> /arxiv 1706.03762
> /arxiv https://arxiv.org/abs/2301.07041
The AI can autonomously:
- Search arXiv by keywords, topics, or authors
- Retrieve full paper details (title, abstract, authors, PDF links)
- Analyze and summarize research papers
- Find relevant literature for your projects
The /arxiv command automatically detects whether you're searching or requesting a specific paper, fetches the data, and provides AI analysis without showing raw output.
Web Search & URL Fetching
Search the web or fetch specific web pages in interactive chat:
Web Search (DuckDuckGo with Language Detection):
orun chat
> /search Python asyncio tutorials
> /search latest news about AI
Fetch URL (via Jina AI Reader):
orun chat
> /fetch https://example.com
> /fetch github.com/user/repo
Features:
- Web Search: DuckDuckGo with automatic language detection for region-appropriate results
- Language Detection: Automatically detects query language (Ukrainian, Russian, English, etc.) and sets appropriate region
- URL Fetching: Jina AI Reader converts pages to clean markdown optimized for LLM analysis
- No Configuration Required: Works out of the box with unlimited free searches
- AI Analysis: All results are analyzed and summarized by the AI
The AI can also autonomously call web_search() and fetch_url() tools during conversations.
Model Management
Sync models from Ollama:
orun refresh
List available models:
orun models
Set default active model:
orun set-active llama3.1
Create a shortcut:
orun shortcut llama3.1:8b l3
Conversation History
List recent conversations:
orun history
Continue a conversation by ID:
orun c 1
Continue the last conversation:
orun last
Requirements
- Python 3.12+
- Ollama running locally
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 orun_py-1.2.7.tar.gz.
File metadata
- Download URL: orun_py-1.2.7.tar.gz
- Upload date:
- Size: 490.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5c457d6682eb7e14c6d7163d44f175e1adfad62f6951737543f71058502bfaa9
|
|
| MD5 |
ce8582d552809e6b0d84180a603a9b9f
|
|
| BLAKE2b-256 |
79af4a7c9566901a7e86c55c0c4b3175e504f6defd87f3e698d05e08b343ac5c
|
File details
Details for the file orun_py-1.2.7-py3-none-any.whl.
File metadata
- Download URL: orun_py-1.2.7-py3-none-any.whl
- Upload date:
- Size: 558.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fec2dfbb6870af4395ec8469310bab505c0c1df8628a6cbc79e63059e724eb2e
|
|
| MD5 |
35de3d84b9d525a9ae4f2a5a7af345e3
|
|
| BLAKE2b-256 |
8a76244522cc13db56564c388c56e8504e6b11663fb892d0fbf07bfb984069d2
|