Skip to main content

Your AI-powered computer butler — controlled via Telegram. Does real things.

Project description

🤖 doit-fm

Your AI-powered computer assistant — controlled entirely via Telegram.

Just talk to it naturally. It does real things on your computer.


Install in one line

pip install doit-fm

That's it. All dependencies install automatically — no manual pip install for anything.


Set up in 2 minutes

doitfm init

The wizard walks you through everything step by step:

  1. Picks and installs any missing dependencies automatically
  2. Connects your AI provider (OpenAI, Claude, Gemini, free options, or local Ollama)
  3. Creates a Telegram bot (takes ~30 seconds via @BotFather)
  4. Installs an auto-start service so it runs on boot

Then open Telegram and just talk:


Just say what you want

No commands to memorize. No technical jargon. Just plain English.

What you say What happens
"show me what's in my Downloads folder" Lists your files
"find my resume" Searches your whole computer
"what's taking up space on my disk?" Shows disk usage
"backup my Documents folder" Creates a timestamped backup
"remind me in 30 minutes" Sets a desktop notification
"what's the weather in Tokyo?" Gets live weather
"translate 'hello world' to Spanish" Instant translation
"take a screenshot" Captures and sends it to you
"turn the volume to 40%" Sets system volume
"run my tests and tell me if they pass" Runs pytest/jest
"commit everything in my project" Does git add + commit + push
"remember that my server is 10.0.0.5" Stores for later recall
"search the web for Python tutorials" Live web search
"install ffmpeg" Runs package manager
"how's my computer doing?" CPU/RAM/disk health check
"backup my Documents every day at 9am" Sets recurring schedule

What it can do

📁 Files & Folders

List, read, write, search, move, copy, delete, compress, extract, organize by type, find duplicates, backup, diff files, recursive search by content.

💻 Your Computer

CPU/RAM/disk/network monitor, process list + kill, battery status, system info, environment variables, shutdown/restart/sleep (with confirmation).

🌐 Internet & Web

Download files, search the web (DuckDuckGo), scrape pages, ping hosts, monitor websites, make HTTP requests, send webhooks.

🖥 Desktop Automation

Open apps, take screenshots, read/write clipboard, type text, keyboard shortcuts, volume control, text-to-speech notifications, desktop alerts.

📅 Scheduling

Natural language schedules: "every day at 9am", "every Monday", "in 30 minutes". Auto-backups, reminders, recurring tasks — all managed via Telegram.

🧠 Memory & Notes

Long-term memory that survives restarts ("remember that..."), Markdown notes ("make a note about..."), to-do list with priorities.

🛠 Developer Tools

Git (status, commit, push, pull, log, diff, clone), Docker (list, start, stop, exec, logs), run tests, lint, format, build — auto-detects your tools (pytest, jest, ruff, eslint...).

📦 Packages

Install/uninstall/search packages — auto-detects apt, brew, pip, npm, cargo, winget.

🔒 SSH & SFTP

Run commands on remote servers, upload/download files via SFTP.

📄 File Processing

PDF text extraction, PDF merge, image resize, CSV summarize, JSON path query, SHA-256/MD5 hash, QR code generation.

🔐 Secrets Keychain

Securely store API keys and passwords (secret_set/secret_get) — AES-256 encrypted, never shown in logs.

🎯 Utilities

Calculator (full math expressions), currency/unit conversion, weather (no API key needed), translation (no API key needed), QR code generator.


Telegram commands

Command Does
/help Everything I can do, explained in plain English
/health CPU, RAM, disk, battery at a glance
/tasks Recent task history
/memory Things I've remembered
/tools Full list of 97+ capabilities
/clear Reset conversation context
/run <cmd> Direct shell command
/safe Pause execution (safe mode)
/resume Resume execution
/cancel Cancel pending tasks
/status Agent status

AI Providers

Works with any provider — use whatever you already have:

Provider Free Tier Notes
NVIDIA NIM ✅ Free Llama 3.1, Mistral, etc.
Zhipu AI ✅ Free GLM-4 models
OpenAI ❌ Paid GPT-4o, GPT-4o-mini
Anthropic ❌ Paid Claude 3.5 Sonnet
Google ✅ Free tier Gemini Pro
Ollama ✅ Fully free 100% local, no internet
Any OpenAI-compatible varies Custom endpoint

Requirements

  • Python 3.10 or newer
  • Internet connection (for AI and Telegram)
  • A Telegram account (free)
  • An AI API key (free options available)

All Python dependencies install automatically when you run pip install doit-fm.


More commands

doitfm init              # First-time setup wizard
doitfm run               # Start the agent
doitfm status            # Check if running
doitfm stop              # Stop the agent
doitfm update            # Update to latest version
doitfm doctor            # Diagnose + auto-fix problems
doitfm uninstall         # Remove service
doitfm uninstall --purge # Remove everything including data

Privacy & Security

  • Single-user: only your Telegram ID can control the agent
  • Encrypted config: API keys and secrets stored with AES-256 (Fernet)
  • No cloud sync: everything runs locally on your machine
  • Dangerous operations (delete, shutdown, kill) require your explicit confirmation
  • Injection protection: guards against prompt injection attacks
  • Path blocklist: can't touch /etc, /boot, /sys, /proc
  • Audit log: every action logged to a local SQLite database

Plugin system

Drop a .py file into ~/.config/doit-fm/plugins/ and your custom tools appear automatically in the AI's context. No restart needed.


License

MIT — free to use, modify and distribute.

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

doit_fm-2.1.0.tar.gz (66.6 kB view details)

Uploaded Source

Built Distribution

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

doit_fm-2.1.0-py3-none-any.whl (68.9 kB view details)

Uploaded Python 3

File details

Details for the file doit_fm-2.1.0.tar.gz.

File metadata

  • Download URL: doit_fm-2.1.0.tar.gz
  • Upload date:
  • Size: 66.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.0rc1

File hashes

Hashes for doit_fm-2.1.0.tar.gz
Algorithm Hash digest
SHA256 aa1b408d1935b2b1f1bfa314c0914ac9a78dab4d4b9b02edd3990bb7bdc16663
MD5 edc1958172b9f5d759018f87dbe4ddaa
BLAKE2b-256 0395f47c37de77333dea5abf143bf2be12cf7ab2444045f04fa4ae38c172352b

See more details on using hashes here.

File details

Details for the file doit_fm-2.1.0-py3-none-any.whl.

File metadata

  • Download URL: doit_fm-2.1.0-py3-none-any.whl
  • Upload date:
  • Size: 68.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.0rc1

File hashes

Hashes for doit_fm-2.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c645a919ae20b978325dc096e62265b3612eda61474d0077765407b8a23db9a6
MD5 d52532a0e79326444223c67338cc98ca
BLAKE2b-256 5e7bff6260d1cb185940bac0c2c16aa6e0c69041be21b1fb7ca9693af94a616e

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