====== OpenCode a Telegram přes telegramCoder ======
[[https://github.com/Tommertom/opencode-telegram|telegramCoder / opencode-telegram]] je self-hosted Telegram bot, který zpřístupní terminál a podle README i přímou integraci s [[ai:platformy:opencode:uvod|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 [[https://wiki.petrnosek.cz/software/vyvoj/claude-code|č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 ''/start'' nebo ''/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
* ''/undo'' a ''/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 čárkou
* ''ALLOWED_USER_IDS'' – allowlist Telegram user ID, které smí bota používat
* ''ADMIN_USER_ID'' – účet pro notifikace o nepovoleném přístupu
* ''MESSAGE_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.
===== Zdroje =====
* [[https://github.com/Tommertom/opencode-telegram|Tommertom/opencode-telegram]]
* [[https://wiki.petrnosek.cz/software/vyvoj/claude-code|Článek ke Claude Code]]