ИИ и автоматизация 15 мин чтения 2026-10-28

Командный AI-ассистент кодинга Tabby на VDS: приватная замена GitHub Copilot в Docker Compose для VS Code и JetBrains без передачи кода наружу

Практическое руководство по развертыванию открытого AI-ассистента кодинга Tabby v0.32.0 в Docker Compose на VDS: алгоритм FIM (Fill-in-the-Middle), RAG-индексация приватных Git-репозиториев, Nginx SSL со стримингом без буферизации и настройка плагинов для VS Code и JetBrains.

Инженерная редакция SysKit Проверено инженерами SysKit.ru

Интеллектуальные ассистенты кодинга вроде GitHub Copilot и Cursor кардинально ускорили разработку, взяв на себя рутинный бойлерплейт, автогенерацию тестов и документации. Однако для российских IT-компаний и соло-разработчиков облачные AI-сервисы стали источником серьезных проблем: отключение оплаты картами банков РФ, ежемесячные счета от $10 до $20 за каждого инженера и, главное, прямой запрет служб безопасности (ИБ) на передачу закрытого исходного кода в публичные облака Microsoft и OpenAI. Открытая платформа Tabby решает эту дилемму: это полнофункциональный self-hosted AI-ассистент на Rust и C++, который разворачивается на собственном VDS в Docker Compose, индексирует внутренние Git-репозитории компании и обеспечивает мгновенное автодополнение кода в VS Code и JetBrains без риска утечки коммерческой тайны.

1. Архитектура Tabby: как устроен локальный AI-ассистент и FIM-инференс

В отличие от универсальных чат-ботов, ассистент разработчика предъявляет жесткие требования к задержке отклика (latency): подсказка автокомплита должна появляться прямо под курсором за 100–300 мс, иначе разработчик продолжит печатать сам. Tabby изначально проектировался именно под задачу реалтайм-кодинга и построен вокруг специализированной архитектуры:

  • Высокопроизводительное ядро на Rust и C++: платформа скомпилирована в компактный бинарный сервис с минимальным оверхедом по оперативной памяти. Движок инференса основан на оптимизированном бэкенде llama.cpp, что позволяет эффективно утилизировать процессорные векторные инструкции (AVX2, AVX-512) или графические ускорители NVIDIA.
  • Механизм Fill-in-the-Middle (FIM): обычные языковые модели умеют только продолжать текст слева направо. Модели для кодинга (StarCoder, Qwen2.5-Coder, DeepSeek-Coder) обучаются по методике FIM: модель получает префикс (код до курсора) и суффикс (код после курсора, включая закрывающие скобки и вызовы функций) и генерирует ровно ту середину, которая логически связывает блоки.
  • Локальный RAG по кодовой базе (Repository Context): Tabby содержит встроенный сканер и векторный индекс. Он автоматически клонирует указанные приватные Git-репозитории компании, парсит синтаксические деревья (AST) и подмешивает сигнатуры ваших внутренних классов, функций и схем данных в промпт автокомплита. Благодаря этому ассистент знает внутренние библиотеки проекта, которых нет ни в одной публичной обучающей выборке.
  • Серверная панель управления (Admin Dashboard): веб-интерфейс для регистрации разработчиков, генерации персональных токенов доступа, подключения Git-репозиториев и мониторинга метрик эффективности (Completion Acceptance Rate — процент принятых программистами подсказок).
  • OpenAPI-совместимый интерфейс и стриминг: сервис отдает стандартный REST API и постоянные Server-Sent Events (SSE) / WebSocket соединения для генерации кода и контекстного чата (Answer Engine).

💡 Почему локальный Tabby безопаснее облачного GitHub Copilot

При использовании облачного Copilot каждый фрагмент открытого файла, имя переменной и структура базы данных улетают на удаленные серверы за пределы РФ. Tabby работает внутри вашей изолированной инфраструктуры: сетевые пакеты курсируют исключительно между рабочей станцией программиста и вашим VDS, гарантируя соблюдение корпоративного NDA, коммерческой тайны и требований регуляторов по защите данных.

2. Системные требования и выбор моделей для CPU и GPU на VDS

Производительность Tabby напрямую зависит от размера выбранной модели и доступных вычислительных ресурсов сервера. Платформа одинаково стабильно работает как на стандартных серверах только с CPU, так и на инстансах с графическими ускорителями NVIDIA.

