Skip to main content

Control your entire laptop from Telegram — screenshots, shell, files, processes, power, and more.

Project description

🖥️ Salim — Control Your Laptop from Telegram

Type a message on your phone. Your laptop does it.
Screenshots · Files · Shell · Processes · Power · Mouse & Keyboard · AI

Python 3.9+ Platform MIT License AI Providers


🤔 What Is This?

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

Left your laptop at home? Left a download running? Want to check if your computer is overheating? Need to grab a file from your machine while you're out?

Just text your bot. That's it.

You can use plain English thanks to built-in AI — or use quick /commands if you prefer.

You:    "take a screenshot"
Salim:  📸 [sends screenshot to Telegram]

You:    "how much RAM am I using?"
Salim:  🧠 RAM: 8.2 GB / 16 GB (51%)

You:    "find my day 3 recording"
Salim:  🔍 Found 3 results:
        1️⃣ 🎬 day3_recording.mp4 — ~/Videos — 2.1 GB
        [⬇️ Send] [🗑️ Delete]

⚡ Get Started in 3 Minutes

Step 1 — Install

pip install salim

That's the only command needed. Python 3.9 or newer required.

Don't have Python? Download it free from python.org. After installing, open Terminal (Mac/Linux) or Command Prompt (Windows) and run the command above.


Step 2 — Run Setup

salim setup

A friendly wizard will walk you through everything:

  1. Get a Telegram bot token — takes 30 seconds (instructions shown on screen)
  2. Add your Telegram user ID — so only you can control your laptop
  3. Optionally add free AI keys — lets you type in plain English instead of commands

Step 3 — Start

salim start

Open Telegram, find your bot, send /start — and you're in control.


🤖 AI Mode — Just Type Naturally

