Open Agent Bridge — connect agent backends (CLIs, APIs) to chat platforms (Telegram, …).
Project description
OpenAB
Open Agent Bridge — Connect AI agents to chat platforms. One config, one bridge. Currently implemented: Cursor, Codex. Gemini, Claude, OpenClaw not yet implemented.
What it does
OpenAB forwards messages from chat platforms (or HTTP API) to an agent backend you choose and sends the reply back. One config, one bridge.
| Agents | Chats / API |
|---|---|
| Cursor, Codex (implemented) Gemini, Claude, OpenClaw not yet implemented |
Telegram, Discord, OpenAI-compatible HTTP API (openab run serve), more planned |
Quick start
1. Install (Python 3.10+)
pip install openab
# or: uv tool install openab
# or from repo: uv pip install -e .
2. Create config — Copy the example and edit:
mkdir -p ~/.config/openab
cp config.example.yaml ~/.config/openab/config.yaml
# then edit: set telegram.bot_token and/or discord.bot_token
3. Get a bot token (for Telegram or Discord)
- Telegram: Open @BotFather → send
/newbot→ follow prompts → copy the token intotelegram.bot_tokenin config (or pass withopenab run telegram --token <token>). - Discord: Discord Developer Portal → New Application → Bot → Reset Token → copy into
discord.bot_token(or use--tokenwhen running).
4. Allow yourself — After the bot is running, send /whoami (Telegram) or !whoami (Discord) to get your user ID. Then either:
- Add your ID to config:
openab config set telegram.allowed_user_ids "YOUR_ID"(ordiscord.allowed_user_ids), or - Send the API key (printed when you run
openab run serveonce) as a message to the bot; it will add you to the allowlist automatically.
5. Run and chat
openab run telegram # or: openab run discord
# In Telegram/Discord: open your bot, send any message. Use /resume to see session buttons (resume latest, new session, or pick a history session).
- API only: Run
openab run serve— no bot token needed. Point clients athttp://127.0.0.1:8000/v1with the printed API key. - No config? Running
openaboropenab runwill start the API server by default and show a hint.
Full options: Configuration & usage.
Docs
- Configuration & usage — Config keys, agent setup, commands, API server, security, i18n.
- 中文说明 — 配置与使用(中文)
License
MIT — 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
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 openab-0.1.7.tar.gz.
File metadata
- Download URL: openab-0.1.7.tar.gz
- Upload date:
- Size: 37.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fd1280bb347f2cb19636f2d2dca306552179ed18b06c74bc18eee1073e5992b2
|
|
| MD5 |
a97d196f40d9445a83789757b0b31e71
|
|
| BLAKE2b-256 |
a0996a427c0d0ca13c7450671da63c4ba6b4e3a7bedf8410fe47e942c56a7de2
|
Provenance
The following attestation bundles were made for openab-0.1.7.tar.gz:
Publisher:
publish.yaml on xx025/openab
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
openab-0.1.7.tar.gz -
Subject digest:
fd1280bb347f2cb19636f2d2dca306552179ed18b06c74bc18eee1073e5992b2 - Sigstore transparency entry: 1006344104
- Sigstore integration time:
-
Permalink:
xx025/openab@2ad778a027a250e727543adb026366218eb3be59 -
Branch / Tag:
refs/tags/v0.1.7 - Owner: https://github.com/xx025
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yaml@2ad778a027a250e727543adb026366218eb3be59 -
Trigger Event:
push
-
Statement type:
File details
Details for the file openab-0.1.7-py3-none-any.whl.
File metadata
- Download URL: openab-0.1.7-py3-none-any.whl
- Upload date:
- Size: 48.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b48306c8f3484701d2ee9a8eeebd7f19ec67a920eefd3d46363af5d15249c6a7
|
|
| MD5 |
bee2edaee2adcbd7b50b7ea3b5f1810f
|
|
| BLAKE2b-256 |
64b6dc8a56b1e634181dd69a84f093f53c05340b00d2e896d87d6db53e17b516
|
Provenance
The following attestation bundles were made for openab-0.1.7-py3-none-any.whl:
Publisher:
publish.yaml on xx025/openab
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
openab-0.1.7-py3-none-any.whl -
Subject digest:
b48306c8f3484701d2ee9a8eeebd7f19ec67a920eefd3d46363af5d15249c6a7 - Sigstore transparency entry: 1006344107
- Sigstore integration time:
-
Permalink:
xx025/openab@2ad778a027a250e727543adb026366218eb3be59 -
Branch / Tag:
refs/tags/v0.1.7 - Owner: https://github.com/xx025
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yaml@2ad778a027a250e727543adb026366218eb3be59 -
Trigger Event:
push
-
Statement type: