[codex] fix MCP management lifecycle (#1144)

* feat(mcp): add MCP server management UI

- Server CRUD: add/edit/remove with YAML/JSON Monaco editor
- raw_config passthrough: zero field loss on edit/toggle
- tool_details embedding: single-request card data (1+N → 1)
- Auto-retry exponential backoff (2s→32s, max 5 retries)
- Route safety guards (hasRoute) for dynamic sidebar
- i18n: 9 languages (de/en/es/fr/ja/ko/pt/zh/zh-TW)
- 19 unit tests + 8 UX browser tests
- 35 files, +2933 lines

* fix mcp management lifecycle

---------

Co-authored-by: Crafter-feng <succeed_happu@163.com>
This commit is contained in:
ekko
2026-05-30 11:06:08 +08:00
committed by GitHub
parent 675ddb8282
commit b015e70b9d
37 changed files with 2717 additions and 7 deletions
+56
View File
@@ -105,6 +105,60 @@ export default {
expired: 'Expiré',
},
// Gestion de MCP
mcp: {
title: 'Serveurs MCP',
loadFailed: 'Echec du chargement des serveurs MCP',
reloadAll: 'Tout recharger',
refresh: 'Rafraichir',
total: 'Total',
connected: 'Connecte',
disconnected: 'Deconnecte',
tools: 'outils',
tool: 'Outils',
searchPlaceholder: 'Rechercher des serveurs...',
addServer: '+ Ajouter un serveur',
zeroTools: '0 outils',
loading: 'Chargement...',
empty: 'Aucun serveur MCP configure',
reloaded: '{server} recharge',
reloadedAll: 'Tous les serveurs MCP recharges',
reloadFailed: 'Echec du rechargement',
serverAdded: 'Serveur "{name}" ajoute',
addFailed: 'Echec de l ajout du serveur',
serverUpdated: 'Serveur "{name}" mis a jour',
updateFailed: 'Echec de la mise a jour du serveur',
saveFailed: 'Echec de la sauvegarde',
serverRemoved: '"{name}" supprime',
enabled: "Activé : {name}",
disabled: "Désactivé : {name}",
connectedStatus: 'Connecté',
disconnectedStatus: 'Déconnecté',
disabledStatus: 'Désactivé',
toolList: 'Liste des outils',
count: ' ',
more: 'de plus',
removeFailed: 'Echec de la suppression du serveur',
testOk: 'Test OK — {count} outils disponibles',
testEmpty: 'Le test n a retourne aucun outil',
testFailed: 'Echec du test',
edit: 'Modifier',
test: 'Tester',
reload: 'Recharger',
remove: 'Supprimer',
confirmRemove: 'Supprimer le serveur "{name}" ?',
cancel: 'Annuler',
add: 'Ajouter',
save: 'Enregistrer',
addTitle: 'Ajouter un serveur MCP',
editTitle: 'Modifier le serveur MCP',
invalidJson: 'JSON invalide',
invalidYaml: 'Format YAML invalide',
invalidConfig: 'Configuration invalide',
invalidServerConfig: 'Configuration du serveur invalide',
missingCommandOrUrl: 'Doit contenir command ou url',
},
// Sidebar
sidebar: {
chat: 'Discussion',
@@ -115,6 +169,7 @@ export default {
models: 'Modeles',
profiles: 'Profils',
plugins: 'Plugins',
mcp: 'MCP',
skills: 'Competences',
memory: 'Memoire',
logs: 'Journaux',
@@ -235,6 +290,7 @@ export default {
compress: 'Lancer la compression du contexte au repos',
steer: 'Envoyer un guidage à lexécution Bridge active',
destroy: 'Libérer lagent Bridge de cette session',
reloadMcp: 'Recharger les serveurs MCP',
},
attachFiles: 'Joindre des fichiers',
showToolCalls: 'Afficher les appels doutils',