A minimal Python sandbox for experimenting with terminal-based LLM applications.
The project focuses on small, readable scripts that demonstrate core patterns for chat and tool-calling agents without introducing a larger framework. It currently includes a chat client, a coding agent, and a terminal word game generated with the agent itself.
- Lightweight Python CLIs with straightforward, readable implementations
- OpenRouter-backed chat and agent examples
- Local tool execution for basic coding workflows
- Session logging for agent runs in
logs/ - A small example artifact,
wordy.py, created through the agent
A minimal multi-turn chat client for OpenRouter.
- Sends conversation history with each request
- Maintains in-memory session state for the current run
- Uses only the Python standard library
A compact coding agent that extends the same chat loop with local tools.
Available tools:
bashread_filewrite_filelist_filessearch_filescheck_lint
Each session is written to logs/chat_YYYYMMDD_HHMMSS.log for later inspection.
A terminal word-guessing game inspired by Wordle, with ANSI color output and an on-screen keyboard.
- Python
3.14+ - An
OPENROUTER_API_KEYenvironment variable forchat.pyandagent.py
Create a virtual environment and activate it:
python -m venv .venv
.venv\Scripts\Activate.ps1Set your OpenRouter API key:
$env:OPENROUTER_API_KEY="your_key_here"You can also place the key in a local .env file in the repository root:
OPENROUTER_API_KEY=your_key_hereRun the chat client:
python chat.pyRun the coding agent:
python agent.pyRun the word game:
python wordy.py.
|-- agent.py
|-- chat.py
|-- logs/
|-- pyproject.toml
|-- README.md
`-- wordy.py
chat.pyandagent.pyload a local.envfile automatically when present.- The project is intentionally standard library-first and keeps its examples compact.
- Model names, prompts, and tool definitions are currently configured directly in the scripts.