Режим работы Рекомендуемая модель Ресурсы сервера (VDS) Ориентировочная скорость Назначение
CPU-режим (Базовый) StarCoder-1B / Qwen2.5-Coder-1.5B 4 vCPU (3.0+ ГГц) • 8 ГБ RAM • 40 ГБ NVMe 250–500 мс на автокомплит Соло-разработчики и команды до 5 человек на стандартном бюджетном VDS без GPU.
CPU-режим (Продвинутый) StarCoder2-3B / Qwen2.5-Coder-3B 8 vCPU (3.4+ ГГц) • 16 ГБ RAM • 60 ГБ NVMe 500–900 мс на автокомплит Глубокое понимание сложных алгоритмов и качественный чат-ассистент без видеокарты.
GPU-режим (Командный) StarCoder2-7B / DeepSeekCoder-6.7B 4 vCPU • 16 ГБ RAM • GPU 8+ ГБ VRAM (T4 / RTX 3060+) 70–150 мс (моментально) Команды от 10 до 50 инженеров с максимальным качеством генерации кода.

3. Подготовка окружения, сетевая безопасность и права доступа к томам

Все состояние сервиса Tabby — учетные записи разработчиков, персональные токены доступа, кэш скачанных весов нейросетей и векторные индексы репозиториев — сохраняется в персистентном томе /data. Перед запуском контейнера создадим системную структуру директорий на сервере.

Создайте рабочий каталог проекта /opt/tabby и подпапку данных:

sudo mkdir -p /opt/tabby/data
cd /opt/tabby

🔒 Сетевая безопасность: защита порта 8080 от прямого доступа из интернета

По умолчанию веб-сервер Tabby слушает порт 8080. Если опубликовать его стандартной директивой 0.0.0.0:8080:8080, демон Docker автоматически изменит таблицы маршрутизации iptables и откроет порт всему интернету в обход системного фаервола UFW. В результате незашифрованный интерфейс AI-ассистента окажется доступен извне без SSL. В манифесте Docker Compose порт публикуется строго на локальный интерфейс: 127.0.0.1:8080:8080. Входящие запросы из IDE будут безопасно проксироваться через Nginx с HTTPS-шифрованием.

Для корректной работы фоновых процессов индексации репозиториев внутри контейнера установим правильного владельца каталога данных:

# Предоставляем права на запись каталога данных для контейнера Tabby
sudo chown -R 1000:1000 /opt/tabby/data
sudo chmod 750 /opt/tabby/data

4. Манифест Docker Compose: запуск Tabby v0.32.0 с cgroups-лимитами

Для продакшен-эксплуатации используем актуальный официальный образ Tabby v0.32.0 из канонического реестра registry.tabbyml.com/tabbyml/tabby:v0.32.0 (также доступен алиас в Docker Hub tabbyml/tabby:v0.32.0). В конфигурации зафиксируем легковесную связку моделей: StarCoder-1B для сверхбыстрого автодополнения кода и Qwen2.5-Coder-1.5B-Instruct для бокового чата, а также выставим защитные ограничения памяти и процессора.

Создайте файл /opt/tabby/docker-compose.yml:

services:
  tabby:
    image: registry.tabbyml.com/tabbyml/tabby:v0.32.0
    container_name: tabby_app
    restart: unless-stopped
    command: >
      serve
      --model StarCoder-1B
      --chat-model Qwen2.5-Coder-1.5B-Instruct
      --device cpu
      --parallelism 2
    ports:
      # Доступ к API и веб-панели строго через локальную петлю 127.0.0.1
      - "127.0.0.1:8080:8080"
    volumes:
      # Хранилище моделей, базы данных SQLite и индексов Git
      - ./data:/data
    environment:
      # Защита от избыточного использования потоков на многоядерных CPU
      - OMP_NUM_THREADS=4
    deploy:
      resources:
        limits:
          cpus: "3.5"
          memory: 6G
        reservations:
          memory: 2G
    # Двойная защита: mem_limit гарантирует работу лимитов в Docker Compose без Swarm
    mem_limit: 6g
    cpus: 3.5
    healthcheck:
      # В официальном образе Tabby (Ubuntu 22.04 runtime) curl установлен штатно
      test: ["CMD-SHELL", "curl -f http://127.0.0.1:8080/v1/health || exit 1"]
      interval: 30s
      timeout: 5s
      retries: 3
      start_period: 120s

networks:
  default:
    name: tabby_net

