agentgog
CLI assistant that classifies short messages into CALENDAR, TASK, or MEMO and then:
- CALENDAR → extracts event details and inserts into Google Calendar
- TASK → extracts task details and inserts into Google Tasks
- MEMO → extracts memo details and saves to Simplenote
It also provides a general chat command, plus extra utilities (translator, qrpayment, codeagent).
Install
This repo uses uv.
uv sync
Run from source:
uv run agentgog --help
AI Provider setup
OpenRouter (default)
Set API key via env var (preferred):
export OPENROUTER_API_KEY="<your_key>"
Or put the key in:
~/.openai_openrouter.key
Ollama (local)
Install and start Ollama:
ollama serve
Then use -p ollama.
llama.cpp (local)
Requires a running llama.cpp server (typically on port 8080):
# Default server URL: http://localhost:8080
uv run agentgog chat -p llama.cpp
# Custom URL via environment variable
export AGATA_LLAMACPP_URL="http://localhost:8080"
uv run agentgog chat -p llama.cpp
# Custom timeout (default: 90 seconds)
export AGATA_LLAMACPP_TIMEOUT=120
uv run agentgog chat -p llama.cpp
Model detection: The model is automatically detected from the server (/v1/models endpoint). You don't need to specify a model with -m - agata will query the server to find out what's loaded.
To test connectivity:
uv run agentgog test-llamacpp
Google setup (Calendar + Tasks)
- Create OAuth client credentials in Google Cloud Console.
- Save the JSON to:
~/.config/google/credentials.json
On first run, a browser window opens for authorization and a token is cached at:
~/.config/google/token.json
If you ever change scopes and get “insufficient authentication scopes”, delete the token and re-run:
rm -f ~/.config/google/token.json
Simplenote setup (MEMO)
Set credentials via environment variables:
export SIMPLENOTE_LOCAL_USER="user@example.com"
export SIMPLENOTE_LOCAL_PASSWORD="<your_password>"
Usage
Classify and execute
# Calendar event → Google Calendar
uv run agentgog classify "Meeting with Alice tomorrow at 10am"
# Task → Google Tasks (list: "My Tasks"; falls back to default)
uv run agentgog classify "Buy groceries tomorrow"
# Memo → Simplenote
uv run agentgog classify "Remember that my passport number is 123456789"
Choose provider
# Use OpenRouter explicitly
uv run agentgog classify "Buy groceries" -p openrouter
# Use local Ollama
uv run agentgog classify "Buy groceries" -p ollama
# Use local llama.cpp server
uv run agentgog classify "Buy groceries" -p llama.cpp
Chat
Single prompt:
# Use default provider (OpenRouter)
uv run agentgog chat "Explain the difference between TCP and UDP"
# Use llama.cpp local server
uv run agentgog chat "Explain the difference between TCP and UDP" -p llama.cpp
Interactive chat (keeps conversation history in-memory):
# Default provider
uv run agentgog chat
# With llama.cpp
uv run agentgog chat -p llama.cpp
Interactive commands:
- Quit:
/q,/quit,/exit,quit,exit - Clear conversation:
/c,/clear,/reset,/r
Input line editing + persistent command history:
- History file:
~/.agentgog_history
Translator (SRT → Czech)
Uses smolagents (OpenRouter only):
uv run agentgog translator -s subtitles.srt -m google/gemma-3-27b-it:free
QR payment
Uses smolagents (OpenRouter only):
uv run agentgog qrpayment "Transfer 500 CZK to account 1234567890/0300" -m google/gemma-3-27b-it:free
Code agent
Uses smolagents:
# With OpenRouter
uv run agentgog codeagent "Write a Python function to compute fibonacci" -m google/gemma-3-27b-it:free -x 10
# With local llama.cpp server
uv run agentgog codeagent "Say hello" -p llama.cpp
Example llama.cpp server setup:
llama-server -hf unsloth/gemma-4-E4B-it-GGUF \
--threads 8 --ctx-size 4096 \
--temp 0.8 --top-p 0.85 --top-k 40 \
--repeat-penalty 1.1 --host 0.0.0.0 -ngl 0
Logging
- Log file:
~/agentgog.log
Metadata
Release files for agentgog 0.1.41
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| agentgog-0.1.41.tar.gz | 101.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| agentgog-0.1.41-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 204.5 kB
Release files / agentgog-0.1.41.tar.gz
| Download URL | agentgog-0.1.41.tar.gz |
|---|---|
| Size | 101.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e3c82f1a79d2667b9fd4d5462a97f2da1c0ba8257bf6d6a1566158bd2d1121c0
|
|
BLAKE2b-256 checksum How to use checksums |
625987ff3bb5ca828f8f8c74047ef1803974a715b94e10ec5247655a97ec61df
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.7
|
Release files / agentgog-0.1.41-py3-none-any.whl
| Download URL | agentgog-0.1.41-py3-none-any.whl |
|---|---|
| Size | 102.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
3c2374b8d2811b204841f71a66c1c3ebd128771e34a77a4fb570962509e60459
|
|
BLAKE2b-256 checksum How to use checksums |
9398ba244f96c9f3e3789d20a222ffdb5314213a4b30266a1de617481186ed75
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.7
|