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)
- 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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file agentgog-0.1.26.tar.gz.
File metadata
- Download URL: agentgog-0.1.26.tar.gz
- Upload date:
- Size: 104.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a4a8b5babf230162754aea66a6fd0f6973a16412d6c77d8c614195fbf8c2b05c
|
|
| MD5 |
7fb76f591200a3bc78547dcf735dd425
|
|
| BLAKE2b-256 |
976be111dec3254f3d30a1653089a01f94ade0534d9d993f851b60aad251177d
|
File details
Details for the file agentgog-0.1.26-py3-none-any.whl.
File metadata
- Download URL: agentgog-0.1.26-py3-none-any.whl
- Upload date:
- Size: 81.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0eaefed7cbf809d24a3522969e6ae12a45a7d09ed3d12e1797312d16cf83649c
|
|
| MD5 |
36acedce00058446d7218d2de8dea92e
|
|
| BLAKE2b-256 |
3cca2c2b9c4e72b259ec53c5984e3a18c203b198703b062d80afc49d29fa085d
|