mirror of
https://github.com/lobehub/lobe-chat.git
synced 2026-06-14 03:30:19 +00:00
965fc929e1
* ✨ feat: add cross-platform message tool for AI bot channel operations Implement a unified message tool (`lobe-message`) that provides AI with messaging capabilities across Discord, Telegram, Slack, Google Chat, and IRC through a single interface with platform-specific extensions. Core APIs: sendMessage, readMessages, editMessage, deleteMessage, searchMessages, reactToMessage, getReactions, pin/unpin management, channel/member info, thread operations, and polls. Architecture follows the established builtin-tool pattern: - Package: @lobechat/builtin-tool-message (manifest, types, executor, ExecutionRuntime, client components) - Registry: registered in builtin-tools (renders, inspectors, interventions, streamings) - Server runtime: stub service ready for platform adapter integration https://claude.ai/code/session_011sHc6R7V4cSYKere9RY1QM * feat: implement platform specific message service * chore: add wechat platform * chore: update wechat api service * chore: update protocol implementation * chore: optimize platform api test * fix: lark domain error * feat: support bot message cli * chore: refactor adapter to service * chore: optimize bot status fetch * fix: bot status * fix: channel nav ignore * feat: message tool support bot manage * feat: add lobe-message runtime * feat: support direct message * feat: add history limit * chore: update const limit * feat: optimize server id message history limit * chore: optimize system role & inject platform environment info * chore: update readMessages vibe * fix: form body width 50% * chore: optimize tool prompt * chore: update i18n files * chore: optimize read message system role and update bot message lh * updage readMessage api rate limit * chore: comatible for readMessages * fix: feishu readMessage implementation error * fix: test case * chore: update i18n files * fix: lint error * chore: add timeout for conversaction case * fix: message test case * fix: vite gzip error --------- Co-authored-by: Claude <noreply@anthropic.com>
54 lines
2.8 KiB
JSON
54 lines
2.8 KiB
JSON
{
|
|
"chat.avatar": "Avatar",
|
|
"chat.placeholder": "...",
|
|
"common.cancel": "Annuler",
|
|
"common.confirm": "Confirmer",
|
|
"common.delete": "Supprimer",
|
|
"common.edit": "Modifier",
|
|
"editableMessage.addProps": "Ajouter des propriétés",
|
|
"editableMessage.delete": "Supprimer",
|
|
"editableMessage.input": "Entrée",
|
|
"editableMessage.inputPlaceholder": "Veuillez saisir un contenu d'entrée exemple",
|
|
"editableMessage.output": "Sortie",
|
|
"editableMessage.outputPlaceholder": "Veuillez saisir un contenu de sortie exemple",
|
|
"editableMessage.system": "Système",
|
|
"emojiPicker.delete": "Supprimer",
|
|
"emojiPicker.draggerDesc": "Cliquez ou faites glisser une image ici pour la téléverser",
|
|
"emojiPicker.emoji": "Émoji",
|
|
"emojiPicker.fileTypeError": "Vous ne pouvez téléverser que des fichiers image !",
|
|
"emojiPicker.upload": "Téléverser",
|
|
"emojiPicker.uploadBtn": "Rogner et téléverser",
|
|
"form.other": "Ou tapez directement",
|
|
"form.otherBack": "Retour aux options",
|
|
"form.reset": "Réinitialiser",
|
|
"form.skip": "Passer",
|
|
"form.submit": "Soumettre",
|
|
"form.unsavedChanges": "Modifications non enregistrées",
|
|
"form.unsavedWarning": "Vous avez des modifications non enregistrées. Êtes-vous sûr de vouloir quitter ?",
|
|
"hotkey.conflict": "Ce raccourci est en conflit avec un autre existant.",
|
|
"hotkey.invalidCombination": "Le raccourci doit inclure une touche de modification (Ctrl, Alt, Maj) et une seule touche normale.",
|
|
"hotkey.placeholder": "Appuyez sur les touches pour enregistrer le raccourci",
|
|
"hotkey.reset": "Réinitialiser par défaut",
|
|
"messageModal.cancel": "Annuler",
|
|
"messageModal.confirm": "Confirmer",
|
|
"messageModal.edit": "Modifier",
|
|
"sideNav.collapse": "Réduire la barre latérale",
|
|
"sideNav.demoActiveLabel": "Actif",
|
|
"sideNav.demoFeatureAutoCollapseDesc": "Faites glisser sous le seuil pour réduire intelligemment",
|
|
"sideNav.demoFeatureAutoCollapseTitle": "Réduction automatique",
|
|
"sideNav.demoFeaturePerformanceDesc": "Aucune animation pour de meilleures performances",
|
|
"sideNav.demoFeaturePerformanceTitle": "Performance",
|
|
"sideNav.demoFeatureResizeDesc": "Faites glisser pour ajuster la largeur du panneau",
|
|
"sideNav.demoFeatureResizeTitle": "Redimensionnement flexible",
|
|
"sideNav.demoFeatureSmartHandleDesc": "Survolez pour afficher le bouton de bascule",
|
|
"sideNav.demoFeatureSmartHandleTitle": "Poignée intelligente",
|
|
"sideNav.demoFeaturesTitle": "Fonctionnalités",
|
|
"sideNav.demoHint": "Essayez de faire glisser le bord du panneau et d'utiliser le bouton de bascule ->",
|
|
"sideNav.demoSubtitle": "Un panneau latéral de type espace de travail avec redimensionnement par glissement",
|
|
"sideNav.demoTitle": "Démo DraggableSideNav",
|
|
"sideNav.expand": "Développer la barre latérale",
|
|
"tokenTag.overload": "Surcharge",
|
|
"tokenTag.remained": "Restant",
|
|
"tokenTag.used": "Utilisé"
|
|
}
|