Package Exports
- @grinev/opencode-telegram-bot
- @grinev/opencode-telegram-bot/cli
Readme
OpenCode Telegram Client
Мобильный клиент для OpenCode в Telegram, позволяющий управлять задачами разработки на локальном компьютере.
Требования
- Node.js 20+
- Установленный OpenCode CLI (
opencode)
Установка
- Клонируйте репозиторий.
- Установите зависимости:
npm install
- Скопируйте файл с переменными окружения:
cp .env.example .env - Заполните
.envфайл (токен бота, ваш ID и путь к проекту). - Настройте избранные модели в OpenCode (Desktop/TUI). Бот автоматически читает их из локального state файла OpenCode (
model.json). - Если избранные модели недоступны или файл не читается, бот использует fallback из
.env:OPENCODE_MODEL_PROVIDEROPENCODE_MODEL_ID
Переменные окружения
Основные переменные в .env:
TELEGRAM_BOT_TOKEN— токен бота (обязательно).TELEGRAM_ALLOWED_USER_ID— ваш Telegram user ID (обязательно).OPENCODE_MODEL_PROVIDER— провайдер модели по умолчанию (обязательно).OPENCODE_MODEL_ID— ID модели по умолчанию (обязательно).SESSIONS_LIST_LIMIT— сколько последних сессий показывать в/sessions(опционально, по умолчанию10).
Сборка и запуск
Режим разработки
Запуск без автоматической перезагрузки процесса:
В этом проекте auto-restart (watch/restart) намеренно не используется для runtime-бота, чтобы не ломать активные SSE/polling соединения.
npm run devПродакшн
- Соберите проект:
npm run build - Запустите собранный код:
npm start
Команды
npm run lint— проверка кода линтером.npm run format— форматирование кода через Prettier.npm run test— запуск тестов через Vitest.npm run test:coverage— запуск тестов с coverage-отчётом.
Функционал
Подробное описание функционала и плана разработки находится в PRODUCT.md. План технических улучшений (архитектура + тесты) — в TECHNICAL_IMPROVEMENTS.md. Инструкции для разработчиков и описание архитектуры — в AGENTS.md.