Tool-use agent with optional LLM brain via Ollama. Pure Python stdlib.
Project description
Qwerty v3 — Tool Agent with Optional LLM Brain
Pure Python stdlib. Zero dependencies. Optional AI via Ollama.
pip install qwerty-agent → qwerty
How It Works
You → Qwerty TUI
│
├── LLM Brain (Ollama) ← if installed
│ └── understands you, calls tools, generates response
│
└── Direct tools ← fallback
├── /web, /wiki, /run, /read, /write
├── /search, /find, /list
└── text normalization + fuzzy matching
Without Ollama: Qwerty works as a direct tool agent (commands like /web, /run, /read).
With Ollama: Qwerty becomes an AI agent that understands natural language and decides when to use tools.
Quick Start
pip install qwerty-agent
qwerty "explain what a kernel is"
For AI mode:
# Install Ollama: https://ollama.com
ollama pull qwen2.5:7b
qwerty
Features
- 12 tools: read, write, edit, replace, append, list, search, find, run, web search, wikipedia, learn
- LLM Brain: optional Ollama integration — understands natural language, calls tools autonomously
- Text normalization: shorthand expansion, contraction handling, character dedup, fuzzy matching
- Constitution safety: blocks dangerous commands, secrets leaks, unauthorized file overwrites
- Persistent memory: learned facts survive across sessions
- Beautiful TUI: colors, dividers, timestamps, tab completion, command history
- No dependencies: pure Python stdlib — runs on any system with Python 3.10+
Commands
| Command | Description |
|---|---|
/web <query> |
Search the web |
/wiki <topic> |
Look up Wikipedia |
/run <cmd> |
Run shell command |
/read <path> |
Read a file |
/write <path> |
Write a file |
/search <text> |
Search files for text |
/find <pattern> |
Find files by name |
/brain |
Check LLM connection |
/status |
Agent status |
/help |
Show help |
Architecture
qwerty-agent/
├── qwerty_agent/
│ ├── agent.py # Tool implementations + process()
│ ├── brain.py # Ollama LLM connector
│ ├── interface.py # TUI (colors, history, tab completion)
│ ├── protocol.py # JSON-RPC / MCP server
│ └── constitution.json # Safety rules
├── test_all.py # 46 tests
├── pyproject.toml
└── README.md
Requirements
- Python 3.10+
- No pip packages needed
- Ollama (optional) for AI mode
Tests
python test_all.py
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 qwerty_agent-3.0.1.tar.gz.
File metadata
- Download URL: qwerty_agent-3.0.1.tar.gz
- Upload date:
- Size: 17.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fb786174199466625ae51613c268ed2cf9bdcfe4ef5bfdb9890df5c44570eea7
|
|
| MD5 |
9dfd157d32f0282e8c73c2772289f8b4
|
|
| BLAKE2b-256 |
373aadbb824be5b89dadd8a98d57a16792869fc76cb286bc680d1e48ddaa7172
|
File details
Details for the file qwerty_agent-3.0.1-py3-none-any.whl.
File metadata
- Download URL: qwerty_agent-3.0.1-py3-none-any.whl
- Upload date:
- Size: 19.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bfeccbad8a231fab9989669b8a0a266f92868cce1ec4202370f4034bb5ea1b00
|
|
| MD5 |
66a90e0180a0bea1b4ea2ff5ee151143
|
|
| BLAKE2b-256 |
5613475c2115f6177897fbec747e3ea41546dc38a08996d6fdb651acfbe0c10d
|