Skip to main content

Control your entire laptop from Telegram โ€” screenshots, shell, files, processes, power, browser automation, SSH, vision AI, TTS, scheduler, QR, speed test, file watcher, and more.

Project description

๐Ÿ–ฅ๏ธ Salim โ€” Control Your Laptop from Telegram

Type a message on your phone. Your laptop does it.
Screenshots ยท Files ยท Shell ยท Volume ยท Apps ยท Mic ยท AI ยท SSH ยท Vision ยท TTS ยท Browser


๐Ÿค” What Is This?

Salim turns your laptop into a bot you can control from anywhere in the world using Telegram.

Left your laptop at home? Need to grab a file? Want to check if it's overheating? Need to mute the volume?

Just text your bot. It does it.

You:    "open chrome"
Salim:  ๐Ÿš€ Launched Google Chrome

You:    "mute the volume"
Salim:  ๐Ÿ”‡ Muted

You:    "find my day 3 recording"
Salim:  ๐Ÿ” Found 3 results:
        1๏ธโƒฃ ๐ŸŽฌ Day3_recording.mp4 โ€” ~/Videos โ€” 2.1 GB
           [โฌ‡๏ธ Send]  [๐Ÿš€ Open]  [โ–ถ๏ธ Play]  [๐Ÿ—‘๏ธ Del]

You:    "record 20 seconds of audio"
Salim:  ๐ŸŽ™๏ธ Recording 20s... โ†’ sends voice message inline

โšก Get Started in 3 Minutes

Step 1 โ€” Install

pip install salim

That's it. All dependencies install automatically after this one command.

Step 2 โ€” Setup

salim setup

Wizard asks you for:

  1. A Telegram bot token from @BotFather (takes 30 seconds)
  2. Your Telegram user ID (find it at @userinfobot)
  3. Optional: free AI API keys (NVIDIA / Groq / Z.AI)

Step 3 โ€” Start

salim start

Open Telegram โ†’ find your bot โ†’ send /start โ†’ you're in control.


๐Ÿค– AI Mode โ€” Just Type Naturally

You type Salim does
open spotify Launches Spotify
mute Mutes volume
set volume to 60 Sets volume to 60%
find my day 3 video Searches laptop, shows file buttons
take a screenshot Sends screenshot
how's my battery Reports battery level
record 30 seconds of audio Records mic, sends voice message
open youtube Opens YouTube in browser
create a resume Generates Word document
what's running Lists active processes
shutdown Confirms then shuts down

๐Ÿ“‹ Full Command Reference

Every command is also listed in Telegram's / menu โ€” tap / to see them all.

๐Ÿ–ฅ๏ธ System

/info           Full system overview
/cpu            CPU usage & cores
/mem            RAM usage
/disk           Disk space
/battery        Battery level & status
/network        Network info & IP
/uptime         System uptime
/top            Live resource monitor
/ps [name]      List processes
/kill <pid>     Kill a process

๐Ÿ’ป Shell

/run <cmd>           Run shell command
/runbg <cmd>         Run in background
/pipe <cmd>          Pipe command
/env                 Environment variables
/which <prog>        Find executable path
/cron <sched> <cmd>  Add cron job
/cronjobs            List cron jobs
/cronstop <id>       Remove cron job

๐Ÿ“‚ Files

/ls [path]           List directory
/cd <path>           Change directory
/pwd                 Current directory
/cat <file>          Read file contents
/stat <file>         File info & size
/find <pattern>      Find files
/grep <pattern>      Search text in files
/mkdir <name>        Create folder
/rm <path>           Delete file/folder
/mv <src> <dst>      Move/rename
/cp <src> <dst>      Copy file
/write <file> <txt>  Write to file
/download <path>     Send file to Telegram
/upload              Receive file from Telegram
/zip <path>          Create zip
/unzip <file>        Extract zip

๐Ÿ“ธ Screen & Input

/screenshot [delay]      Take screenshot
/ss                      Quick screenshot
/stream [interval] [s]   Live screen stream
/streamstop              Stop stream
/type <text>             Type on keyboard
/key <shortcut>          Press key (e.g. ctrl+c)
/click <x> <y>           Mouse click
/scroll <n>              Scroll up/down
/move <x> <y>            Move mouse
/mousepos                Get mouse position
/brightness <0-100>      Screen brightness

๐Ÿš€ Open App / File / URL

/open chrome             โ†’ Launches Google Chrome
/open spotify            โ†’ Launches Spotify
/open terminal           โ†’ Opens Terminal
/open ~/file.pdf         โ†’ Opens with default viewer
/open https://x.com      โ†’ Opens in browser

All common apps supported: chrome firefox safari brave edge vscode spotify discord slack zoom telegram vlc obs gimp terminal steam and more.

๐Ÿ”Š Volume Control

