🤖 Antigravity Telegram Suite
Works with both Antigravity Standalone App and Antigravity IDE.
🌍 Languages: English | 中文 | 한국어 | Türkçe | Deutsch | Español | Français
Control your Antigravity AI agent remotely via Telegram. Send messages, switch AI models, manage workspaces, take screenshots, and run multi-agent workflows — all from your phone.
![Platform]()
![Version]()
📢 Community
- Updates Channel: @agts_updates
- Discussion Group: @agts_community
✨ Features
| Feature | Description |
|---|---|
| 💬 Headless Chat | Send messages directly to the AI agent via Telegram |
| 📎 File & Image Upload | Forward files/images to the agent with captions |
| 📸 IDE Screenshots | Capture and receive screenshots remotely |
| 🤖 Model & Effort Selection | Change AI models and thinking effort tiers (Low / Medium / High) with 2-stage inline buttons |
| 📂 File Explorer | Browse, navigate, and download project files |
| 🔄 Workspace Management | Switch between projects without touching the keyboard |
| 🪟 Multi-Window Support | Route commands to a specific IDE window when multiple are open |
| 👥 Multi-User | Share bot control with your team via comma-separated Chat IDs |
| 💬 Interactive Chat Threads | Interactive button UI with recent chats, project folders, fast search (/agents ), and instant UUID switching |
| ⚡ Auto-Accept | Automatically click Run, Accept, Allow, Continue buttons via a DOM MutationObserver |
| 🚀 Turbo Mode | Multi-agent orchestration: Claude plans → Gemini codes → Claude reviews → Gemini fixes |
| 🎯 Goal Mode | Autonomous long-running tasks — agent works until the goal is fully achieved |
| 📋 Plan Mode | Generate implementation plans before coding |
| 🔔 Proactive Notifications | TaskWatcher detects unsolicited agent messages (timers, sub-agents) and forwards to Telegram |
| 🤔 Message Reactions | Shows 🤔 while processing, clears when done |
| 🔄 Auto-Update | Check for updates and self-update with one command |
| 🌐 Multi-Language | 7 languages supported: English, Chinese, Korean, Turkish, German, Spanish, French |
| ⌨️ Typing Indicator | Shows "typing..." in Telegram while the agent is working |
| 🖥️ Cross-Platform | Works on Linux, macOS (Intel & Apple Silicon), and Windows |
| 🔀 Dual App Support | Seamlessly switch between Antigravity IDE and Standalone Agent App |
| 🔐 Multi-Account Switching | Authenticate and switch between Google accounts, injecting credentials directly into the IDE database or OS keychain |
| 📡 Telegraph Publishing | Task checklists, implementation plans, and walkthroughs can be published with 128-bit unguessable crypto slug URLs (or kept private in chat), with full toggle and wipe controls |
🚀 Quick Start
Prerequisites
- Dual-Engine Support (IDE & Standalone): Seamlessly switch between the Classic Monaco IDE and the Standalone Agent via the
/appcommand. Isolated driver architectures ensure zero conflicts and perfectly clean background process management when switching. - Node.js >= 18
- Antigravity IDE and/or Antigravity Standalone App installed
- A Telegram bot token (get one from @BotFather)
1. Clone & Install
git clone https://github.com/emreturkmencom/antigravity-telegram-suite.git
cd antigravity-telegram-suite
npm install
2. Configure
cp .env.example .env
Edit .env with your values:
# Telegram
BOT_TOKEN=your_telegram_bot_token
ALLOWED_CHAT_ID=your_chat_id,another_chat_id_optional
CDP Debugging Ports (must match the --remote-debugging-port used when launching)
AGENT_CDP_PORT=9333 # Port for the Standalone Antigravity App
IDE_CDP_PORT=9334 # Port for the Antigravity IDE
Default AI model to select on new chat
DEFAULT_MODEL=Gemini 3.5 Flash (Medium)
Language: en | zh | ko | tr | de | es | fr
LANGUAGE=en
Preferred app target: 'agent' (Standalone) or 'ide' (IDE)
ANTIGRAVITY_PREFERRED_APP=ide
Enable auto-accept by default
AUTOACCEPT_DEFAULT=true
Enable Telegraph artifact publishing (default: true)
ENABLE_TELEGRAPH=true
Filter which models appear in /getinfo quota output (comma-separated, matches display names)
QUOTA_DISPLAY_MODELS=Claude Opus 4.6,Claude Sonnet 4.6,Gemini 3.5 Flash (High),Gemini 3.5 Flash (Low),Gemini 3.5 Flash (Medium),Gemini 3.1 Pro (High),Gemini 3.1 Pro (Low)
💡 Send /start to your bot to get your Chat ID.
3. Launch the App with CDP
The bot communicates with Antigravity via Chrome DevTools Protocol (CDP). You must launch the app with a debugging port.
🚀 Launching the Bot & Watchdog
To run the bot in the background with auto-restart on crash or unresponsiveness, run the cross-platform watchdog agent:
npm run watchdog
Alternatively, to start the bot directly:
npm start
Manual Launch Options
If running both apps side-by-side, use different ports:
# --- Standalone Antigravity App ---
Linux
antigravity --remote-debugging-port=9333
macOS
open -a Antigravity --args --remote-debugging-port=9333
Windows
Antigravity.exe --remote-debugging-port=9333
# --- Antigravity IDE ---
Linux
antigravity-ide --remote-debugging-port=9334
macOS
open -a "Antigravity IDE" --args --remote-debugging-port=9334
Windows
"Antigravity IDE.exe" --remote-debugging-port=9334
⚠️ The port numbers must matchAGENT_CDP_PORTandIDE_CDP_PORTin your.envfile.
4. Start the Bot
npm start
For 24/7 operation with PM2:
npm install -g pm2
pm2 start src/index.js --name antigravity-bot
pm2 save
pm2 startup
Automated Setup (Optional)
# Linux & macOS
bash scripts/install.sh
Windows (PowerShell)
powershell -ExecutionPolicy Bypass -File scripts\install.ps1
📱 Commands
Core Commands
| Command | Description |
|---|---|
| (any text) | Send directly to the AI agent |
| /latest | Get the latest agent response as text |
| /screenshot | Take a screenshot of the active agent window |
| /status | Show system status (IDE, CDP connection, Bot) |
| /stop | Stop the currently running agent |
| /new | Open a new chat session |
AI Model & Agent
| Command | Description |
|---|---|
| /model | Switch AI model (Gemini, Claude, etc.) |
| /turbo | Toggle Turbo Mode — multi-agent orchestration (see below) |
| /goal | Start Goal Mode — agent works autonomously until done |
| /plan | Generate an implementation plan before coding |
| /schedule_task | Schedule a recurring or one-time task in the IDE |
| /agents [query] | Interactive chat thread manager (Recent chats, project folders, fast search) |
| /quota | Check AI model credits and usage quotas |
App & Window Management
| Command | Description |
|---|---|
| /start_ide | Start the Antigravity IDE remotely |
| /start_ag | Start the Standalone Antigravity Agent App |
| /close_ide | Close the Antigravity IDE |
| /close_ag | Close the Standalone Agent App |
| /close | Close the currently active app |
| /app | Switch between IDE and Standalone Agent (ANTIGRAVITY_PREFERRED_APP) |
| /window | Select a specific window when multiple are open |
| /workspace | Switch project workspace |
| /restart | Restart the bot process (PM2) |
Files & Utilities
| Command | Description |
|---|---|
| /file | Browse & download project files |
| /artifacts | List and download artifacts from the current thread |
| /autoaccept | Toggle auto-accept (on / off / status) |
| /telegraph | Toggle Telegraph artifact publishing (on / off / status & wipe buttons) |
| /cleartelegraph | Wipe published Telegraph pages and replace with redaction notices |
| /lang | Switch display language |
| /update | Check for updates, view changelog, and auto-update the bot |
| /force_update | Force update to latest remote version (discards local modifications) |
| /version | Show current version info |
| /menu | Update the Telegram command menu |
| /fix_shortcuts | Repair desktop shortcuts for Antigravity apps |
Account Management
| Command | Description |
|---|---|
| /login | Start the Google OAuth flow to authenticate a new account |
| /logincode | Manually process a Google OAuth callback redirect URL or code (useful for mobile/headless setups) |
| /accounts | List all saved accounts, showing active status, names, emails, and subscription tiers |
| /switchacc | Inject credentials for the specified account, gracefully restart the IDE/Agent, and log in |
| /getinfo | Retrieve detailed subscription details and render custom model usage progress bars |
| /delacc | Delete a saved Google account's authentication token from the bot's database |
🚀 Turbo Mode (Multi-Agent Orchestration)
Turbo Mode runs an Agents Council workflow that coordinates multiple AI models automatically:
┌─────────────────────────────────────────────────────────────────────┐
│ TURBO MODE PIPELINE │
│ │
│ Phase 1: PLANNING Claude Opus → Creates implementation plan │
│ Phase 2: CODING Gemini Pro → Writes the code │
│ Phase 3: REVIEW Claude Opus → Security & code review │
│ Phase 4: FIX (if needed) Gemini Pro → Fixes issues found │
│ Phase 5: SUMMARY Gemini Pro → Executive summary for user │
└─────────────────────────────────────────────────────────────────────┘
How to use:
- Enable Turbo Mode:
/turbo→ Select "Enable" - Send your request as normal text
- The bot will automatically switch models and run all phases
- You'll receive real-time phase updates and a final summary
💡 Turbo Mode requires access to both Claude and Gemini models in your Antigravity subscription.
🎯 Goal Mode vs 🚀 Turbo Mode
| | Goal Mode (/goal) | Turbo Mode (/turbo) |
|---|---|---|
| How it works | Agent works autonomously in a single session until done | Bot orchestrates multi-model pipeline externally |
| Models used | Whichever model is currently selected | Claude (plan/review) + Gemini (code/fix) — automatic switching |
| Key advantage | Simple, reliable, native IDE feature | Multi-model collaboration: different models cross-check each other |
| Token usage | Single context window (efficient) | Multiple round-trips (more tokens) |
| Progress | 🤔 reaction → final result | Real-time pinned message with phase updates |
| Best for | Long tasks with a single model | Complex tasks benefiting from multi-model review |
| Architecture | IDE-native (/goal slash command) | External orchestration via CDP + turbo_orchestrator.js |
When to use which:
- Simple long task (e.g., "refactor this module") →
/goal - Complex task needing cross-model review (e.g., "build this feature, review security, fix issues") →
/turbo - Planning →
/plan(generates plan, then you decide)
🏗️ Architecture
antigravity-telegram-suite/
├── src/
│ ├── index.js # Main bot logic & Telegram command handlers
│ ├── cdp_controller.js # Chrome DevTools Protocol communication
│ ├── autoaccept.js # Auto-accept button clicker via CDP MutationObserver
│ ├── turbo_orchestrator.js # Multi-agent Turbo Mode (Agents Council) orchestration
│ ├── task_watcher.js # Proactive notification watcher (transcript.jsonl monitor)
│ ├── updater.js # Self-update module (git pull + pm2 restart)
│ ├── ui_locators.js # DOM element locators for IDE/Agent UI interaction
│ ├── i18n.js # Internationalization module
│ ├── platform.js # Cross-platform OS abstraction (launch, close, paths)
│ ├── model_utils.js # Model name normalization & fuzzy-matching utilities
│ ├── account_manager.js # Google OAuth login, multi-account store, credential injection
│ ├── protobuf_utils.js # Zero-dependency protobuf serialization for credential injection
│ ├── telegraph_publisher.js # Publishes task/plan/walkthrough with crypto slug URLs, toggle & wiper
│ ├── cdp_health.js # CDP connection health-check helpers
│ ├── local_media.js # Local image extraction from markdown
│ └── watchdog.js # Bot process watchdog / auto-restart
├── locales/
│ ├── en.json # English
│ ├── zh.json # Chinese (中文)
│ ├── ko.json # Korean (한국어)
│ ├── tr.json # Turkish
│ ├── de.json # German
│ ├── es.json # Spanish
│ └── fr.json # French
├── scripts/
│ ├── install.sh # Linux/macOS installer
│ └── install.ps1 # Windows installer
├── test/
│ ├── model_utils.test.js # Unit tests for model_utils
│ ├── protobuf_utils.test.js # Unit tests for protobuf_utils
│ ├── telegraph.test.js # Tests for telegraph_publisher
│ ├── cdp_health.test.js # Tests for CDP health helpers
│ ├── local_media.test.js # Tests for local media extraction
│ ├── i18n.test.js # Tests for i18n module
│ ├── updater.test.js # Tests for updater module
│ ├── smoke.test.js # Smoke / integration tests
│ └── test_helpers.js # Shared test utilities
├── .env.example # Environment variable template
├── CHANGELOG.md # Release history
└── package.json
How It Works
┌──────────┐ Telegram API ┌──────────────┐ CDP (WebSocket) ┌─────────────────┐
│ Telegram │ ◄──────────────────► │ Antigravity │ ◄────────────────────► │ Antigravity IDE │
│ App │ Bot Commands │ Bot │ DOM Interaction │ or │
└──────────┘ └──────────────┘ │ Standalone Agent │
└─────────────────┘
- You send a message via Telegram
- The bot injects your text into the AI agent's chat input via CDP
- The bot monitors the agent for completion (typing indicator shown in Telegram)
- Once done, the response is extracted and sent back to Telegram
- Auto-Accept: When enabled, a MutationObserver watches for action buttons (Run, Accept, Allow, Continue) and clicks them automatically
Dual App Architecture
The bot supports two Antigravity applications running simultaneously:
| App | Default Port | Config Key | Description |
|-----|-------------|------------|-------------|
| Standalone Agent | 9333 | AGENT_CDP_PORT | Lightweight chat-focused Antigravity app |
| Antigravity IDE | 9334 | IDE_CDP_PORT | Full IDE with editor, terminal, and extensions |
Use /app to switch the bot's focus between apps. The ANTIGRAVITY_PREFERRED_APP setting in .env determines which app the bot targets by default.
🌐 Adding a Language
- Copy
locales/en.jsontolocales/xx.json - Translate all string values
- Set
LANGUAGE=xxin your.env
⚠️ Known Issues
| Issue | Details |
|-------|---------|
| Standalone App Support | All commands work fully natively with Antigravity 2.0 Standalone App. All features including /agents, model selection, auto-accept, and conversation tracking are supported. |
| Auto-Update on IDE 2.0 | If Antigravity IDE auto-updates, DOM selectors may break until the bot is also updated. |
| Telegraph Privacy & Networks | Telegraph publishing is enabled by default (ENABLE_TELEGRAPH=true) with 128-bit unguessable crypto slug URLs. To disable, set ENABLE_TELEGRAPH=false or use /telegraph off. If api.telegra.ph is blocked on your network, set TELEGRAPH_API_HOST=api.graph.org in your .env (default). |
🤝 Contributing
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'feat: add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request against
emreturkmencom/antigravity-telegram-suite
🙏 Acknowledgments
- gtxPrime — Google OAuth multi-account switching, OS keychain & database credential injection, Telegraph publishing (task/plan/walkthrough auto-shared to telegra.ph with tap-to-open buttons)
- ATX-AI-Dev — PR #8: Standalone App support, Watchdog agent, and dynamic model fetching
- yvg — Multi-Window Support feature
- achshar — Agent Manager UI locators for thread management
- mine260309 — i18n translations for hardcoded messages
- acmavirus/antigravity-telegram-control — The open-source Telegram integration that served as the foundation for this project
- yazanbaker94/AntiGravity-AutoAccept — DOM observer pattern inspiration for the Auto-Accept module
- vassoz — PR #12: Fix CDP connection, X11 display auto-detection, and dynamic port shortcuts
- wade19990814-hue — PR #14: Chinese (中文) localization
- ienground — PR #17: Korean (한국어) localization
- mo7amed-said-223 — Issue #29: Telegram Voice Messages & Audio transcription support
- Forwead — Issue #32: Response latency optimization & TaskWatcher baseline synchronization
- Blakey — PR #33: Telegraph privacy toggle, unguessable crypto slug URLs, bot commands, and standalone tests
- 0ALI0ZARGAR0 — PR #34: Native skill chips, multi-slash command chaining, and skills menu toggle
🌟 Credits & Inspirations
The multi-agent Turbo Mode orchestration was inspired by the Agents-Council repository by Interdesigncorp Lab.
📄 License
This project is licensed under the MIT License — see the LICENSE file for details.
Hey Google, if you would like to give me a job you can contact me at [email protected] 😂