Начало работы

Введение

Sably — веб-сервис для разработки в Roblox Studio через чат с ИИ. Вы описываете задачу на сайте, а изменения появляются в открытом плейсе.

Вся работа идёт в браузере. Плагин в Studio только передаёт данные: он получает команды от сайта, выполняет их в плейсе и отправляет результат обратно. Своего интерфейса чата в плагине нет, ключей и настроек моделей тоже.

Сайтчат с ИИ
Плагинмост
Roblox Studioваш плейс

Что умеет Sably

  • Отвечать на вопросы про Luau и API Roblox, разбирать ошибки в коде.
  • Изучать плейс: смотреть дерево объектов, искать по имени и классу, читать скрипты.
  • Менять плейс: создавать объекты и скрипты, переписывать код, менять свойства, удалять лишнее.
  • Отчитываться: после каждой задачи в чате появляется список изменений с диффом по строкам.
Начало работы

Быстрый старт

Первый запрос к Sably из Studio — примерно за пять минут.

  1. Скачайте плагин — SablyAuth.lua. Адрес сайта в нём уже указан.
  2. Положите файл в папку плагинов Studio и перезапустите Studio (подробнее в разделе «Установка плагина»).
  3. Получите код: при запуске Studio окно Sably откроется само (или вкладка Plugins → Sably) → «Получить код».
  4. Введите код на странице входа и подтвердите вход на roblox.com. Аккаунт создастся и привяжется к плагину автоматически.
  5. Откройте чат, включите Studio в поле ввода и опишите задачу.
Совет. Для первой проверки попросите что-нибудь простое и наглядное, например: «Сделай систему монет с leaderstats». Скрипт появится в ServerScriptService, а в чате — отчёт об изменениях.
Настройка

Установка плагина

Плагин — это один файл .lua. Его не нужно публиковать или устанавливать из Toolbox.

1. Скачайте файл

Нажмите Скачать плагин. Сайт сам подставит в файл свой адрес, поэтому плагин подключится именно к нему.

2. Положите в папку плагинов

%LOCALAPPDATA%\Roblox\Plugins

Вставьте путь в адресную строку Проводника. Если папки нет, создайте её.

Можно и проще: в Studio откройте Plugins → Plugins Folder, и нужная папка откроется сама.

3. Разрешите HTTP-запросы

Перезапустите Studio. При первом подключении Studio спросит, можно ли плагину обращаться к адресу сайта. Нажмите Allow, иначе плагин не сможет связаться с сайтом.

Если окно с вопросом не появилось или вы нажали Deny, откройте Plugins → Manage Plugins, найдите Sably и разрешите HTTP-доступ вручную.
Настройка

Подключение и регистрация по коду

На сайте нет пароля. Вход и регистрация работают через одноразовый код, который показывает плагин.

Как это работает

  1. В окне Sably нажмите «Получить код». Пока Studio не подключена, окно открывается само при запуске; после входа — только по кнопке Sably на вкладке Plugins.
  2. Плагин возьмёт ваш Roblox-аккаунт из Studio и покажет код вида XXXX-XXXX.
  3. Откройте sably → Войти и введите код. Дефис можно не набирать, регистр не важен.
  4. Подтвердите вход на roblox.com под тем же аккаунтом, что открыт в Studio. Sably получает от Roblox только ваш ID и сверяет его с аккаунтом из плагина — пароль от Roblox сайт не видит.
  5. Сайт создаст аккаунт (или войдёт в существующий) и привяжет к нему плагин. Окно плагина закроется само.

Правила кода

ПараметрЗначение
Длина8 символов, показывается как XXXX-XXXX
Символылатиница и цифры без похожих: нет 0, O, 1, I, L
Срок действия10 минут
Использованийодно; после входа код сгорает
Подтверждениевход на roblox.com в том же браузере, где вводили код

Статус подключения

После привязки плагин держит связь с сайтом в фоне. Статус виден в двух местах:

  • В плагине: индикатор В сети, название плейса и журнал действий ассистента.
  • В чате: кнопка Studio в поле ввода загорается зелёным, когда плейс открыт.
Один аккаунт Roblox привязан к одному устройству — так мы защищаемся от мультиаккаунтов. Чтобы отключить Studio, нажмите в плагине «Отвязать Studio».
Использование