/volume           Show current volume with progress bar
/volume 75        Set to 75%
/volume up        Increase 10%
/volume down      Decrease 10%
/volume mute      Mute
/volume unmute    Unmute
/volume toggle    Toggle mute on/off

Uses pulsectl (Linux), osascript (macOS), pycaw (Windows).

๐Ÿ“‹ Clipboard

/paste            Read clipboard (text or image)
/copy <text>      Copy text to clipboard
/copyphoto        Reply to photo โ†’ copies it to clipboard

๐ŸŽ™๏ธ Microphone Recording

/mic              Record 10 seconds (default)
/mic 30           Record 30 seconds
/mic 60           Record 60 seconds (max 120)
/mictest          List available microphone devices

Sends as an inline voice message that plays in Telegram. Uses PyAudio โ†’ WAV โ†’ OGG Opus via ffmpeg.

๐Ÿ—ฃ๏ธ Text-to-Speech

/tts <text>         Speak text aloud on laptop
/say <text>         Same as /tts
/tts_lang <code>    Set language (en, ar, fr, ...)
/tts_speed <0.5-2>  Set speed
/tts_engine         Switch online/offline engine
/tts_voice          List/set voices

๐ŸŒ Browser Automation (Playwright)

/browse <url>              Open URL + send screenshot
/browse_click <selector>   Click CSS selector or text
/browse_type <sel> <text>  Type in form field
/browse_scroll [direction] Scroll page
/browse_js <code>          Run JavaScript
/browse_back               Navigate back
/browse_get <url>          Fetch page HTML
/browse_close              Close browser session

๐Ÿ”Œ SSH Remote Control

/ssh_add <alias> <user@host> [port]   Register host
/ssh <alias> <command>                Run remote command
/ssh_list                             List hosts
/ssh_remove <alias>                   Remove host
/ssh_upload <alias> <local> <remote>  Upload file
/ssh_download <alias> <remote_path>   Download file

๐Ÿ‘๏ธ Vision AI

Send any photo โ†’ ask questions about it:
"what error is shown?" / "read this text" / "what app is open?"

/vision             Status & instructions
/vision on          Auto-describe all photos
/askvision <q>      Ask about last photo

๐Ÿ“ท Camera & Recording

/cam              Webcam snapshot
/cam list         List cameras
/record <secs>    Screen recording

๐Ÿ”” Alerts

/alert add cpu > 80       Alert when CPU > 80%
/alert add mem > 90       Alert when RAM > 90%
/alert add battery < 20   Alert when battery < 20%
/alert list               List alerts
/alert del <id>           Remove alert

๐Ÿ“„ Document Writer

/doc resume         AI-generated resume (.docx)
/doc invoice        Invoice spreadsheet (.xlsx)
/doc cover letter   Cover letter (.docx)
/doc budget         Budget spreadsheet (.xlsx)
/doc report         Business report (.docx)
/doc memo           Office memo (.docx)

๐Ÿง‘โ€๐Ÿ’ป AI Code Runner

/code build a Python script that renames files in a folder
/code create a Flask API with user authentication

AI writes code โ†’ runs it โ†’ sends output + file.

๐Ÿ›ก๏ธ Security Guard

/guard on              Arm intrusion detection
/guard off             Disarm
/guard status          Show status
/guard grace <secs>    Set grace period

When armed: detects movement/input โ†’ takes screenshot + webcam photo โ†’ sends alert to Telegram.

๐Ÿ”‹ Power

/shutdown    Shutdown (with confirmation)
/restart     Restart (with confirmation)
/sleep       Sleep/suspend
/hibernate   Hibernate
/lock        Lock screen
/logout      Logout

โฐ Scheduler

/at 14:30 <command>         Run at specific time
/every 30 min <command>     Repeat every N minutes
/every 1 hour df -h         Disk report every hour
/jobs                       List scheduled jobs
/jobcancel <id>             Cancel a job

๐Ÿ“ฑ QR Code

/qr <text|url>    Generate QR code image
/qrread           Read QR code from photo you send

๐ŸŒ Speed Test

/speedtest        Download / upload / ping test

๐Ÿ‘ File Watcher

/watch <path>     Watch file/folder for any changes
/watchlist        List active watchers
/watchstop <id>   Stop a watcher

๐Ÿ“ Notes

/note <text>    Save a quick note
/notes          List all notes
/notedel <id>   Delete a note
/noteclear      Clear all notes

โš™๏ธ Bot Management

/status     Bot & system status
/config     View/edit settings
/logs [n]   Last N command logs
/history    AI conversation history
/uploads    Upload history
/voicestatus Voice transcription status

๐Ÿ” Smart File Search

Type "find my day 3 recording" or "download the invoice" โ€” Salim:

  1. Extracts keywords using AI
  2. Searches your entire laptop (all folders)
  3. Shows results with action buttons per file:
๐Ÿ” Found 2 results:

