Skip to main content

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-agentqwerty

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

qwerty_agent-3.0.1.tar.gz (17.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

qwerty_agent-3.0.1-py3-none-any.whl (19.0 kB view details)

Uploaded Python 3

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

Hashes for qwerty_agent-3.0.1.tar.gz
Algorithm Hash digest
SHA256 fb786174199466625ae51613c268ed2cf9bdcfe4ef5bfdb9890df5c44570eea7
MD5 9dfd157d32f0282e8c73c2772289f8b4
BLAKE2b-256 373aadbb824be5b89dadd8a98d57a16792869fc76cb286bc680d1e48ddaa7172

See more details on using hashes here.

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

Hashes for qwerty_agent-3.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 bfeccbad8a231fab9989669b8a0a266f92868cce1ec4202370f4034bb5ea1b00
MD5 66a90e0180a0bea1b4ea2ff5ee151143
BLAKE2b-256 5613475c2115f6177897fbec747e3ea41546dc38a08996d6fdb651acfbe0c10d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page