VK bot bridge for opencode with ChatGPT/OpenAI account login, VK commands, web search, image input batching, and rendered Markdown/LaTeX answers as VK photos.
This repository is a public sanitized copy. Real tokens, accounts, sessions, logs, pid files, and local runtime data are intentionally not included.
- VK Callback API endpoint:
/vk/callback. - Health check:
/vk/health. - Direct JSON chat endpoint:
/vk/chat. - ChatGPT/OpenAI OAuth and API-key account management through VK commands.
- Markdown, tables, code blocks, LaTeX/KaTeX, physics formulas, and chemistry/mhchem rendering into VK photo cards.
- Web search support without a noisy intermediate "searching" message.
- Multiple VK photo messages are batched into one model request when they arrive together.
- Linux server or VPS.
- Bun 1.3+.
- VK group token with message permissions.
- VK Callback API confirmation string and optional secret.
- Public HTTPS URL for VK Callback API, for example
VK_BOT_PUBLIC_URL=https://your-domain.example. - Playwright Chromium dependencies for answer-card rendering.
- Install dependencies:
bun install
bun --cwd packages/opencode playwright install chromium- Copy the env example and fill your own values:
cp .env.example .env- Start the server:
bun --cwd packages/opencode --conditions=browser src/index.ts serve --hostname 0.0.0.0 --port "${PORT:-29562}"- Configure VK Callback API to point to:
https://your-domain.example/vk/callback
- In VK, use
/loginto add a ChatGPT/OpenAI account, then/account,/model,/intellect,/new, and/chatsto manage the bot.
The included scripts are examples for a /server/opencode-vk deployment layout:
run-opencode-vk.shstarts the opencode server.spawn-opencode.pystarts it in the background and writesopencode.pid.start-all.shstarts the server plus Cloudflare tunnel helpers.stop-all.shstops local helper processes.
Adjust paths before using them on a different server.
bun --cwd packages/opencode prettier --check src/server/routes/instance/vk.ts
bun --cwd packages/opencode typecheck- VK Callback API:
/vk/callback. - Проверка состояния:
/vk/health. - Прямой JSON endpoint для чата:
/vk/chat. - Управление аккаунтами ChatGPT/OpenAI через VK: OAuth-вход и API key.
- Рендер Markdown, таблиц, кода, LaTeX/KaTeX, физических формул и химии/mhchem в фото-карточки VK.
- Web search без лишнего промежуточного сообщения "ищу данные".
- Несколько фото, отправленных подряд, объединяются в один запрос к модели.
- Linux-сервер или VPS.
- Bun 1.3+.
- Токен группы VK с правами на сообщения.
- Confirmation string и, желательно, secret для VK Callback API.
- Публичный HTTPS URL для VK Callback API, например
VK_BOT_PUBLIC_URL=https://your-domain.example. - Playwright Chromium и системные зависимости для рендера карточек.
- Установи зависимости:
bun install
bun --cwd packages/opencode playwright install chromium- Скопируй пример окружения и заполни своими значениями:
cp .env.example .env- Запусти сервер:
bun --cwd packages/opencode --conditions=browser src/index.ts serve --hostname 0.0.0.0 --port "${PORT:-29562}"- В настройках VK Callback API укажи:
https://your-domain.example/vk/callback
- В VK напиши
/login, войди в ChatGPT/OpenAI, затем используй/account,/model,/intellect,/newи/chats.
Скрипты рассчитаны на layout /server/opencode-vk:
run-opencode-vk.shзапускает сервер opencode.spawn-opencode.pyзапускает сервер в фоне и пишетopencode.pid.start-all.shзапускает сервер и Cloudflare tunnel helpers.stop-all.shостанавливает локальные helper-процессы.
Если путь на сервере другой, поправь скрипты перед запуском.
bun --cwd packages/opencode prettier --check src/server/routes/instance/vk.ts
bun --cwd packages/opencode typecheck