OpenCode a Telegram přes telegramCoder
telegramCoder / opencode-telegram je self-hosted Telegram bot, který zpřístupní terminál a podle README i přímou integraci s OpenCode. Hodí se ve chvíli, kdy chci z mobilu nebo vzdáleně navázat na běžící vývojové prostředí bez přímého přístupu k lokálnímu terminálu.
Ve srovnání s článkem ke Claude Code tady nejde o plugin připojený do běžící session agenta, ale o samostatnou Node.js aplikaci, která běží na vlastním stroji a Telegram používá jako dálkové rozhraní.
Co projekt umí
README projektu uvádí hlavně tyto vlastnosti:
- interaktivní terminál přes Telegram
- integraci s AI CLI nástroji jako GitHub Copilot, Claude, Cursor a OpenCode
- upload a download souborů
- self-hosted provoz pod vlastní kontrolou
- oddělené sessiony pro jednotlivé uživatele
- běh nad vlastním strojem bez dalšího cloudového prostředníka kromě samotného Telegramu
Jak funguje propojení s OpenCode
Projekt má podle README vestavěnou integraci pro OpenCode a umí si OpenCode server sám spustit, pokud ještě neběží. Jako předpoklad README uvádí globální instalaci OpenCode:
npm install -g opencode-ai
Z pohledu ovládání přes Telegram je základní flow jednoduché:
- v Telegramu poslat
/startnebo/help - příkazem
/opencode [title]založit novou OpenCode session - další zprávy posílat do aktivní session; README v ukázce používá
/prompt - podle potřeby session přejmenovat, ukončit nebo vrátit poslední změnu
README pro OpenCode část zmiňuje tyto příkazy:
/opencode [title]– založení nové session/rename [title]– přejmenování aktuální session/endsession– ukončení session/esc– přerušení běžící AI operace/undoa/redo– krok zpět a znovu/projects– seznam projektů/sessions– seznam posledních session
Po spuštění /opencode se podle README zobrazí i pomocná klávesnice s rychlými tlačítky pro ESC a TAB. TAB má přepínat agenty build ↔ plan.
Instalace
README nabízí tři základní způsoby spuštění.
Rychlé spuštění přes npx
npx @tommertom/telegramcoder@latest
Při prvním spuštění projekt automaticky vytvoří soubor .env, vypíše co je potřeba doplnit a ukončí se. Po úpravě konfigurace se stejný příkaz spustí znovu.
Globální instalace
npm install -g @tommertom/telegramcoder telegramcoder
Docker helper
Projekt umí vygenerovat Dockerfile a docker-compose.yml přímo do aktuální složky:
npx @tommertom/telegramcoder@latest --docker
Podle README tento režim jen připraví dockerové soubory a sám bota nespustí.
Konfigurace
Základní konfigurace je v .env. README jako povinné minimum uvádí token bota a seznam povolených uživatelů:
TELEGRAM_BOT_TOKENS=1234567890:ABCdefGHIjklMNOpqrsTUVwxyz ALLOWED_USER_IDS=123456789 ADMIN_USER_ID=123456789 MESSAGE_DELETE_TIMEOUT=10000
Význam proměnných podle README:
TELEGRAM_BOT_TOKENS– token nebo více tokenů oddělených čárkouALLOWED_USER_IDS– allowlist Telegram user ID, které smí bota používatADMIN_USER_ID– účet pro notifikace o nepovoleném přístupuMESSAGE_DELETE_TIMEOUT– jak dlouho mají zůstávat potvrzovací zprávy
README doporučuje získat vlastní Telegram user ID tak, že se bot nejprve spustí, uživatel mu pošle zprávu a bot vrátí ID, které se potom doplní do .env.
Soubory a práce na dálku
Projekt podle README umí přijímat soubory přímo v Telegramu. Přijaté soubory ukládá do /tmp/telegramCoder/ a odpoví plnou cestou k uloženému souboru.
README zmiňuje podporu běžných typů příloh včetně dokumentů, fotek, videí a audia. Prakticky to znamená, že jde použít jako lehkou vzdálenou vstupní bránu pro soubory, které pak mají být zpracované v lokální session.
Požadavky a praktické limity
README uvádí tyto základní požadavky:
- Linux nebo macOS
- Windows přes WSL nebo Docker
- Node.js 18 a vyšší
- přibližně 200 MB místa pro závislosti
Pro provoz je důležité i to, že sessiony jsou persistentní jen po dobu běhu bota. Po restartu procesu se podle FAQ resetují.
Bezpečnostní model
Silná stránka projektu je v tom, že běží self-hosted a terminál i soubory zůstávají na vlastním stroji. Zároveň to ale znamená, že Telegram bot představuje vzdálený vstup do shellu a je potřeba hlídat hlavně:
- správně nastavený
ALLOWED_USER_IDS - ochranu bot tokenu z
@BotFather - rozumné umístění hostitele, na kterém bot běží
- vědomí, že bot zprostředkovává plný terminál, ne jen omezenou sadu bezpečných akcí
Kdy to dává smysl
Tahle varianta dává smysl hlavně tehdy, když chci OpenCode ovládat z telefonu nebo zjednodušit vzdálený přístup k vlastnímu vývojovému prostředí přes Telegram. Oproti pluginovému napojení jednoho konkrétního agenta je to obecnější vrstva nad terminálem, která umí obsloužit i jiné CLI nástroje.