Skip to main content

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)

  1. Create OAuth client credentials in Google Cloud Console.
  2. 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)

Source distribution for agentgog 0.1.41
File Size Uploaded
agentgog-0.1.41.tar.gz 101.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for agentgog 0.1.41
File Interpreter ABI Platform
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
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page