💡 Разбор параметров команды запуска (serve)

  • --model StarCoder-1B: модель для автокомплита кода по алгоритму FIM. Весит около 2 ГБ, загружается в оперативную память и моментально генерирует подсказки на обычном процессоре. При наличии GPU от 8 ГБ VRAM модель можно переключить на StarCoder2-7B или Qwen2.5-Coder-7B.
  • --chat-model Qwen2.5-Coder-1.5B-Instruct: специализированная модель для интеллектуального чата в IDE (объяснение ошибок, рефакторинг, генерация тестов), пришедшая на смену базовой универсальной Qwen2.
  • --device cpu: флаг явного запуска на центральном процессоре без видеокарты.
  • --parallelism 2: количество одновременно обрабатываемых запросов автокомплита. Предотвращает перегрузку очередей инференса.
  • deploy.resources.limits и mem_limit: жесткое ограничение в 6 ГБ RAM защищает сервер от аварийного падения из-за OOM Killer. Наличие обоих синтаксисов гарантирует применение лимитов как в Docker Compose v2, так и в классических standalone-окружениях.

Конфигурация для серверов с GPU NVIDIA

Если вы развертываете Tabby на VDS с графическим ускорителем (например, NVIDIA T4 или RTX 3060+ с установленным nvidia-container-toolkit), замените блок command и задействуйте резервацию GPU через драйвер NVIDIA:

    # Альтернатива для инстансов с видеокартой NVIDIA:
    command: >
      serve
      --model StarCoder2-7B
      --chat-model Qwen2.5-Coder-7B-Instruct
      --device cuda
      --parallelism 4
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              count: 1
              capabilities: [gpu]

Запустите контейнер сервиса в фоновом режиме:

docker compose up -d

При первом старте Tabby автоматически скачает веса обеих моделей из официального реестра в директорию /opt/tabby/data/models. В зависимости от скорости интернет-канала сервера процесс занимает от 2 до 5 минут. Отслеживать прогресс загрузки можно через системные логи:

docker compose logs -f --tail=50

Как только в журнале появится сообщение Listening at 0.0.0.0:8080 и статус healthcheck перейдет в (healthy), сервис полностью готов к первоначальной настройке.

5. Первоначальная настройка администратора, учетные записи команды и токены

В версиях Tabby линейки v0.32 встроен полноценный Enterprise-модуль управления пользователями с разделением ролей и гранулярным контролем доступа.

1. Регистрация первого администратора

При первом переходе в веб-интерфейс система потребует создать корневой аккаунт администратора:

  1. Укажите рабочий адрес электронной почты и сгенерируйте стойкий пароль с помощью генератора надежных паролей;
  2. После входа вам откроется панель управления Overview с графиками активности команды, количеством отправленных запросов и процентом принятых автодополнений (Acceptance Rate);
  3. В разделе Settings → Team администратор может отключать открытую регистрацию, чтобы посторонние не могли использовать ресурсы сервера, и формировать пригласительные ссылки (Invite Links) для коллег.

2. Выпуск персональных токенов доступа (Auth Tokens)

Для подключения расширений в редакторах кода каждому разработчику требуется персональный токен аутентификации. Это позволяет серверу вести индивидуальную статистику и при необходимости моментально отозвать доступ уволенному сотруднику без изменения настроек остальных членов команды:

  • Перейдите в правый верхний угол: User Profile → Access Tokens;
  • Нажмите кнопку Create Token, задайте понятное имя (например, vscode-laptop-ivan);
  • Скопируйте сгенерированный ключ (он начинается с префикса tby_...). Токен показывается в интерфейсе ровно один раз.

💡 Аналитика продуктивности команды

На дашборде Tabby отображается реальный процент принятых подсказок (Acceptance Rate). Для качественных моделей вроде StarCoder или Qwen2.5-Coder хорошим показателем считается 25–40%. Если метрика падает ниже 15%, это сигнал, что разработчикам не хватает контекста кодовой базы либо требуется переключить модель на более точную.

6. Индексация приватных Git-репозиториев: RAG-контекст по кодовой базе

Главное отличие корпоративного AI-ассистента от базовой нейросети — знание внутреннего контекста ваших проектов. Публичная модель никогда не видела ваших микросервисов, названий DTO-классов, функций авторизации и внутренних утилит.

