MTGA — это решение для провайдера фиксированных моделей IDE на основе локального прокси, совместимое с Windows и macOS.
Примечание: в настоящее время проект поддерживает только API в формате openai, пожалуйста, убедитесь в этом. Другие форматы можно преобразовать в формат openai перед использованием.
Ты ничего не видишь~~
MTGA расшифровывается как Make T Great Again!
- MTGA
- 🔄 Рефакторинг архитектуры отображения моделей - изменена с "один к одному" на "единая модель отображения"
- клиент trae использует единый ID модели отображения, MTGA переключает фактическую бэкенд-модель через группы конфигураций
- прокси-сервер поддерживает отображение ID модели и аутентификацию MTGA
- глобальная конфигурация поддерживает настройку ID модели отображения и ключей аутентификации MTGA
- ⚡ Оптимизация управления группами конфигураций - рефакторинг полей и логики валидации групп конфигураций
- название группы стало необязательным, API URL, фактический ID модели, API Key обязательны
- поле целевого ID модели удалено, вместо этого используется глобальная настройка отображения модели
- переименование заголовков таблиц групп, обратная совместимость с старыми конфигурационными файлами
- 🧪 Добавлена функция автоматического тестирования - полная система тестирования подключения моделей
- автоматическое тестирование соединения модели после сохранения конфигурации (GET
/v1/models/{id_модели}) - ручное тестирование живости с поддержкой теста завершения чата (POST
/v1/chat/completions) - подробное логирование тестов, включая содержимое ответов и статистику потребления токенов
- автоматическое тестирование соединения модели после сохранения конфигурации (GET
- 🎯 Повышение удобства использования - добавлены кнопка теста живости и подробные подсказки
- кнопка теста живости с подсказкой (tooltip), предупреждающей о расходе токенов
- асинхронное тестирование для исключения блокировки UI, улучшенная обработка ошибок
- безопасное отображение API Key (с маскированием)
История версий
- 🐛 Исправлена проблема с функцией изменения hosts — устранена аномалия символов переноса строки при изменении файла hosts
- ✨ Добавлена функция управления пользовательскими данными — версия в одном файле поддерживает постоянное хранение пользовательских данных
- Расположение данных: Windows
%APPDATA%\MTGA\, macOS/Linux~/.mtga/ - Поддержка резервного копирования, восстановления и очистки пользовательских данных
- Конфигурационные файлы, SSL-сертификаты, резервные копии hosts автоматически сохраняются
- Расположение данных: Windows
- 🔧 Оптимизирована сборка в один файл — улучшен
build_onefile.bat, добавлена поддержка переменных для номеров версий - 🎯 Улучшен пользовательский интерфейс — добавлена кнопка обновления списка групп конфигураций, оптимизирована компоновка интерфейса
- 📖 Улучшена документация — добавлено руководство по сборке в один файл, обновлена документация проекта
- ✅ Адаптация для Mac OS — поддержка установки приложений macOS
- 🔄 Изменение провайдера по умолчанию — с DeepSeek на OpenAI
- 📦 Рефакторинг файлов — файлы, связанные с ds, переименованы в формат
*_ds.*для архивации - 🌐 Изменение формата URL API — с
https://your-api.example.com/v1наhttps://your-api.example.com
- Скачайте последнюю версию
MTGA_GUI-v{версия}-x64.exeс GitHub Releases - Запустите скачанный exe-файл двойным щелчком (требуются права администратора)
- В открывшемся графическом интерфейсе заполните API URL и ID модели
- Нажмите кнопку «Запустить все службы одним кликом»
- Дождитесь, пока программа автоматически выполнит следующие действия:
- Сгенерирует и установит сертификат
- Изменит файл hosts
- Запустит прокси-сервер
- После завершения настройте IDE в соответствии с Шаг 5: Настройка Trae IDE
Note
- При первом запуске может потребоваться разрешить доступ через брандмауэр
- Однопользовательская версия поддерживает постоянное хранение пользовательских данных, настройки и сертификаты сохраняются автоматически
- Скачайте последнюю версию
MTGA_GUI-v{версия}-aarch64.dmgс GitHub Releases - Дважды щелкните файл DMG, система автоматически смонтирует установочный пакет
- Перетащите
MTGA_GUI.appв папкуApplications - Запустите приложение из Launchpad или папки Applications
- Запустите
MTGA_GUI.app(при первом запуске может потребоваться разрешить выполнение в системных настройках) - В графическом интерфейсе заполните:
- Нажмите кнопку "Запустить все службы одним кликом"
- Программа автоматически выполнит:
- Генерацию и установку SSL-сертификата в системную связку ключей
- Изменение файла
/etc/hosts(требуются права администратора)
- Вручную доверьте сгенерированный сертификат в открывшемся окне связки ключей, стандартное название —
MTGA_CA - Запустите локальный прокси-сервер
- Выполните настройку согласно Конфигурации Trae IDE ниже
Note
- Для установки сертификата и изменения файла hosts требуются права администратора
- Если появляется сообщение «Пакет поврежден», пожалуйста, ознакомьтесь с разделом macOS решение проблемы «Пакет поврежден»
Если при запуске MTGA_GUI.app появляется такое сообщение:
Нажмите «Отмена». Затем следуйте приведённым ниже инструкциям для решения проблемы:
- Перейдите на страницу Sentinel Releases и скачайте
Sentinel.dmg - Дважды кликните по файлу
Sentinel.dmg, затем перетащитеSentinel.appв папкуApplications - Запустите
Sentinel.appчерез Launchpad или папкуApplications - Перетащите
MTGA_GUI.appиз этого проекта в левое окно приложенияSentinel.app
MTGA_GUI.app будет автоматически обработано и запущено
- Найдите полный путь к
MTGA_GUI.app, например/Applications/MTGA_GUI.app - Откройте приложение Терминал (Terminal)
- Выполните следующую команду, чтобы снять карантин с
MTGA_GUI.app:Эта команда удалит расширенный атрибутxattr -d com.apple.quarantine <полный_путь_к_приложению>
com.apple.quarantineуMTGA_GUI.app - Запустите
MTGA_GUI.appснова.
- Система Windows 10 или выше
- Наличие прав администратора
- Установленная среда Python, рекомендуется версия 3.10 или выше
- Установленный Git
Откройте Git Bash:
# Перейти в директорию ca
cd "mtga/ca"
# 1. Генерация сертификата CA (ca.crt и ca.key)
./genca.shПри выполнении ./genca.sh вам будет задан вопрос "Do you want to generate ca cert and key? [yes/no]", введите y и нажмите Enter. Затем потребуется заполнить некоторую информацию:
Country Name (2 letter code) []: введитеCN(или другой код страны)- Остальные поля (State, Locality, Organization, Common Name for CA) можно заполнить по необходимости или оставить пустыми, рекомендуется ввести
X. Common Name можно указать какMTGA_CAили подобное. Email можно оставить пустым.
# 2. Генерация сертификата api.openai.com (api.openai.com.crt и api.openai.com.key)
# Этот скрипт использует файлы api.openai.com.subj и api.openai.com.cnf в той же папке
./gencrt.sh api.openai.comПосле выполнения в каталоге mtga\ca вы найдете следующие важные файлы:
ca.crt(ваш пользовательский CA-сертификат)ca.key(ваш пользовательский закрытый ключ CA - не разглашайте)api.openai.com.crt(SSL-сертификат для локального прокси-сервера)api.openai.com.key(SSL-закрытый ключ для локального прокси-сервера - не разглашайте)
- Найдите файл
mtga\ca\ca.crt. - Дважды щелкните файл
ca.crt, чтобы открыть просмотрщик сертификатов. - Нажмите кнопку "Установить сертификат...".
- Выберите "Текущий пользователь" или "Локальный компьютер". Рекомендуется выбрать "Локальный компьютер" (это требует прав администратора), чтобы изменения применялись ко всем пользователям.
- В следующем диалоговом окне выберите "Поместить все сертификаты в следующее хранилище", затем нажмите "Обзор...".
- Выберите "Доверенные корневые центры сертификации", затем нажмите "ОК".
- Нажмите "Далее", затем "Готово". Если появится предупреждение безопасности, выберите "Да".
Вам потребуются права администратора для изменения файла Hosts, чтобы перенаправить api.openai.com на вашу локальную машину.
- Путь к файлу Hosts:
C:\Windows\System32\drivers\etc\hosts - Откройте этот файл от имени администратора с помощью Блокнота (или другого текстового редактора).
- Добавьте в конец файла строку:
127.0.0.1 api.openai.com
- Сохраните файл.
Перед запуском прокси-сервера:
- Установите зависимости:
pip install Flask requests
- Настройте скрипт:
- Откройте файл
trae_proxy.py. - Измените
TARGET_API_BASE_URL: Замените его на базовый URL API в формате OpenAI того сайта, к которому вы фактически хотите подключиться (например:"https://your-api.example.com"). - Подтвердите пути к сертификатам: Скрипт по умолчанию будет искать
api.openai.com.crtиapi.openai.com.keyвmtga\ca. Если ваши сертификаты находятся в другом месте, измените значенияCERT_FILEиKEY_FILEили скопируйте эти два файла вCERT_DIR, указанный в скрипте.
- Откройте файл
Запуск прокси-сервера:
Откройте командную строку (cmd) или PowerShell от имени администратора (так как требуется прослушивание порта 443) и выполните:
python trae_proxy.pyЕсли всё прошло успешно, вы должны увидеть логи запуска сервера.
-
Откройте и войдите в Trae IDE.
-
В диалоговом окне AI нажмите на значок модели в правом нижнем углу и выберите в конце списка "Добавить модель".
-
Провайдер: Выберите
OpenAI. -
Модель: Выберите "Пользовательская модель".
-
ID модели: Введите значение, которое вы определили в скрипте Python как
CUSTOM_MODEL_ID(например:my-custom-local-model). -
API-ключ:
- Если ваш целевой API требует API-ключ, и Trae будет передавать его через
Authorization: Bearer <key>, то ключ, указанный здесь, будет передан Python-прокси. - При настройке OpenAI в Trae, API-ключ связан с конфигурацией
remove_reasoning_content. Наш Python-прокси не обрабатывает эту логику, он просто перенаправляет заголовок Authorization. Вы можете попробовать ввести ключ, требуемый вашим целевым API, или произвольный ключ в форматеsk-xxxx.
- Если ваш целевой API требует API-ключ, и Trae будет передавать его через
-
Нажмите "Добавить модель".
-
Вернитесь в чат AI и в правом нижнем углу выберите только что добавленную пользовательскую модель.
Теперь, когда вы взаимодействуете с этой пользовательской моделью через Trae, запросы должны проходить через ваш локальный Python-прокси и перенаправляться на настроенный вами TARGET_API_BASE_URL.
Советы по устранению неполадок:
- Конфликт портов: Если порт 443 уже занят (например, службами IIS, Skype или другими), скрипт Python не запустится. Вам необходимо остановить службу, занимающую порт, либо изменить скрипт Python и Nginx (если используется) для прослушивания другого порта (но это сложнее, поскольку Trae жестко запрограммирован на обращение к
https://api.openai.comчерез порт 443). - Брандмауэр: Убедитесь, что Брандмауэр Windows разрешает входящие подключения к порту 443 для Python (хотя это локальное соединение
127.0.0.1и обычно не требует специальной настройки брандмауэра, это стоит проверить). - Проблемы с сертификатом: Если Trae сообщает об ошибках, связанных с SSL/TLS, внимательно проверьте, правильно ли установлен сертификат CA в "Доверенные корневые центры сертификации", а также правильно ли Python-прокси загружает файлы
api.openai.com.crtи.key. - Логи прокси: Скрипт Python выводит некоторые логи, которые могут помочь в диагностике проблем.
Это решение более интегрировано по сравнению с прямым использованием vproxy + nginx, поскольку объединяет завершение TLS и логику прокси в одном Python-скрипте, что больше подходит для быстрого прототипирования на Windows.
-> Метод запуска скрипта для Mac OS
Нажмите кнопки Star и Watch в правом верхнем углу репозитория, чтобы получать последние обновления.
Каталог ca заимствован из репозитория wkgcass/vproxy, спасибо автору!