When you set up AI (optional but recommended — it's free!), you don't need to remember any commands. Just talk normally:

What you type What happens
take a screenshot Takes and sends a screenshot
how's my RAM? Shows memory usage
find my day 3 recording Searches laptop, shows results with buttons
write a csv about GDC AI writes a CSV file and saves it to Desktop
mute the volume Mutes your speakers
lock my screen Locks the laptop
check what's running Lists active processes
shut down Asks for confirmation, then shuts down

Three free AI providers — all optional:

Provider Where to get key Speed
🟢 NVIDIA NIM build.nvidia.com Fast
🟡 Groq console.groq.com Ultra-fast
🔵 Z.AI (Zhipu) z.ai Fast & 100% free

Salim tries them in order — if one fails, it falls back to the next automatically.


📱 All Commands

You can also use slash commands directly — no AI needed.

🖥️ System Info

Command What it does
/info Full overview: OS, CPU, RAM, disk, battery, uptime
/cpu Per-core CPU usage with visual bar chart
/mem RAM and swap usage
/disk All drives with used/free space
/battery Charge level, plugged in or not, time remaining
/network IP addresses, connection speed
/uptime How long the computer has been running
/top Live resource monitor (updates 5 times)

⚙️ Processes

Command What it does
/ps [name] List running programs (optional: filter by name)
/kill <pid> Stop a process by its ID
/top See what's using the most CPU/RAM

💻 Shell (Run Commands)

Command What it does
/run <command> Run any terminal command
/runbg <command> Run in background, get notified when done
/pipe cmd1 ||| cmd2 Chain commands with pipes
/env View environment variables
/which <program> Find where a program is installed
/cron <seconds> <cmd> Run a command repeatedly on a schedule
/cronjobs List your scheduled tasks
/cronstop <id> Stop a scheduled task

📂 Files

Command What it does
/ls [path] List files in a directory
/cd <path> Change working directory
/pwd Show current directory
/cat <file> Read a file's contents
/find <name> Search for files by name
/grep <text> Search inside files for text
/mkdir <name> Create a folder
/rm <path> Delete a file or folder (asks for confirmation)
/mv <from> <to> Move or rename a file
/cp <from> <to> Copy a file
/write <file> <text> Write text to a file
/download <path> Send a file from your laptop to Telegram
/upload Send a file from Telegram to your laptop
/zip <path> Create a zip archive
/unzip <file> Extract a zip archive

📸 Screen & Input

Command What it does
/screenshot or /ss Take and send a screenshot
/screenshot 3 Take screenshot after 3-second delay
/type <text> Type text as if using the keyboard
/key <shortcut> Press a keyboard shortcut (e.g. ctrl+c, cmd+space)
/click <x> <y> Click the mouse at screen coordinates
/scroll <amount> Scroll the mouse wheel
/move <x> <y> Move mouse cursor
/mousepos See current cursor position
/open <app or url> Open an app, file, or website

📋 Clipboard

Command What it does
/copy <text> Copy text to clipboard
/paste Read what's in the clipboard

🔔 Notifications & Media

Command What it does
/notify <title> | <message> Send a desktop notification
/volume Check current volume level
/volume 50 Set volume to 50%
/volume mute Mute or unmute
/brightness 80 Set screen brightness to 80%

🔋 Power

Command What it does
/shutdown Shut down (asks for confirmation)
/restart Restart (asks for confirmation)
/sleep Put laptop to sleep
/hibernate Hibernate
/lock Lock the screen
/logout Log out the current user
/screensaver Start the screensaver
/displays List connected displays

⚙️ Bot Settings

Command What it does
/config View all settings
/config set <key> <value> Change a setting
/logs See recent command history
/status Quick check: is everything working?

🔒 Security — Only You Can Control It

Salim is built so that no one else can touch your laptop through the bot:

  • User whitelist — Only Telegram accounts you approve can send commands
  • Silent rejection — Strangers get zero response (no hints that a bot even exists)
  • Confirmation dialogs — Dangerous actions (shutdown, delete) require you to tap "Yes" in Telegram
  • Audit log — Every command is recorded with timestamp and who sent it
  • Secure storage — Your credentials are stored locally with strict file permissions (chmod 600)
  • Token privacy — Your bot token is never shown in full or written to logs

Adding trusted users

salim adduser    # Interactive — shows you step-by-step

Or add multiple user IDs directly in ~/.salim/config.env:

SALIM_ALLOWED_IDS=111222333,444555666

Finding your Telegram user ID: Message @userinfobot on Telegram and send /start. It will reply with your numeric ID.


🛠️ CLI Commands

salim setup      # Run the setup wizard (first-time or to change settings)
salim start      # Start your bot
salim start -v   # Start with detailed logging
salim status     # Check configuration and installed features
salim config     # View or edit settings interactively
salim logs       # View the command history
salim test       # Test your Telegram connection
salim adduser    # Add a new authorized user
salim stop       # Stop the bot (if running in background)
salim uninstall  # Remove all Salim data from your computer

🔧 Configuration File

Settings are saved in ~/.salim/config.env. You can edit this file directly or use salim config.

SALIM_BOT_TOKEN=1234567890:ABCdef...        # Your Telegram bot token
SALIM_ALLOWED_IDS=123456789                  # Comma-separated user IDs
SALIM_DOWNLOAD_DIR=/Users/you/Downloads      # Where to look for downloadable files
SALIM_UPLOAD_DIR=/Users/you/Desktop         # Where to save uploaded files
SALIM_MAX_FILE_MB=50                         # Max size of files to send via Telegram
SALIM_SCREENSHOT_QUALITY=85                 # JPEG quality for screenshots (1-100)
SALIM_LOG_COMMANDS=true                     # Keep an audit log of all commands

# AI keys (optional — set during setup or add manually)
SALIM_NVIDIA_API_KEY=nvapi-...
SALIM_NVIDIA_MODEL=meta/llama-4-maverick-17b-128e-instruct
SALIM_GROQ_API_KEY=gsk_...
SALIM_GROQ_MODEL=openai/gpt-oss-120b
SALIM_ZAI_API_KEY=...
SALIM_ZAI_MODEL=glm-4.7-flash

You can also change settings from inside Telegram:

/config set max_file_mb 200
/config set screenshot_quality 95

🚀 Run Automatically at Startup

Want Salim to start every time your computer boots?

macOS

# Save this as ~/Library/LaunchAgents/com.salim.plist
<?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</string>
    <key>ProgramArguments</key>  <array><string>/usr/local/bin/salim</string><string>start</string><string>--no-banner</string></array>
    <key>RunAtLoad</key>         <true/>
    <key>KeepAlive</key>         <true/>
    <key>StandardErrorPath</key> <string>/tmp/salim.err</string>
</dict>
</plist>
launchctl load ~/Library/LaunchAgents/com.salim.plist

Linux (systemd)

# /etc/systemd/system/salim.service
[Unit]
Description=Salim Laptop Control Bot
After=network.target

[Service]
Type=simple
User=youruser
ExecStart=/usr/local/bin/salim start --no-banner
Restart=always
RestartSec=10
Environment=DISPLAY=:0

[Install]
WantedBy=multi-user.target
sudo systemctl enable --now salim

Windows (Task Scheduler)

$action  = New-ScheduledTaskAction -Execute "salim" -Argument "start --no-banner"
$trigger = New-ScheduledTaskTrigger -AtLogOn
Register-ScheduledTask -TaskName "Salim" -Action $action -Trigger $trigger -RunLevel Highest

📦 Optional Features

Some features require extra packages. Install them for the full experience:

pip install pyautogui Pillow pyperclip aiofiles
Package What it unlocks
pyautogui Screenshots, mouse control, keyboard automation
Pillow Screenshot compression (smaller file sizes)
pyperclip Clipboard read/write
aiofiles Faster file transfers

If these aren't installed, Salim will tell you which commands need them and how to get them.


❓ Common Questions

Do I need technical knowledge to use this? Not at all. Run pip install salim then salim setup — the wizard explains every step clearly with examples.

Is it safe to leave running? Yes. Only your approved Telegram accounts can send commands. All others are completely ignored.

What if I lose internet / Telegram goes down? Salim will automatically reconnect. The bot just waits patiently.

Can multiple people control one laptop? Yes — add multiple Telegram user IDs with salim adduser. Each person's commands are logged separately.

Do I need to pay for the AI features? No. All three AI providers (NVIDIA NIM, Groq, Z.AI) have completely free tiers that are more than enough for personal use. Z.AI's Flash models have no stated limits at all.

Does this work on Windows? Yes — macOS, Linux, and Windows are all supported.

What if a command fails? Salim tells you exactly what went wrong in plain English. For AI key problems, it tells you the exact error (like "401 Unauthorized") so you know whether it's a wrong key or a network issue.


📄 License

MIT — free to use, modify, and share. See LICENSE.


Made with ❤️ — Control your world from your pocket.

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.0.3.tar.gz (55.8 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.0.3-py3-none-any.whl (56.9 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for salim-1.0.3.tar.gz
Algorithm Hash digest
SHA256 b90ba28bf77d7c017fe701d5554c844409d6df0814db0f84c06f337c83a32429
MD5 d01882253b08827f3d052eee88b07924
BLAKE2b-256 3db5449fe448190c723415390af5adfcbbd93cb703ebc2f444f3b6051f4a874f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: salim-1.0.3-py3-none-any.whl
  • Upload date:
  • Size: 56.9 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.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 68ba9842b5bb2b875b87a06e96b67bd1b8717cbed9cd2f1457a850c7727c0978
MD5 89328221ae71cee642e719918a4be830
BLAKE2b-256 860e3d2e18ba59afbe20ed3e9bf13979ce4701a39bc270fdcf76a8ddd98224b4

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