Skip to main content

Add your description here

Project description

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

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

agentgog-0.1.29.tar.gz (104.4 kB view details)

Uploaded Source

Built Distribution

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

agentgog-0.1.29-py3-none-any.whl (82.2 kB view details)

Uploaded Python 3

File details

Details for the file agentgog-0.1.29.tar.gz.

File metadata

  • Download URL: agentgog-0.1.29.tar.gz
  • Upload date:
  • Size: 104.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.7

File hashes

Hashes for agentgog-0.1.29.tar.gz
Algorithm Hash digest
SHA256 a8231cf7ed79704106c3547d55f85172ff4230a94e30eb01000c6b5255f461f9
MD5 4fc4b21c64d085bd9e64c61f869b96a7
BLAKE2b-256 d70f21553093300e3690d7e6aead8b1ab515d46f2bfc467a0a84e398d40d792d

See more details on using hashes here.

File details

Details for the file agentgog-0.1.29-py3-none-any.whl.

File metadata

  • Download URL: agentgog-0.1.29-py3-none-any.whl
  • Upload date:
  • Size: 82.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.7

File hashes

Hashes for agentgog-0.1.29-py3-none-any.whl
Algorithm Hash digest
SHA256 7dc8055b9a1e76e8515b3a3779f5db463ad1e0239c0291f8acc62aa01c4155a4
MD5 f5470cedd3a30f0ab7a85dca1cbf8081
BLAKE2b-256 2aa5d95d7bf8a548e4d2b6909fd493d28e063c1d37ef72a8b72f57477f256f25

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