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
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
qwerty_agent-3.0.2.tar.gz
(17.8 kB
view details)
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.2.tar.gz.
File metadata
- Download URL: qwerty_agent-3.0.2.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 |
f03044cd0af6ab4bcf87face83ab8a029390557b5a47a6e84d1bccd06e7b623f
|
|
| MD5 |
5e8d9bc57ab3b3f6cdf6dea86c4c147b
|
|
| BLAKE2b-256 |
efb4330701e393c1314afb163dcf4cd9d2b9b2786779dc196fc01189e131125e
|
File details
Details for the file qwerty_agent-3.0.2-py3-none-any.whl.
File metadata
- Download URL: qwerty_agent-3.0.2-py3-none-any.whl
- Upload date:
- Size: 18.9 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 |
67227903a2ccec2b1373ec6f055783d9b9489860a5d1835f6d2f7e5b8683f0bb
|
|
| MD5 |
56380cc24641ed2b4f4b42bc199eb6ab
|
|
| BLAKE2b-256 |
706c2f4c7bdf985d34c84e0580f7634a1bd3ba82e4d599bf14966047cbec4d99
|