Twinny: AI ассистент для кодирования в VS Code без облака
Twinny — это open-source AI ассистент для кодирования в VS Code, который работает в твоей сети. Основная задача проекта — обеспечить код комплетирование, чат, правки и ревью, используя локальные или хостинговые модели, без связывания с внешними API.
В отличие от других решений, Twinny не требует завязки на облачные сервисы и позволяет держать данные в безопасности на своем сервере. Идеален для команд, где конфиденциальность и контроль имеют значение. Можно настроить общий шлюз для команды, который будет обслуживать всех разработчиков на локальном уровне.
Проект написан на JavaScript и предоставляет возможность запуска локального сервера с помощью команды npx twinny-server quickstart. Установить можно через Marketplace VS Code, начиная с версии 1.93. Бесплатный доступ для первых пяти пользователей, далее — 6 долларов за человека в месяц. Учти, что нужные модели и сервер ты должен настроить самостоятельно.
Проект twinny представляет собой AI кодового ассистента для Visual Studio Code, который работает локально и не требует выхода в интернет. С его помощью ты можешь получать автозаполнение кода, редактировать код на месте, пользоваться чатом, проводить ревью кода и многим другим, используя модельный сервер по своему выбору: на своём компьютере, на другом устройстве, на предоставляемом API или на общем шлюзе для команды. Проект является бесплатным, открытым исходным кодом и лицензируется по MIT, без телеметрии и обязательной регистрации.
Как начать
Для установки и запуска twinny следуй следующим шагам:
- Установи twinny из Marketplace (требуется версия VS Code 1.93 или выше).
- Запусти модельный сервер. Ollama, LM Studio и llama.cpp доступны на своих портах при первом запуске; twinny предложит выбрать, какие модели использовать.
- Начни набирать код. Автозаполнения будут отображаться в виде призрачного текста; в боковой панели доступен чат.
Дополнительное руководство по началу работы и решение распространённых проблем можно найти в [документации](https://docs.twinny.dev/getting-started/quick-start/).
Функционал
twinny предоставляет следующие возможности:
- Автозаполнение кода: предложения по завершению кода в реальном времени, учитывающие контекст из открытых файлов и недавних изменений.
- Встроенное редактирование: функция, позволяющая описать изменения и просмотреть их в редакторе.
- Чат с твоим кодом: возможность прикреплять файлы и элементы кода для обсуждения.
- Индекс рабочего пространства: позволяет выполнять поиск по рабочему пространству и отображает источники в ответах.
- Ревью кода: возможность оценивать изменения в ветках, а также генерировать сообщения коммитов из изменений.
- Терминал: возможность писать команды на основе описания и получать их результаты.
Серверы и провайдеры моделей
Модели могут запускаться на различных платформах:
- На вашем компьютере: Ollama, LM Studio, llama.cpp и другие.
- На другом устройстве: используя зашифрованное соединение между компьютерами.
- На предоставляемом API: OpenAI, Anthropic и другие.
- На шлюзе команды: подключение к `twinny-server` для использования моделей, установленных командой.
Командная работа
Для работы в команде предусмотрен `twinny-server`, который служит шлюзом и обеспечивает взаимодействие между всеми разработчиками. Он позволяет установить модели и управлять доступом:
npx twinny-server quickstart
Каждому разработчику предоставляется индивидуальный ключ, ведётся учёт использования и ошибок без доступа к содержанию кода.
Бесплатное использование доступно для пяти разработчиков, после чего необходимо приобрести лицензию. Возможности лицензии включают поддержку плагинов, запись запросов и другую функциональность.
Ограничения и заключение
Проект активно развивается и предлагает множество функций для повышения продуктивности разработчиков. Основные ограничения связаны с количеством пользователей и необходимостью установки модели на поддерживаемых платформах. Основные возможности и настройка доступны в [документации](https://docs.twinny.dev/).
Открыть на GitHub: twinnydotdev/twinny →
RepoRadar