Tabby решает эту задачу с помощью встроенного механизма Code Repository Context (RAG):

  1. В панели управления перейдите в раздел Settings → Repositories;
  2. Нажмите Add Repository и укажите Git URL вашего корпоративного репозитория (поддерживаются GitLab, GitHub, Bitbucket, Gitea или локальный Git-сервер);
  3. Для приватных репозиториев укажите Personal Access Token (Deploy Token) с правами чтения (read_repository);
  4. Выберите целевую ветку для индексации (по умолчанию main или master, в v0.32 поддерживается мультиветочное индексирование).

После добавления репозитория фоновый воркер Tabby запускает конвейер индексации:

  • Клонирует исходный код в защищенный локальный кэш тома /data/repositories;
  • Строит синтаксическое дерево (AST) файлов с помощью Tree-sitter, извлекая объявления классов, методов и интерфейсов;
  • Создает плотные векторные эмбеддинги кода и сохраняет их во встроенный поисковый индекс Tantivy.

Когда программист открывает файл в IDE, плагин Tabby отправляет не только окружающие строки, но и извлекает релевантные фрагменты из индекса других модулей проекта. В результате подсказки автодополнения используют реальные методы ваших сервисов и импортируют правильные классы без галлюцинаций.

Рекомендуемые VDS-провайдеры

Отказоустойчивые сервера с быстрыми NVMe и каналом до 1 Гбит/с

Выбор редакции
⚡

Timeweb Cloud — Скоростные NVMe VDS с мощными CPU

Высокочастотные процессоры (до 3.4 ГГц) и скоростные диски NVMe для минимальной задержки автодополнения кода и быстрой сборки индексов Git.

Конфигурация
4 vCPU 3.3 ГГц • 8 ГБ RAM • 60 ГБ NVMe • Трафик без лимита
Для команд
🔷

Selectel — Инфраструктура с GPU и защитой коммерческой тайны

Серверы с профессиональными графическими ускорителями NVIDIA и изоляцией контура для крупных инженерных команд от 10+ человек.

Конфигурация
4 vCPU • 16 ГБ RAM • GPU NVIDIA T4 • Защита от DDoS
Быстрый старт
🟠

Beget — Надежные VDS с готовым Docker окружением

Удобная панель управления, моментальная установка Ubuntu 24.04 LTS и круглосуточная техническая поддержка инженеров.

Конфигурация
4 vCPU 3.0 ГГц • 8 ГБ RAM • 50 ГБ NVMe • Посекундный биллинг

7. Настройка Nginx Reverse Proxy: SSL, отключение буферизации SSE и WebSockets

Для защищенного взаимодействия разработчиков с сервером из любых сетей (офис, дом, коворкинг) настроим обратный прокси-сервер Nginx с шифрованием TLS и поддержкой потоковой передачи данных (Server-Sent Events).

⚡ Критический нюанс: отключение буферизации proxy_buffering off

Генерация автодополнения кода и ответов чата в Tabby происходит потоково через Server-Sent Events (SSE). Если в конфигурации Nginx оставить стандартную буферизацию, веб-сервер будет накапливать сгенерированные токены в буфере до полного формирования ответа. Разработчик в IDE не увидит плавного появления кода, а получит задержку в 2–3 секунды. Директива proxy_buffering off; обязательна — она отключает промежуточную буферизацию и отправляет каждый сгенерированный символ в редактор кода немедленно.

Создайте файл конфигурации виртуального хоста /etc/nginx/sites-available/tabby.conf:

server {
    listen 80;
    server_name tabby.example.com;

    # Максимальный размер загружаемых файлов (для импорта контекста и документации)
    client_max_body_size 50M;

    location / {
        proxy_pass http://127.0.0.1:8080;

        # Заголовки идентификации клиента
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;

        # Поддержка протокола HTTP/1.1 и постоянных соединений
        proxy_http_version 1.1;

        # Проксирование WebSockets для интерактивного чата и Answer Engine
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";

        # Отключение буферизации для мгновенного стриминга автокомплита
        proxy_buffering off;
        proxy_cache off;

        # Увеличенные таймауты для тяжелых запросов генерации
        proxy_read_timeout 600s;
        proxy_send_timeout 600s;
    }
}

Активируйте сайт, проверьте синтаксис Nginx и перезагрузите конфигурацию:

sudo ln -s /etc/nginx/sites-available/tabby.conf /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx

Выпустите бесплатный криптографический сертификат Let's Encrypt с автоматическим редиректом на HTTPS:

sudo certbot --nginx -d tabby.example.com --redirect

Проверьте корректность цепочки шифрования через онлайн-инструмент проверки SSL и убедитесь в закрытости внутреннего порта 8080 через сканер открытых портов.