1๏ธโƒฃ ๐ŸŽฌ Day3_Recording.mp4
   ๐Ÿ“ ~/Videos/Course
   ๐Ÿ’พ 2.1 GB ยท 3 days ago
   [โฌ‡๏ธ Send]  [๐Ÿš€ Open]  [โ–ถ๏ธ Play]  [๐Ÿ—‘๏ธ Del]

2๏ธโƒฃ ๐Ÿ“„ day3_notes.txt
   ๐Ÿ“ ~/Documents
   ๐Ÿ’พ 4.2 KB ยท 3 days ago
   [โฌ‡๏ธ Send]  [๐Ÿš€ Open]  [๐Ÿ‘๏ธ Read]  [๐Ÿ—‘๏ธ Del]
  • โฌ‡๏ธ Send โ€” downloads file to Telegram
  • ๐Ÿš€ Open โ€” opens file on laptop with default app
  • โ–ถ๏ธ Play โ€” plays video/audio in media player
  • ๐Ÿ‘๏ธ Read โ€” shows text file contents in chat
  • ๐Ÿ—‘๏ธ Del โ€” deletes with confirmation

๐ŸŽ™๏ธ Voice Commands

Send a voice note โ†’ Salim transcribes it offline โ†’ executes it as a command.

  • No internet needed for transcription (faster-whisper, runs on CPU)
  • No API key needed
  • Model downloaded once (~150MB) on first use
  • Supports auto-detection of 50+ languages

๐Ÿš€ Running as a Service

Linux (systemd โ€” recommended)

sudo tee /etc/systemd/system/salim.service << EOF
[Unit]
Description=Salim Telegram Bot
After=network.target

[Service]
User=$USER
ExecStart=$(which salim) start --no-banner
Restart=always
RestartSec=5
Environment=DISPLAY=:0

[Install]
WantedBy=multi-user.target
EOF

sudo systemctl daemon-reload
sudo systemctl enable salim
sudo systemctl start salim

macOS (launchd)

cat > ~/Library/LaunchAgents/com.salim.bot.plist << EOF
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>Label</key><string>com.salim.bot</string>
  <key>ProgramArguments</key>
  <array>
    <string>$(which salim)</string>
    <string>start</string>
    <string>--no-banner</string>
  </array>
  <key>RunAtLoad</key><true/>
  <key>KeepAlive</key><true/>
</dict>
</plist>
EOF
launchctl load ~/Library/LaunchAgents/com.salim.bot.plist

๐Ÿ“ฆ Dependencies

All installed automatically. You never need to run a second pip command.

Auto-installed system libs if missing:

  • ffmpeg โ€” for audio/video (sudo apt install ffmpeg or brew install ffmpeg)
  • portaudio19-dev โ€” for microphone on Linux (sudo apt install portaudio19-dev)

๐Ÿ”’ Security

  • Only your Telegram user ID can control the bot
  • Config stored in ~/.salim/config.env (mode 600)
  • All commands logged to ~/.salim/audit.log
  • Destructive actions (shutdown, delete, kill) require inline confirmation
  • Bot token never sent anywhere except Telegram API

๐Ÿ†˜ Troubleshooting

Volume not working (Linux):

pip install pulsectl
pulseaudio --check   # ensure PulseAudio is running

Mic not working:

sudo apt install portaudio19-dev   # Linux
pip install PyAudio
# Or: pip install sounddevice
/mictest   # list devices in Telegram

App not opening:

which google-chrome   # check it's installed
# Then: /open chrome

Playwright browser missing:

python -m playwright install chromium

Bot not responding:

salim status    # check config
salim test      # test Telegram connection

๐Ÿ“œ License

MIT License โ€” see LICENSE

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

salim-1.11.0.tar.gz (146.6 kB view details)

Uploaded Source

Built Distribution

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

salim-1.11.0-py3-none-any.whl (162.3 kB view details)

Uploaded Python 3

File details

Details for the file salim-1.11.0.tar.gz.

File metadata

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

File hashes

Hashes for salim-1.11.0.tar.gz
Algorithm Hash digest
SHA256 3ee9ad423859c95b61cbfc5ee842137e2270f079573710fb385a1de52d5f2858
MD5 353124c8fb10390628b359c049ddc6e7
BLAKE2b-256 31d4d5f551c3b43c0ed27d39ca1dbbe46077bd7228b8858b04498afad0172142

See more details on using hashes here.

File details

Details for the file salim-1.11.0-py3-none-any.whl.

File metadata

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

File hashes

Hashes for salim-1.11.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e06f4f36db321833bd28328c8a670e568b510d2fb978a36af672ee33b0746397
MD5 975dff71017496dfa3c82b10b94f0c0e
BLAKE2b-256 022e829f44c67ce5e6d27f057f2b4ce986bad6b1d2f4b32984835f891390172b

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