jax-bot
[github]

jax-bot

Personal automation with two interfaces: a Telegram chatbot and a web UI. Manage tasks, habits, vehicles, notes, and budgets. Chat or click, your data stays in sync.

Add a task via chat, review your vehicle service history in the browser, then ask the bot "what's due this week?" and it pulls from everything.

* Features

* Telegram Chatbot

Chat naturally. The LLM calls functions from your modules to create tasks, search notes, check budgets, or look things up.

* Web UI

Browse and edit your data directly. Vehicle logs, wiki pages, budget history, chat threads, settings, and module config.

* Daily Summaries

Morning briefings delivered to Telegram. Tasks, habits, weather, and what needs attention today.

* Voice + Photos

Send voice messages (Whisper transcription) and photos (vision model). Media stored and viewable in the UI.

* Multi-Bot

Run isolated bot instances. Share a bot with family for groceries, keep finances on a private one. Separate databases, no cross-access.

* Extensible

Modules are folders with a manifest. They define database tables, commands, API routes, UI pages, and scheduled jobs.

* How It Works

You chat with the bot in Telegram. The LLM sees your message and the available tools. It decides what to call, executes the function, and responds with the result.

THREAD #42 3 messages
[user] 09:15:03
Add a task to buy groceries tomorrow
[assistant] 09:15:04
~85 tokens
I'll create that task for you.
create_task
title: "Buy groceries"
due_date: "2025-01-13"
[tool] 09:15:05
Task created: "Buy groceries" due Jan 13 in Inbox
[assistant] 09:15:05
Done. I've added "Buy groceries" to your Inbox, due tomorrow.

The create_task tool comes from the TickTick module. The chat module discovers it automatically because the module called self.expose("create_task", ...) on startup.

* Included Modules

* Tasks & Habits

TickTick sync, habit tracking with streaks. Chat to add tasks, UI to review.

* Vehicles

Fuel logs, maintenance, mods, legal docs. Manage in UI, query via chat.

* Wiki & Notes

Markdown pages with backlinks. usememos.com integration. Full-text search.

* Budgets

Monthly tracking, subscriptions, debts. Multi-currency. Browse in UI, ask totals in chat.

* Web Search

DuckDuckGo + URL fetch as LLM tools. Bot looks things up mid-conversation.

* Scheduling

Cron jobs, reminders, recurring messages. Daily summaries delivered to Telegram.

* Build Your Own

A module is a folder with a YAML manifest and Python code. Define database tables, chat commands, UI pages, API routes, and scheduled jobs. Functions you mark as exposed become LLM tools automatically, with schemas generated from type hints.

The included modules are examples. Build what you need: home automation, project tracking, reading lists, workout logs, whatever fits your workflow.

* Built With

Backend
Python 3.12+, FastAPI, Jinja2, SQLite via aiosqlite
Frontend
HTMX, Alpine.js
AI
Groq (LLaMA, Whisper), auto-generated tool schemas
Telegram
python-telegram-bot, APScheduler, Pydantic

Chat or click. Extend it for your own needs. One platform for personal automation.

View on GitHub