Operator is an AI agent you message from anywhere Telegram, Discord, Slack, or Twitch and it works on your computer. It reads files, browses the web, runs commands, clicks through apps, and remembers who you are. It runs locally, connects to any LLM, and gets smarter over time.
Inspired by nanobot and OpenClaw. Thanks for these wonderful projects.
🖥️ Desktop Control — Click, type, scroll, take screenshots, and open apps via native accessibility APIs (Windows UIA, macOS Accessibility (Beta), Linux (in progress)).
🌐 Web Browsing — Search, navigate, and extract content from the web.
💬 Multi-Channel — Message it through Telegram, Discord, Slack, Twitch, or MQTT.
🧠 Memory — Remembers you, your preferences, and past conversations across sessions.
📅 Scheduling — Cron-based recurring tasks and a heartbeat system for proactive work.
🎙️ Voice I/O — Full STT and TTS support across multiple providers.
🔌 Any LLM — Works with OpenAI, Anthropic, Google, Mistral, Groq, Ollama, and many more.
Two Operator agents — Jarvis and Ultron — communicating on the same machine.
Jarvis detected a bug in the inter-agent tool (invalid Windows path characters), patched the code, rebooted itself, and successfully reached Ultron. Ultron was then assigned as a researcher and tasked with a deep analysis on photosynthesis — which it delivered in full.
- Multi-Agent in Action
- Install
- Quick Start
- Channels
- Supported LLMs
- Voice (STT / TTS)
- CLI Reference
- Docker
- Contributing
- Security
- Citation
- Star History
- License
Try it instantly (no install needed — runs setup on first launch):
uvx operator-useInstall permanently (then just type operator every time):
uv tool install operator-use
operatorWith pip:
pip install operator-use
operatorFirst run automatically launches the setup wizard. After that,
operatorstarts your agent directly.
uv tool upgrade operator-use
# or
pip install -U operator-useuv tool upgrade operator-use1. Run the setup wizard
operator onboardThis walks you through choosing an LLM provider, entering your API key, and connecting a messaging channel.
2. Start the agent
operatorThat's it. Message your bot and it will start working.
Connect Operator to the platform you already use:
| Channel | What you need |
|---|---|
| Telegram | Bot token from @BotFather |
| Discord | Bot token + Message Content intent |
| Slack | Bot token + App-Level token |
| Twitch | OAuth token + channel name |
| MQTT | Broker host + topic |
Telegram (Recommended)
1. Create a bot
- Open Telegram, search
@BotFather - Send
/newbot, follow the prompts - Copy the bot token
2. Configure via wizard
operator onboardSelect Telegram and paste your token when prompted.
Or edit your config directly:
{
"channels": {
"telegram": {
"enabled": true,
"token": "YOUR_BOT_TOKEN",
"allow_from": ["YOUR_USER_ID"]
}
}
}Find your user ID by messaging
@userinfoboton Telegram.
3. Run
operator runDiscord
1. Create a bot
- Go to the Discord Developer Portal
- Create an application → Bot → Add Bot
- Copy the bot token
2. Enable intents
In the Bot settings, enable MESSAGE CONTENT INTENT.
3. Get your User ID
- Discord Settings → Advanced → enable Developer Mode
- Right-click your username → Copy User ID
4. Configure
{
"channels": {
"discord": {
"enabled": true,
"token": "YOUR_BOT_TOKEN",
"allow_from": ["YOUR_USER_ID"]
}
}
}5. Invite the bot
- OAuth2 → URL Generator → Scopes:
bot - Bot Permissions:
Send Messages,Read Message History - Open the invite URL and add the bot to your server
6. Run
operatorSlack
1. Create a Slack app
- Go to api.slack.com/apps → Create New App → From scratch
- Under OAuth & Permissions, add bot token scopes:
chat:write,im:history,im:read - Install the app to your workspace and copy the Bot User OAuth Token
2. Enable Socket Mode
- Under Socket Mode, enable it and generate an App-Level Token with
connections:writescope
3. Configure
{
"channels": {
"slack": {
"enabled": true,
"bot_token": "xoxb-...",
"app_token": "xapp-..."
}
}
}4. Run
operator runTwitch
1. Get an OAuth token
Generate a chat OAuth token at twitchapps.com/tmi.
2. Configure
{
"channels": {
"twitch": {
"enabled": true,
"token": "oauth:YOUR_TOKEN",
"nick": "your_bot_username",
"channel": "your_channel_name"
}
}
}3. Run
operator runOperator works with any of these providers:
| Provider | Notes |
|---|---|
| OpenAI | GPT-4o, o3, etc. |
| Anthropic | Claude 3.5/4 series |
| Gemini 2.0/2.5 series | |
| Mistral | All Mistral models |
| Groq | Ultra-fast inference |
| Ollama | Local models |
| Azure OpenAI | Enterprise Azure deployments |
| Cerebras | Fast inference |
| DeepSeek | DeepSeek-V3, R1 |
| NVIDIA | NVIDIA NIM |
| OpenRouter | 200+ models via one API |
| vLLM | Self-hosted inference |
| LiteLLM | Unified proxy |
| GitHub Copilot | Via Copilot API |
Configure your provider during operator onboard or in your config file.
| Provider | STT | TTS |
|---|---|---|
| OpenAI | ✓ | ✓ |
| ✓ | ✓ | |
| Groq | ✓ | ✓ |
| ElevenLabs | ✓ | ✓ |
| Deepgram | ✓ | ✓ |
| Sarvam | ✓ | ✓ |
operator onboard Interactive setup wizard
operator run Start the agent
operator agent Agent configuration
operator gateway Manage channels
operator channels List active channels
operator models List available models
operator sessions View conversation sessions
operator status Show system status
operator logs Stream logs
docker build -t operator .
docker run --env-file .env operatorExposed ports:
| Port | Purpose |
|---|---|
| 8080 | Webhook server (Telegram / Discord / Slack) |
| 8765 | ACP server (Agent Communication Protocol) |
| 1883 | MQTT (plain) |
| 8883 | MQTT (TLS) |
| 9222 | Chrome DevTools Protocol |
Contributions are welcome! Please read CONTRIBUTING.md for branch strategy, dev setup, code style, and PR guidelines.
To report a vulnerability, please follow the steps in SECURITY.md. Do not open a public issue for security concerns.
If you use Operator-Use in your research or project, please cite it as:
@software{operator_use_2026,
author = {CursorTouch},
title = {Operator-Use: An AI Agent That Operates Your Computer},
year = {2026},
url = {https://github.com/CursorTouch/Operator-Use},
license = {MIT}
}This project is licensed under the MIT License.



