mirror of
https://github.com/lobehub/lobehub
synced 2026-04-21 09:37:28 +00:00
* ✨ 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>
121 lines
9 KiB
JSON
121 lines
9 KiB
JSON
{
|
|
"channel.appSecret": "App-Geheimnis",
|
|
"channel.appSecretHint": "Das App-Geheimnis Ihrer Bot-Anwendung. Es wird verschlüsselt und sicher gespeichert.",
|
|
"channel.appSecretPlaceholder": "Fügen Sie hier Ihr App-Geheimnis ein",
|
|
"channel.applicationId": "Anwendungs-ID / Bot-Benutzername",
|
|
"channel.applicationIdHint": "Eindeutige Kennung für Ihre Bot-Anwendung.",
|
|
"channel.applicationIdPlaceholder": "z. B. 1234567890",
|
|
"channel.botToken": "Bot-Token / API-Schlüssel",
|
|
"channel.botTokenEncryptedHint": "Token wird verschlüsselt und sicher gespeichert.",
|
|
"channel.botTokenHowToGet": "Wie erhalten?",
|
|
"channel.botTokenPlaceholderExisting": "Token ist aus Sicherheitsgründen verborgen",
|
|
"channel.botTokenPlaceholderNew": "Fügen Sie hier Ihr Bot-Token ein",
|
|
"channel.charLimit": "Zeichenlimit",
|
|
"channel.charLimitHint": "Maximale Anzahl von Zeichen pro Nachricht",
|
|
"channel.concurrency": "Konkurrenzmodus",
|
|
"channel.concurrencyDebounce": "Entprellen",
|
|
"channel.concurrencyHint": "Warteschlange verarbeitet Nachrichten nacheinander; Entprellen wartet, bis ein Nachrichtenburst abgeschlossen ist, bevor die Verarbeitung beginnt.",
|
|
"channel.concurrencyQueue": "Warteschlange",
|
|
"channel.connectFailed": "Bot-Verbindung fehlgeschlagen",
|
|
"channel.connectQueued": "Bot-Verbindung in der Warteschlange. Sie wird in Kürze gestartet.",
|
|
"channel.connectStarting": "Bot wird gestartet. Bitte einen Moment warten.",
|
|
"channel.connectSuccess": "Bot erfolgreich verbunden",
|
|
"channel.connecting": "Verbinden...",
|
|
"channel.connectionConfig": "Verbindungskonfiguration",
|
|
"channel.copied": "In die Zwischenablage kopiert",
|
|
"channel.copy": "Kopieren",
|
|
"channel.credentials": "Anmeldedaten",
|
|
"channel.debounceMs": "Nachrichten-Merge-Fenster (ms)",
|
|
"channel.debounceMsHint": "Wie lange auf zusätzliche Nachrichten warten, bevor sie an den Agenten weitergeleitet werden (ms)",
|
|
"channel.deleteAllChannels": "Alle Kanäle entfernen",
|
|
"channel.deleteAllConfirm": "Sind Sie sicher, dass Sie alle Kanäle entfernen möchten?",
|
|
"channel.deleteAllConfirmDesc": "Diese Aktion entfernt dauerhaft alle Nachrichtenkanäle und deren Konfigurationen für diesen Agenten. Dies kann nicht rückgängig gemacht werden.",
|
|
"channel.deleteAllFailed": "Fehler beim Entfernen aller Kanäle",
|
|
"channel.deleteAllSuccess": "Alle Kanäle wurden entfernt",
|
|
"channel.deleteConfirm": "Sind Sie sicher, dass Sie diesen Kanal entfernen möchten?",
|
|
"channel.deleteConfirmDesc": "Diese Aktion entfernt diesen Nachrichtenkanal und seine Konfiguration dauerhaft. Dies kann nicht rückgängig gemacht werden.",
|
|
"channel.devWebhookProxyUrl": "HTTPS-Tunnel-URL",
|
|
"channel.devWebhookProxyUrlHint": "Optional. HTTPS-Tunnel-URL zum Weiterleiten von Webhook-Anfragen an den lokalen Entwicklungsserver.",
|
|
"channel.disabled": "Deaktiviert",
|
|
"channel.discord.description": "Verbinden Sie diesen Assistenten mit einem Discord-Server für Kanal-Chat und Direktnachrichten.",
|
|
"channel.dm": "Direktnachrichten",
|
|
"channel.dmEnabled": "DMs aktivieren",
|
|
"channel.dmEnabledHint": "Erlauben Sie dem Bot, Direktnachrichten zu empfangen und darauf zu antworten",
|
|
"channel.dmPolicy": "DM-Richtlinie",
|
|
"channel.dmPolicyAllowlist": "Whitelist",
|
|
"channel.dmPolicyDisabled": "Deaktiviert",
|
|
"channel.dmPolicyHint": "Steuern Sie, wer Direktnachrichten an den Bot senden kann",
|
|
"channel.dmPolicyOpen": "Offen",
|
|
"channel.documentation": "Dokumentation",
|
|
"channel.enabled": "Aktiviert",
|
|
"channel.encryptKey": "Verschlüsselungsschlüssel",
|
|
"channel.encryptKeyHint": "Optional. Wird verwendet, um verschlüsselte Ereignis-Payloads zu entschlüsseln.",
|
|
"channel.encryptKeyPlaceholder": "Optionaler Verschlüsselungsschlüssel",
|
|
"channel.endpointUrl": "Webhook-URL",
|
|
"channel.endpointUrlHint": "Bitte kopieren Sie diese URL und fügen Sie sie in das Feld <bold>{{fieldName}}</bold> im {{name}} Entwicklerportal ein.",
|
|
"channel.exportConfig": "Konfiguration exportieren",
|
|
"channel.feishu.description": "Verbinden Sie diesen Assistenten mit Feishu für private und Gruppenchats.",
|
|
"channel.historyLimit": "Begrenzung der Nachrichtenhistorie",
|
|
"channel.historyLimitHint": "Standardanzahl von Nachrichten, die beim Lesen der Kanäle-Historie abgerufen werden",
|
|
"channel.importConfig": "Konfiguration importieren",
|
|
"channel.importFailed": "Fehler beim Import der Konfiguration",
|
|
"channel.importInvalidFormat": "Ungültiges Format der Konfigurationsdatei",
|
|
"channel.importSuccess": "Konfiguration erfolgreich importiert",
|
|
"channel.lark.description": "Verbinden Sie diesen Assistenten mit Lark für private und Gruppenchats.",
|
|
"channel.openPlatform": "Offene Plattform",
|
|
"channel.platforms": "Plattformen",
|
|
"channel.publicKey": "Öffentlicher Schlüssel",
|
|
"channel.publicKeyHint": "Optional. Wird verwendet, um Interaktionsanfragen von Discord zu überprüfen.",
|
|
"channel.publicKeyPlaceholder": "Erforderlich für Interaktionsüberprüfung",
|
|
"channel.qq.appIdHint": "Ihre QQ-Bot-App-ID von der QQ Open Platform",
|
|
"channel.qq.description": "Verbinden Sie diesen Assistenten mit QQ für Gruppenchats und Direktnachrichten.",
|
|
"channel.removeChannel": "Kanal entfernen",
|
|
"channel.removeFailed": "Kanal konnte nicht entfernt werden",
|
|
"channel.removed": "Kanal entfernt",
|
|
"channel.runtimeDisconnected": "Bot getrennt",
|
|
"channel.save": "Konfiguration speichern",
|
|
"channel.saveFailed": "Konfiguration konnte nicht gespeichert werden",
|
|
"channel.saveFirstWarning": "Bitte speichern Sie zuerst die Konfiguration",
|
|
"channel.saved": "Konfiguration erfolgreich gespeichert",
|
|
"channel.secretToken": "Webhook-Geheimtoken",
|
|
"channel.secretTokenHint": "Optional. Wird verwendet, um Webhook-Anfragen von Telegram zu überprüfen.",
|
|
"channel.secretTokenPlaceholder": "Optionales Geheimnis zur Webhook-Verifizierung",
|
|
"channel.serverId": "Standard-Server / Gilden-ID",
|
|
"channel.serverIdHint": "Ihre Standard-Server- oder Gilden-ID auf dieser Plattform. Die KI verwendet sie, um Kanäle aufzulisten, ohne nachzufragen.",
|
|
"channel.settings": "Erweiterte Einstellungen",
|
|
"channel.settingsResetConfirm": "Sind Sie sicher, dass Sie die erweiterten Einstellungen auf die Standardeinstellungen zurücksetzen möchten?",
|
|
"channel.settingsResetDefault": "Auf Standard zurücksetzen",
|
|
"channel.setupGuide": "Einrichtungsanleitung",
|
|
"channel.showUsageStats": "Nutzungsstatistiken anzeigen",
|
|
"channel.showUsageStatsHint": "Zeigen Sie Token-Nutzung, Kosten und Dauerstatistiken in Bot-Antworten an",
|
|
"channel.signingSecret": "Signatur-Geheimnis",
|
|
"channel.signingSecretHint": "Wird verwendet, um Webhook-Anfragen zu verifizieren.",
|
|
"channel.slack.appIdHint": "Ihre Slack-App-ID aus dem Slack-API-Dashboard (beginnt mit A).",
|
|
"channel.slack.description": "Verbinden Sie diesen Assistenten mit Slack für Kanalgespräche und Direktnachrichten.",
|
|
"channel.telegram.description": "Verbinden Sie diesen Assistenten mit Telegram für private und Gruppenchats.",
|
|
"channel.testConnection": "Verbindung testen",
|
|
"channel.testFailed": "Verbindungstest fehlgeschlagen",
|
|
"channel.testSuccess": "Verbindungstest erfolgreich",
|
|
"channel.updateFailed": "Status konnte nicht aktualisiert werden",
|
|
"channel.userId": "Ihre Benutzer-ID auf der Plattform",
|
|
"channel.userIdHint": "Ihre Benutzer-ID auf dieser Plattform. Die KI kann sie verwenden, um Ihnen Direktnachrichten zu senden.",
|
|
"channel.validationError": "Bitte füllen Sie Anwendungs-ID und Token aus",
|
|
"channel.verificationToken": "Verifizierungstoken",
|
|
"channel.verificationTokenHint": "Optional. Wird verwendet, um die Quelle von Webhook-Ereignissen zu überprüfen.",
|
|
"channel.verificationTokenPlaceholder": "Fügen Sie hier Ihr Verifizierungstoken ein",
|
|
"channel.wechat.description": "Verbinden Sie diesen Assistenten mit WeChat über iLink Bot für private und Gruppenchats.",
|
|
"channel.wechatBotId": "Bot-ID",
|
|
"channel.wechatBotIdHint": "Bot-Kennung, die nach der QR-Code-Autorisierung zugewiesen wurde.",
|
|
"channel.wechatConnectedInfo": "Verbundenes WeChat-Konto",
|
|
"channel.wechatManagedCredentials": "Dieser Kanal ist bereits über die QR-Code-Autorisierung verbunden. Anmeldedaten werden automatisch verwaltet.",
|
|
"channel.wechatQrExpired": "QR-Code abgelaufen. Bitte aktualisieren Sie, um einen neuen zu erhalten.",
|
|
"channel.wechatQrRefresh": "QR-Code aktualisieren",
|
|
"channel.wechatQrScaned": "QR-Code gescannt. Bitte bestätigen Sie die Anmeldung in WeChat.",
|
|
"channel.wechatQrWait": "Öffnen Sie WeChat und scannen Sie den QR-Code, um eine Verbindung herzustellen.",
|
|
"channel.wechatRebind": "Erneut über QR-Code binden",
|
|
"channel.wechatScanTitle": "WeChat-Bot verbinden",
|
|
"channel.wechatScanToConnect": "QR-Code scannen, um eine Verbindung herzustellen",
|
|
"channel.wechatTips": "Bitte aktualisieren Sie WeChat auf die neueste Version und starten Sie es neu. Das ClawBot-Plugin wird schrittweise eingeführt. Überprüfen Sie Einstellungen > Plugins, um den Zugriff zu bestätigen.",
|
|
"channel.wechatUserId": "WeChat-Benutzer-ID",
|
|
"channel.wechatUserIdHint": "WeChat-Konto-Kennung, die durch den Autorisierungsprozess zurückgegeben wurde."
|
|
}
|