src / config.ts
import { createConfigSchematics } from "@lmstudio/sdk";
/**
* Глобальные настройки плагина (видны в панели LM Studio под тумблером плагина).
* Здесь пользователь включает/выключает отдельные OCR-движки и задаёт параметры.
*/
export const globalConfigSchematics = createConfigSchematics()
.field(
"useQwenVL",
"boolean",
{
displayName: "Использовать Qwen3-VL",
subtitle:
"OCR через загруженную в LM Studio vision-модель (по локальному серверу). Включите сервер в LM Studio.",
},
true,
)
.field(
"useEasyOCR",
"boolean",
{
displayName: "Использовать EasyOCR (GPU)",
subtitle: "Классический OCR на GPU. Требует установленного python-пакета easyocr.",
},
true,
)
.field(
"useTesseract",
"boolean",
{
displayName: "Использовать Tesseract (CPU)",
subtitle: "Классический OCR на CPU. Требует tesseract.exe и pytesseract.",
},
false,
)
.field(
"languages",
"string",
{
displayName: "Языки",
subtitle: "Коды через запятую: ru,en,de,fr",
},
"ru,en",
)
.field(
"dpi",
"numeric",
{
displayName: "DPI рендера страниц",
subtitle: "Выше = чётче и медленнее. 150–250.",
},
200,
)
.field(
"pythonPath",
"string",
{
displayName: "Путь к Python",
subtitle: "Команда запуска Python с установленными зависимостями (python / py / полный путь).",
},
"python",
)
.field(
"lmStudioServerUrl",
"string",
{
displayName: "URL сервера LM Studio",
subtitle: "Для движка Qwen3-VL. По умолчанию локальный сервер LM Studio.",
},
"http://localhost:1234/v1",
)
.field(
"qwenModelId",
"string",
{
displayName: "ID vision-модели",
subtitle: "Идентификатор модели в LM Studio для OCR.",
},
"qwen/qwen3-vl-8b",
)
.build();