Skip to content

Latest commit

 

History

9 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Private Thoughts Telegram Bot

A local-first Telegram bot for capturing thoughts, organizing ideas, planning tasks, and reviewing progress over time.

The idea

Many useful thoughts appear during the day and then disappear. This bot is designed to be a simple private companion that helps you:

  • capture a thought as soon as it happens;
  • separate thoughts, ideas, and work flows;
  • organize entries with your own tags;
  • turn selected thoughts into practical tasks;
  • plan the day and check progress during the day;
  • review what you completed at the end of each week; and
  • export or optionally share a summary that you approve.

The long-term aim is to help people move from thought, to clarity, to action, without requiring a complicated productivity system.

What the bot currently does

Local-first storage

Data is stored in a local SQLite database named app.db.

  • Thought text is encrypted with AES-256-GCM before it is saved.
  • Each Telegram user receives a separate encryption key.
  • User keys are encrypted with the server master key.
  • Generated summaries are encrypted before local storage.
  • app.db and .env are excluded from Git by .gitignore.

Optional AI

AI is disabled by default. The bot can be used without Gemini for local thought capture, tags, tasks, reminders, planning, check-ins, exports, and weekly tracking.

If a user wants AI summaries, they must:

  1. Add their own Gemini API key with /ai_key.
  2. Explicitly consent with /ai_on.
  3. Use /digest or wait for the morning plan.

Only then are the user's selected thoughts sent to Google Gemini. Each user is limited to five AI requests per UTC day. /ai_off immediately disables AI processing.

Daily workflow

The scheduler uses the timezone configured in .env.

  • 08:00 - Morning plan and optional thought digest
  • 14:00 - Afternoon progress check-in
  • 20:00 - Evening progress check-in
  • Sunday at 20:00 - Weekly completion summary
  • Every minute - Due reminder delivery

Users can also trigger plans and summaries manually.

Telegram commands

Getting started

/start

Capture entries

/thought I need to research this topic
/idea Build a simple personal dashboard
/flow Working through the database design

Normal text messages are saved as thought.

Tags

Create a tag:

/tag work

Save a thought with a tag:

/tag work Finish the project outline

View your tags:

/tags

Tasks and planning

Add one or more tasks:

/task Reply to the email
Prepare the presentation

View the current plan:

/plan

Tasks can be marked complete with the inline Done buttons.

Reminders

Use an ISO date and time. Times without a timezone are treated as UTC.

/remind 2026-09-04T15:30 Review the project

AI controls

/ai_key YOUR_PERSONAL_GEMINI_API_KEY
/ai_status
/ai_on
/digest
/ai_off
/ai_key clear

Never send an API key in a group chat. Send it privately to the bot.

Reports and export

/weekly
/export text
/export json

Exports are sent privately to the requesting Telegram user.

Optional sharing

/share

Sharing is disabled unless SHARE_ENDPOINT is configured. The bot always asks for confirmation first and sends only the generated summary and its tasks, never raw thoughts or encrypted database content.

Only use a sharing endpoint that you trust and control.

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages