Bridge for controlling the Codex App Server from Telegram and Web UI
Project description
Codex Telegram + Web
A bridge that lets you control the Codex App Server from Telegram and Web UI.
Features
Telegram Bot
Control Codex directly from Telegram:
- Slash commands:
/start,/resume,/projects,/review,/exec, and more - Real-time updates: Receive progress notifications and turn completions
- Interactive approvals: Approve/deny dangerous operations with inline buttons
- Multi-project support: Switch between projects with
/project <name> - Thread management: Start, resume, fork, archive conversations
Web UI
ChatGPT-style interface with advanced features:
- Streaming responses: Real-time message streaming via SSE
- Multi-project tabs: Each project has independent workspace context
- Thread tabs: Multiple conversations per project
- Workspace browser: File tree, Git status, file preview, diff viewer
- Settings panels: Features, Models, Modes, Skills, Apps, MCP, Guardian
- Dark/Light theme: Theme toggle with localStorage persistence
- Responsive design: Desktop and mobile layouts
Shared Features
- Approval workflow: Interactive approve/deny for sensitive operations
- Guardian: Policy-based safety rules to auto-approve or escalate requests
- Real-time events: Live updates via SSE (Web) and push notifications (Telegram)
- Multi-project: Manage multiple projects with separate thread histories
Requirements
- Python
3.11+ - Telegram Bot Token (if Telegram enabled)
- Installed and runnable
codexCLI - Web UI: password and allowed users configured
Find your Telegram user ID: https://t.me/userinfobot
Quick Start
1. Install
pip install codex-telegram
If installation fails, try:
# Upgrade pip first
pip install --upgrade pip
# Install with system packages flag (some Linux distributions)
pip install codex-telegram --break-system-packages
# Or install for current user only
pip install codex-telegram --user
# Or use a virtual environment
python -m venv .venv && source .venv/bin/activate
pip install codex-telegram
2. Configure
Create ~/.config/codex-telegram/conf.toml:
project = "default"
[projects.default]
name = "my project"
path = "/path/to/your/project"
[telegram.bot]
token = "YOUR_TELEGRAM_BOT_TOKEN"
[users]
allowed_ids = [123456789]
3. Run
codex-telegram
Or with environment variables:
export TELEGRAM_BOT_TOKEN="your_token"
export CODEX_WEB_PASSWORD="your_password"
codex-telegram
If you want to rebuild the web UI before launching the app, use:
./run_build_and_main.sh
Or:
make run
4. Open Web UI
http://127.0.0.1:8080
Developing from Source
git clone https://github.com/heungtae/codex-telegram.git
cd codex-telegram
pip install -e .
cd web/frontend && npm install && npm run build && cd ../..
cp conf.toml.example ~/.config/codex-telegram/conf.toml
# Edit config, then run:
./run_build_and_main.sh
Documentation
| File | Description |
|---|---|
| TELEGRAM.md | Telegram bot commands, real-time updates, approval workflow |
| WEB.md | Web UI features, API endpoints, workspace browser |
| conf.toml.example | Full configuration reference |
Security
- Keep
users.allowed_idspopulated with trusted Telegram user IDs only - Use environment variables for tokens:
TELEGRAM_BOT_TOKEN,CODEX_WEB_PASSWORD - Run one polling instance per bot token to avoid conflicts
- Set
cookie_secure = truewhen using HTTPS
License
Apache License 2.0. See LICENSE for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file codex_telegram-0.4.16.tar.gz.
File metadata
- Download URL: codex_telegram-0.4.16.tar.gz
- Upload date:
- Size: 209.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f9a54d3ef7e531ab62bc7ab29c915db5d714761c6052110d6ca9ec0aeed60bf4
|
|
| MD5 |
e9ffd6d2851f1dd6078e1dbd6dff48bd
|
|
| BLAKE2b-256 |
11b1981b063f1964a20ccac5719f5711ff99c75b04cc42ed32d90c1c66db7b25
|
File details
Details for the file codex_telegram-0.4.16-py3-none-any.whl.
File metadata
- Download URL: codex_telegram-0.4.16-py3-none-any.whl
- Upload date:
- Size: 190.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c40f0b16b1ea4dfb9bcf7a408484c17826a1c589626d6b5ea4a11a449bab7f7e
|
|
| MD5 |
83f96494f975cce4b994763157de3a72
|
|
| BLAKE2b-256 |
8e8b46ac3b5ce404f56eeccaba68cdb6c6d2c2965f5538e2661abf6b309bc407
|