8. Подключение плагинов в IDE: настройка VS Code и JetBrains (PyCharm, WebStorm, IDEA)

Финальный шаг — интеграция вашего приватного сервера с редакторами кода разработчиков. Официальные плагины Tabby доступны во всех популярных маркетплейсах.

1. Интеграция с Visual Studio Code / VSCodium

  1. Откройте вкладку расширений (Ctrl + Shift + X) и введите в поиске Tabby (автор: TabbyML);
  2. Нажмите Install;
  3. После установки в правом нижнем углу строки состояния появится значок Tabby. Нажмите на него или откройте параметры (Ctrl + ,) и найдите раздел Tabby;
  4. В поле Server Endpoint укажите адрес вашего сервера: https://tabby.example.com;
  5. В поле Token вставьте ваш персональный ключ (tby_...);
  6. Значок в статус-баре изменится на галочку (Checkmark) с отображением задержки пинга — сервис готов к работе.

Горячие клавиши в VS Code:

  • Tab: принять предложенный автокомплит кода;
  • Alt + ] (или Option + ] на macOS): показать следующий вариант подсказки;
  • Ctrl + Shift + L (или иконка в боковой панели): открыть боковую панель чата Tabby с возможностью упоминать файлы через @имя_файла для рефакторинга и генерации тестов.

2. Интеграция с IDE JetBrains (IntelliJ IDEA, PyCharm, WebStorm, GoLand, CLion, RustRover)

  1. Перейдите в Settings → Plugins (или Preferences → Plugins на macOS);
  2. Во вкладке Marketplace найдите плагин Tabby и нажмите Install;
  3. Перезапустите IDE при необходимости и перейдите в Settings → Tools → Tabby;
  4. Установите Server Endpoint: https://tabby.example.com и вставьте ваш персональный токен;
  5. Нажмите Apply. В строке состояния в правом нижнем углу появится активный статус ассистента.

Подсказки генерируются прямо в процессе набора кода серым цветом (Inline Ghost Text), в точности как в оригинальном GitHub Copilot, но с гарантией полной изоляции данных.

9. Резервное копирование конфигурации, индексов репозиториев и регламент обновлений

Все конфигурации пользователей, выданные токены доступа, списки Git-репозиториев и кэш векторных индексов хранятся в каталоге /opt/tabby/data в базе данных SQLite и файловой структуре. При этом веса самих нейросетей в подкаталоге data/models занимают гигабайты и не требуют обязательного ежедневного резервирования, так как их можно заново скачать из реестра в любой момент.

⚠️ Обеспечение ACID-консистентности базы данных SQLite при бэкапе

Прямое архивирование открытой базы данных SQLite утилитой tar на работающем сервере несет риск получения поврежденной копии (torn pages), если в момент чтения сервис записывает транзакции в WAL-журнал. Чтобы исключить повреждение БД, скрипт резервного копирования кратковременно ставит контейнер на паузу с помощью docker compose pause (занимает 1–2 секунды, незаметно для разработчиков ночью), выполняет консистентный срез и гарантированно возобновляет работу контейнера через обработчик trap 'docker compose unpause' EXIT.

Создадим отказоустойчивый bash-скрипт резервного копирования /opt/tabby/backup_tabby.sh:

#!/usr/bin/env bash
set -euo pipefail

APP_DIR="/opt/tabby"
BACKUP_DIR="${APP_DIR}/backups"
TIMESTAMP=$(date +"%Y%m%d_%H%M%S")
mkdir -p "${BACKUP_DIR}"

echo "[$(date)] Старт резервного копирования Tabby..."

cd "${APP_DIR}"

# Гарантированное снятие с паузы при любом исходе (успех или сбой)
cleanup() {
  docker compose unpause 2>/dev/null || true
}
trap cleanup EXIT

# 1. Кратковременная пауза процессов для консистентного снапшота SQLite
echo "[$(date)] Фиксация транзакций SQLite (pause)..."
docker compose pause

# 2. Архивация конфигурации, базы данных и репозиторных индексов (исключая тяжелые веса моделей)
tar --exclude='data/models' \
    -czf "${BACKUP_DIR}/tabby_data_${TIMESTAMP}.tar.gz" \
    docker-compose.yml \
    data

# 3. Немедленный возврат сервиса к работе
docker compose unpause
trap - EXIT

