Package Exports
- @aliwey/bmo
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@aliwey/bmo) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
BMO
BMO connects your local OpenCode instance to Telegram, a rich CLI TUI, and a webchat interface — all sharing a single SQLite database and session history.
Features
- Telegram Bot — chat with BMO from anywhere via Telegram
- CLI TUI — interactive terminal with rich markdown, session management, agent switching, and
!shell commands - Webchat — browser-based chat with automatic Cloudflare Tunnel for public access
- Shared State — all frontends share one SQLite database and one active session
- BFP Protocol — peer-to-peer agent discovery and messaging (A2A-compatible)
- Self-Evolving — BMO writes its own code, installs dependencies, and updates itself
Installation
npm install -g @aliwey/bmoQuick Start
# Setup wizard — links Telegram token and configures settings
bmo init
# Launch Telegram bot + CLI TUI
bmo
# Launch webchat with public Cloudflare Tunnel
bmo web
# Start peer-to-peer relay (BFP)
bmo relayCLI Shell Commands
In the CLI, prefix any command with ! to run it as a shell command:
!git status
!dir
!npm installBMO sees the output and can act on it.
Requirements
- Python 3.10+
- Node.js 18+
- OpenCode server (auto-started by BMO)
Commands
| Command | Description |
|---|---|
bmo |
Launch bot + CLI TUI |
bmo init |
Configuration wizard |
bmo web |
Webchat server + tunnel |
bmo relay |
BFP peer relay |
bmo --version |
Show version |
bmo --update |
Update to latest |
Storage
All data lives in ~/.bmo/:
.env— configurationdata/bot.db— SQLite database (sessions, memory, agents)logs/— log files
License
MIT © Aliwey