Работа с чатом

Чат устроен привычно: слева список диалогов, по центру переписка, внизу поле ввода.

Диалоги

  • Новый чат — кнопка вверху боковой панели. Название появится автоматически из первого сообщения.
  • Чаты сгруппированы по дате, есть поиск. Наведите курсор на чат, чтобы переименовать или удалить его.
  • У каждого чата своя ссылка, например /chat/c/…: её можно добавить в закладки.

Поле ввода

ЭлементЧто делает
Моделькакая нейросеть отвечает (см. «Модели и effort»)
Effortнасколько глубоко модель размышляет перед ответом
Studioразрешить Sably менять открытый плейс
Enterотправить сообщение
Shift + Enterперенос строки
Escостановить генерацию

Ответы и размышление

Пока модель думает, в чате пульсирует анимированная S из логотипа, а под ней видны последние строки рассуждения. Когда начинается ответ, рассуждение сворачивается в строку «Размышлял N с»: её можно раскрыть и прочитать целиком. Сам ответ печатается по мере генерации, код подсвечивается и копируется одной кнопкой.

Использование

Изменения в Studio

Когда кнопка Studio включена, Sably сам изучает плейс и вносит в него изменения.

В чате видно, что делает ассистент по шагам: какие объекты смотрит, какие скрипты читает и меняет. В конце появляется отчёт со всеми изменёнными объектами.

Как читать отчёт

После каждой операции Sably повторно обращается к Studio: проверяет наличие или удаление объекта, его класс, записанный код и изменённые свойства. В блоке «Проверки операций» видны результаты и несоответствия. Они также передаются модели, чтобы она могла исправить проблему. При отключении Studio проверка помечается как незавершённая.

Это проверка состояния сразу после операции. Она не запускает игру и не проверяет синтаксис Luau. Поведение нужно проверить в Play, затем нажать Stop и попросить ассистента прочитать доступные ошибки и предупреждения Output. Старые сообщения в Output могут не относиться к текущей задаче.

Если включён Play

Агент работает в режиме редактирования. Если включить Play или Run, задача приостановится с сохранением прогресса. Пауза теста (Pause) также считается режимом тестирования.

В чате появится кнопка «Остановить Play». Нажмите её либо остановите тест самостоятельно в Roblox Studio. После подтверждения выхода из Play агент продолжит ту же задачу автоматически, без дополнительного списания запроса.

Для этой функции нужен плагин 2.4. Замените старый файл свежим SablyAuth.lua и перезапустите Studio. Если кнопка не смогла завершить тест, нажмите Stop в Studio вручную.

Нажмите на строку скрипта, чтобы раскрыть построчный diff: красные строки с − показывают исходный код, зелёные с + — итоговый. Две колонки номеров относятся к версии до и после. Неизменённые строки помогают увидеть контекст. Повторные правки одного скрипта сводятся в разницу между его исходным и конечным состоянием.

Новый скрипт содержит добавления, удалённый — удаления; пустой итоговый скрипт тоже можно раскрыть. Кнопка «Копировать» копирует весь итоговый код без номеров и меток diff. Для удалённого скрипта итоговый код пуст. Повторное нажатие на строку сворачивает diff.

Большие изменения могут отображаться как полная замена области; очень длинный diff сокращается с явной пометкой, но копирование сохраняет весь итоговый код. В старых отчётах без исходной версии показывается сохранённый код с пояснением вместо diff.

Демо-агент и настоящая модель

Подключите настоящую модель с поддержкой инструментов (например, OpenAI с gpt-4o или Anthropic с claude-3-5-sonnet) и включите галочку агент в админке. Модель сама выберет, какие команды вызвать, проанализирует структуру плейса и внесёт нужные изменения. Все операции проходят через подключённый плагин — это реальные правки в Studio.

Чтобы работать над разными задачами по вашему запросу, администратор должен подключить полноценную модель с поддержкой инструментов. Выберите её в чате: она сама определяет, какие действия нужны для задачи, и передаёт их плагину.

Пример создания leaderstats с монетами:

-- ServerScriptService/SablyCoins
local Players = game:GetService("Players")