# 4. Проверка успешности создания и ненулевого размера архива
if [[ ! -s "${BACKUP_DIR}/tabby_data_${TIMESTAMP}.tar.gz" ]]; then
  echo "[ОШИБКА] Архив резервной копии пуст или не был создан!" >&2
  exit 1
fi

# 5. Установка строгих прав доступа только для владельца root
chmod 600 "${BACKUP_DIR}/tabby_data_${TIMESTAMP}.tar.gz"

# 6. Ротация: удаление локальных бэкапов старше 14 дней
find "${BACKUP_DIR}" -name "tabby_data_*.tar.gz" -type f -mtime +14 -delete

echo "[$(date)] Консистентная резервная копия успешно создана: ${BACKUP_DIR}/tabby_data_${TIMESTAMP}.tar.gz"

Сделайте скрипт исполняемым и добавьте ночную задачу в планировщик cron (ежедневно в 04:00):

chmod +x /opt/tabby/backup_tabby.sh
# Добавление в crontab -e:
# 0 4 * * * /opt/tabby/backup_tabby.sh >> /var/log/tabby_backup.log 2>&1

💡 Хранение бэкапов в удаленном S3-хранилище

Для защиты от выхода из строя накопителей сервера настройте автоматическую выгрузку архивов во внешнее независимое S3-хранилище с помощью утилиты Restic с шифрованием или распределенного кластера Garage S3.

Регламент обновления Tabby до новых версий

Обновление сервиса выполняется без потери настроек благодаря выносу постоянных данных в примонтированный том:

cd /opt/tabby

# 1. Создание внеплановой контрольной точки перед обновлением
./backup_tabby.sh

# 2. Скачивание свежего образа из реестра
docker compose pull

# 3. Перезапуск контейнера в фоне
docker compose up -d

# 4. Проверка журнала миграций и готовности сервиса
docker compose logs -f --tail=50

10. Чек-лист готовности Tabby к корпоративной разработке в закрытом контуре

Перед предоставлением доступа к серверу команде разработчиков убедитесь, что инсталляция удовлетворяет всем стандартам надежности и безопасности:

Параметр Рекомендуемое значение Инженерный смысл
Привязка сетевого порта 127.0.0.1:8080:8080 Исключает прямой обход UFW и утечку трафика без HTTPS-шифрования.
Ограничения ресурсов (cgroups) memory: 6G, cpus: 3.5 Предотвращает OOM-падение операционной системы при тяжелых генерациях.
Буферизация Nginx proxy_buffering off; Обеспечивает мгновенный реалтайм-стриминг подсказок кода в редактор без задержек.
Проксирование WebSockets Upgrade / Connection Требуется для интерактивной работы бокового чата Answer Engine в VS Code и JetBrains.
RAG-контекст репозиториев Подключен Deploy Token Обеспечивает знание внутренних структур данных и функций компании.
Резервное копирование Ночной cron + docker pause Гарантирует 100% консистентность SQLite без битых транзакций при архивации.

Инструменты SysKit по теме статьи

Бесплатные утилиты для проверки и диагностики вашего сервера

Вопросы и ответы (FAQ)

Популярные вопросы вебмастеров и сисадминов по данной теме

Можно ли использовать Tabby на обычном сервере VDS без видеокарты (GPU)?
Да. Tabby полностью поддерживает инференс на центральном процессоре (--device cpu). Для комфортного отклика автокомплита в пределах 250–500 мс рекомендуется выбирать компактные специализированные модели StarCoder-1B или Qwen2.5-Coder-1.5B на сервере с 4 vCPU с высокой тактовой частотой (от 3.0 ГГц) и 8 ГБ оперативной памяти.
Чем Tabby отличается от плагина Continue.dev в связке с Ollama?
Continue.dev — это клиентский плагин, где каждый разработчик индивидуально настраивает подключение к LLM. Tabby — это централизованный корпоративный сервер: он централизованно управляет учетными записями команды, собирает аналитику использования, автоматически индексирует общие Git-репозитории компании для глубокого понимания проекта и выдает единые защищенные токены доступа.
Попадают ли фрагменты исходного кода в публичные нейросети при работе через Tabby?
Нет. Вся обработка кода, построение синтаксических деревьев AST и инференс нейросетей происходят исключительно на вашем сервере VDS. Сетевые запросы курсируют строго между редактором кода разработчика и вашим Nginx-прокси, не покидая защищенный периметр компании.

Читайте также в блоге SysKit

Смежные руководства и полезные технические статьи