MTGA est une solution basée sur un proxy local pour fournisseurs de modèles fixes d'IDE, compatible avec Windows et macOS.
Note : Ce projet ne prend actuellement en charge que les API au format openai, veuillez le confirmer. Les autres formats peuvent être convertis au format openai avant utilisation.
Tu ne vois rien~~
MTGA signifie Make T Great Again !
- MTGA
- 🔄 Refonte de l'architecture de mapping des modèles - Passage du "mapping un-à-un" à une architecture de "modèle de mapping unifié"
- Le client trae utilise un ID de modèle de mapping unifié, MTGA bascule le modèle backend réel via le groupe de configuration
- Le serveur proxy supporte le mapping des IDs de modèle et la validation d'authentification MTGA
- La configuration globale prend en charge la définition de l'ID du modèle de mapping et de la clé d'authentification MTGA
- ⚡ Optimisation de la gestion des groupes de configuration - Refonte des champs et de la logique de validation des groupes de configuration
- Le nom du groupe de configuration devient optionnel, l'URL API, l'ID réel du modèle et la clé API deviennent obligatoires
- Suppression du champ d'ID du modèle cible, remplacé par une configuration de mapping globale
- Renommage des en-têtes des groupes de configuration, rétrocompatibilité avec les anciens fichiers de configuration
- 🧪 Ajout d'une fonctionnalité de tests automatisés - Système complet de test de connexion aux modèles
- Test automatique de la connexion au modèle après sauvegarde de la configuration (GET
/v1/models/{id du modèle}) - Fonction de test manuel de disponibilité, support des tests de complétion de chat (POST
/v1/chat/completions) - Journal détaillé des tests, incluant le contenu des réponses et le décompte des tokens consommés
- Test automatique de la connexion au modèle après sauvegarde de la configuration (GET
- 🎯 Amélioration de l'expérience utilisateur - Ajout d'un bouton de test de disponibilité et d'infobulles détaillées
- Le bouton de test de disponibilité supporte les infobulles explicatives, indiquant les risques de consommation de tokens
- Tests asynchrones pour éviter le blocage de l'interface utilisateur, gestion complète des erreurs
- Affichage sécurisé de la clé API (masquage)
Versions historiques
- 🐛 Correction d'un problème avec la fonction de modification des hosts - Résolution d'un problème de caractère de saut de ligne anormal lors de la modification du fichier hosts
- ✨ Nouvelle fonctionnalité de gestion des données utilisateur - La version monofichier prend en charge le stockage persistant des données utilisateur
- Emplacement de stockage des données : Windows
%APPDATA%\MTGA\, macOS/Linux~/.mtga/ - Prise en charge de la sauvegarde, de la restauration et de l'effacement des données utilisateur
- Configuration, certificats SSL, sauvegarde des hosts automatiquement persistants
- Emplacement de stockage des données : Windows
- 🔧 Optimisation de la construction monofichier - Amélioration de
build_onefile.bat, prise en charge de la variable de numéro de version - 🎯 Amélioration de l'interface utilisateur - Ajout d'un bouton d'actualisation de la liste des groupes de configuration, optimisation de la mise en page de l'interface
- 📖 Documentation améliorée - Ajout d'un guide de construction monofichier, mise à jour de la documentation du projet
- ✅ Adaptation pour Mac OS - Prise en charge de l'installation d'applications macOS
- 🔄 Changement de fournisseur par défaut - Passage de DeepSeek à OpenAI
- 📦 Refactorisation des fichiers - Renommage des fichiers liés à ds au format
*_ds.*pour archivage - 🌐 Modification du format de l'URL de l'API - Passage de
https://your-api.example.com/v1àhttps://your-api.example.com
- Téléchargez la dernière version de
MTGA_GUI-v{numéro de version}-x64.exedepuis GitHub Releases - Double-cliquez sur le fichier exe téléchargé (des privilèges d'administrateur sont requis)
- Dans l'interface graphique ouverte, renseignez l'URL de l'API et l'ID du modèle
- L'URL de l'API ne nécessite que le domaine (le numéro de port est optionnel, ne le renseignez pas si vous ne comprenez pas), sans la route suivante, par exemple :
https://your-api.example.com - Si vous souhaitez activer les capacités multimodales, vous pouvez mapper le nom du modèle vers un nom de modèle multimodal intégré :
-
-
- L'URL de l'API ne nécessite que le domaine (le numéro de port est optionnel, ne le renseignez pas si vous ne comprenez pas), sans la route suivante, par exemple :
- Cliquez sur le bouton "Lancer tous les services en un clic"
- Attendez que le programme termine automatiquement les opérations suivantes :
- Génération et installation du certificat
- Modification du fichier hosts
- Démarrage du serveur proxy
- Une fois terminé, configurez votre IDE selon Étape 5 : Configuration de Trae IDE
Note
- Un accès au pare-feu peut être requis lors du premier lancement
- La version mono-fichier prend en charge la persistance des données utilisateur, la configuration et les certificats sont sauvegardés automatiquement
- Téléchargez la dernière version de
MTGA_GUI-v{numéro de version}-aarch64.dmgdepuis GitHub Releases - Double-cliquez sur le fichier DMG, le système montera automatiquement le package d'installation
- Glissez-déposez
MTGA_GUI.appdans le dossierApplications - Lancez l'application depuis le Launchpad ou le dossier Applications
- Lancez
MTGA_GUI.app(la première exécution peut nécessiter une autorisation dans les préférences système) - Dans l'interface graphique, renseignez :
- Cliquez sur le bouton "Lancer tous les services en un clic"
- Le programme effectuera automatiquement :
- La génération et l'installation du certificat SSL dans le trousseau système
- La modification du fichier
/etc/hosts(nécessite les privilèges administrateur)
- Vous devez manuellement approuver le certificat généré dans la fenêtre du trousseau qui s'ouvre, nommé par défaut
MTGA_CA - Démarrez le serveur proxy local
- Suivez la configuration Trae IDE ci-dessous pour finaliser la configuration
Note
- L'installation du certificat et la modification du fichier hosts nécessitent les droits d'administrateur.
- En cas d'apparition du message « Le paquet est corrompu », veuillez consulter macOS Résolution du problème « Le paquet est corrompu ».
Si au lancement de MTGA_GUI.app ce message apparaît :
Cliquez sur Annuler. Puis suivez les étapes ci-dessous pour résoudre le problème :
- Rendez-vous sur Sentinel Releases pour télécharger
Sentinel.dmg - Double-cliquez sur le fichier
Sentinel.dmg, puis faites glisserSentinel.appdans le dossierApplications - Lancez
Sentinel.appdepuis le Launchpad ou le dossier Applications - Faites glisser
MTGA_GUI.appde ce projet dans la fenêtre gauche deSentinel.app
MTGA_GUI.app sera automatiquement traité et lancé
- Trouvez le chemin complet de
MTGA_GUI.app, par exemple/Applications/MTGA_GUI.app. - Ouvrez l'application Terminal.
- Exécutez la commande suivante pour signer
MTGA_GUI.app:Cette commande supprime l'attribut étenduxattr -d com.apple.quarantine <chemin complet de l'application>
com.apple.quarantinedeMTGA_GUI.app. - Lancez
MTGA_GUI.app.
- Système Windows 10 ou supérieur
- Avoir les privilèges administrateur
- Installer l'environnement Python, version 3.10 ou supérieure recommandée
- Installer Git
Ouvrez Git Bash :
# Accéder au répertoire ca
cd "mtga/ca"
# 1. Générer le certificat CA (ca.crt et ca.key)
./genca.shLors de l'exécution de ./genca.sh, il vous demandera "Do you want to generate ca cert and key? [yes/no]", saisissez y et appuyez sur Entrée. Ensuite, il vous sera demandé de renseigner quelques informations :
Country Name (2 letter code) []: SaisissezCN(ou un autre code pays)- Les autres champs (comme State, Locality, Organization, Common Name for CA) peuvent être remplis au besoin ou laissés vides, il est recommandé de mettre
X. Le Common Name peut êtreMTGA_CAou similaire. L'e-mail peut être laissé vide.
# 2. Générer le certificat SSL pour api.openai.com (api.openai.com.crt et api.openai.com.key)
# Ce script utilisera les fichiers api.openai.com.subj et api.openai.com.cnf situés dans le même répertoire
./gencrt.sh api.openai.comUne fois l'exécution terminée, vous trouverez les fichiers importants suivants dans le répertoire mtga\ca :
ca.crt(votre certificat d'autorité de certification personnalisé)ca.key(votre clé privée d'autorité de certification personnalisée - ne pas divulguer)api.openai.com.crt(certificat SSL pour le serveur proxy local)api.openai.com.key(clé privée SSL pour le serveur proxy local - ne pas divulguer)
- Localisez le fichier
mtga\ca\ca.crt. - Double-cliquez sur le fichier
ca.crtpour ouvrir la visionneuse de certificats. - Cliquez sur le bouton "Installer le certificat...".
- Choisissez "Utilisateur actuel" ou "Ordinateur local". Il est recommandé de choisir "Ordinateur local" (cela nécessite les privilèges administrateur) pour que cela s'applique à tous les utilisateurs.
- Dans la boîte de dialogue suivante, sélectionnez "Placer tous les certificats dans le magasin suivant", puis cliquez sur "Parcourir...".
- Sélectionnez "Autorités de certification racines de confiance", puis cliquez sur "OK".
- Cliquez sur "Suivant", puis "Terminer". Si un avertissement de sécurité apparaît, choisissez "Oui".
Vous devez modifier le fichier Hosts avec des privilèges d'administrateur pour pointer api.openai.com vers votre machine locale.
- Chemin du fichier Hosts :
C:\Windows\System32\drivers\etc\hosts - Ouvrez ce fichier en tant qu'administrateur avec le Bloc-notes (ou un autre éditeur de texte).
- Ajoutez la ligne suivante à la fin du fichier :
127.0.0.1 api.openai.com
- Enregistrez le fichier.
Avant d'exécuter le serveur proxy :
- Installer les dépendances:
pip install Flask requests
- Configurer le script:
- Ouvrez le fichier
trae_proxy.py. - Modifiez
TARGET_API_BASE_URL: Remplacez-la par l'URL de base de l'API au format OpenAI du site auquel vous souhaitez réellement vous connecter (par exemple :"https://your-api.example.com"). - Vérifiez les chemins des certificats : Le script lit par défaut
api.openai.com.crtetapi.openai.com.keydepuismtga\ca. Si vos certificats ne se trouvent pas à cet emplacement, modifiez les valeurs deCERT_FILEetKEY_FILE, ou copiez ces deux fichiers dans leCERT_DIRspécifié par le script.
- Ouvrez le fichier
Exécuter le serveur proxy :
Ouvrez l'invite de commandes (cmd) ou PowerShell en tant qu'administrateur (car il faut écouter sur le port 443), puis exécutez :
python trae_proxy.pySi tout se passe bien, vous devriez voir les journaux de démarrage du serveur.
-
Ouvrez et connectez-vous à Trae IDE.
-
Dans la boîte de dialogue IA, cliquez sur l'icône du modèle en bas à droite et sélectionnez "Ajouter un modèle" à la fin.
-
Fournisseur : Sélectionnez
OpenAI. -
Modèle : Sélectionnez "Modèle personnalisé".
-
ID du modèle : Saisissez la valeur que vous avez définie pour
CUSTOM_MODEL_IDdans le script Python (par exemple :my-custom-local-model). -
Clé API :
- Si votre API cible nécessite une clé API et que Trae la transmet via
Authorization: Bearer <key>, alors la clé saisie ici sera transmise par le proxy Python. - Lors de la configuration d'OpenAI dans Trae, la clé API est liée à la configuration
remove_reasoning_content. Notre proxy Python ne gère pas cette logique, il se contente de transmettre l'en-tête Authorization. Vous pouvez essayer de saisir la clé requise par votre API cible, ou une clé arbitraire au formatsk-xxxx.
- Si votre API cible nécessite une clé API et que Trae la transmet via
-
Cliquez sur "Ajouter un modèle".
-
Revenez à la boîte de chat IA et sélectionnez le modèle personnalisé que vous venez d'ajouter dans le menu en bas à droite.
Maintenant, lorsque vous interagissez avec ce modèle personnalisé via Trae, les requêtes devraient passer par votre proxy Python local et être redirigées vers l'TARGET_API_BASE_URL que vous avez configuré.
Conseils de dépannage :
- Conflit de port : Si le port 443 est déjà occupé (par exemple par IIS, Skype ou un autre service), le script Python échouera à démarrer. Vous devez arrêter le service qui utilise ce port, ou modifier le script Python et Nginx (si utilisé) pour écouter sur un autre port (mais cela est plus complexe, car Trae accède en dur au port 443 de
https://api.openai.com). - Pare-feu : Assurez-vous que le pare-feu Windows autorise les connexions entrantes sur le port 443 pour Python (même s'il s'agit d'une connexion locale
127.0.0.1, une configuration spéciale du pare-feu n'est généralement pas nécessaire, mais cela vaut la peine de vérifier). - Problèmes de certificat : Si Trae signale une erreur liée à SSL/TLS, vérifiez attentivement que le certificat d'autorité de certification (CA) est correctement installé dans les "Autorités de certification racines de confiance", et que le proxy Python charge correctement les fichiers
api.openai.com.crtet.key. - Journaux du proxy : Le script Python imprime quelques journaux qui peuvent vous aider à diagnostiquer les problèmes.
Cette solution est plus intégrée que l'utilisation directe de vproxy + nginx, car elle place la terminaison TLS et la logique de proxy dans un seul script Python, ce qui la rend plus adaptée à la validation rapide de prototypes sur Windows.
-> Méthode de démarrage par script pour Mac OS
Cliquez sur les boutons Star et Watch en haut à droite du dépôt pour obtenir les dernières mises à jour.
Le répertoire ca est référencé depuis le dépôt wkgcass/vproxy, merci au grand maître !