Players.PlayerAdded:Connect(function(player)
	local stats = Instance.new("Folder")
	stats.Name = "leaderstats"
	stats.Parent = player

	local coins = Instance.new("IntValue")
	coins.Name = "Coins"
	coins.Value = 0
	coins.Parent = stats
end)

Что может ассистент

ДействиеПример
Смотреть дерево объектовсодержимое Workspace, ServerScriptService
Искатьвсе RemoteEvent в плейсе
Искать в коде и читать диапазоны строкнайти использования RemoteEvent, изучить нужную функцию
Читать свойства, атрибуты и тегипроверить настройки детали и объекты с тегом
Создавать объекты и скриптыPart, Script, ProximityPrompt
Точечно менять код и свойствазаменить единственный точный фрагмент с защитой от конфликта, покрасить деталь
Читать Outputразобрать доступные ошибки и предупреждения после воспроизведения проблемы
Удалятьубрать лишние объекты
Все изменения записываются в историю Studio. Если результат не понравился, отмените его привычным Ctrl Z.
Использование

Модели и effort

Модель решает, кто отвечает. Effort задаёт, насколько глубоко она размышляет перед ответом.

Сейчас список моделей тестовый: ответы имитируются, чтобы можно было проверить интерфейс без API-ключей. Настоящие модели подключает администратор.

Режимы размышления

РежимОписание
По выборуПользователь включает/выключает мышление в интерфейсе
НетМодель не поддерживает мышление, отвечает сразу
ВсегдаМодель думает перед каждым ответом, выключить нельзя

Уровни effort

Без размышленийСразу пишет ответ. Подходит для простых вопросов.
НизкийКороткая проверка перед ответом.
СреднийБаланс скорости и качества. Выбран по умолчанию.
ВысокийПодробный разбор и граничные случаи. Отвечает дольше.

Если модель не поддерживает размышление, выбор effort недоступен. Если модель размышляет всегда, уровень «Без размышлений» отключён.

Как effort передаётся подключённым моделям?

OpenAI-совместимые провайдеры и OpenRouter получают reasoning_effort со значением low, medium или high, если у модели размышление включается по выбору. Модели, которые думают всегда (например, R1), рассуждают в своём режиме. Для Anthropic меняется бюджет мышления в токенах:

{ "low": 2048, "medium": 6000, "high": 16000 }
Помощь

FAQ

Плагин пишет «Нет связи с сайтом»

Проверьте, что сайт открыт по тому же адресу, с которого вы скачали плагин, и что HTTP-запросы для плагина разрешены (Plugins → Manage Plugins). Плагин переподключается сам: вручную ничего нажимать не нужно.

Код не подходит

Код действует 10 минут и только один раз. Получите новый в плагине и введите его сразу. В кодах нет похожих символов вроде 0 и O, поэтому опечатка обычно сразу видна.

Зачем подтверждать вход на roblox.com?

Плагин сообщает сайту ваш Roblox ID, но сам по себе сайт не может убедиться, что код вводит владелец аккаунта. Официальный вход Roblox (OAuth) это гарантирует: никто не войдёт в Sably под вашим именем. Sably получает только ID аккаунта, пароль остаётся у Roblox. Если сайт пишет, что вы вошли в другой аккаунт, — выйдите на roblox.com и войдите под тем, что открыт в Studio.

Кнопка Studio в чате серая

Значит, плагин сейчас не на связи: Studio закрыта, плейс не открыт или Studio отвязана. Откройте плейс, и через несколько секунд кнопка загорится сама. Кнопка тоже будет серой, если выбранная модель не умеет работать в Studio.

Можно ли войти с другого компьютера?

Аккаунт привязан к устройству, на котором вы впервые вошли через плагин. Чтобы перенести его на другое устройство, напишите администрации: привязку сбрасывают в админ-панели.

Sably видит мой код?

Только то, что нужно для задачи, и только пока включена кнопка Studio. Ассистент читает дерево объектов и скрипты через плагин. Если выключить Studio, он будет только отвечать в чате.

Sably связан с Roblox?

Нет. Sably — независимый сервис, он не связан с Roblox Corporation.

Готовы попробовать?Установите плагин и введите код — это займёт пару минут.
Начать