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
8.7 KiB
JSON
121 lines
8.7 KiB
JSON
{
|
|
"channel.appSecret": "Sekret aplikacji",
|
|
"channel.appSecretHint": "Sekret aplikacji Twojego bota. Zostanie zaszyfrowany i bezpiecznie przechowywany.",
|
|
"channel.appSecretPlaceholder": "Wklej tutaj sekret aplikacji",
|
|
"channel.applicationId": "ID aplikacji / Nazwa użytkownika bota",
|
|
"channel.applicationIdHint": "Unikalny identyfikator dla aplikacji bota.",
|
|
"channel.applicationIdPlaceholder": "np. 1234567890",
|
|
"channel.botToken": "Token bota / Klucz API",
|
|
"channel.botTokenEncryptedHint": "Token zostanie zaszyfrowany i bezpiecznie przechowany.",
|
|
"channel.botTokenHowToGet": "Jak uzyskać?",
|
|
"channel.botTokenPlaceholderExisting": "Token jest ukryty ze względów bezpieczeństwa",
|
|
"channel.botTokenPlaceholderNew": "Wklej tutaj token bota",
|
|
"channel.charLimit": "Limit znaków",
|
|
"channel.charLimitHint": "Maksymalna liczba znaków na wiadomość",
|
|
"channel.concurrency": "Tryb współbieżności",
|
|
"channel.concurrencyDebounce": "Debounce",
|
|
"channel.concurrencyHint": "Kolejka przetwarza wiadomości jedna po drugiej; Debounce czeka, aż seria wiadomości się zakończy, zanim rozpocznie przetwarzanie",
|
|
"channel.concurrencyQueue": "Kolejka",
|
|
"channel.connectFailed": "Połączenie z botem nie powiodło się",
|
|
"channel.connectQueued": "Połączenie bota w kolejce. Rozpocznie się wkrótce.",
|
|
"channel.connectStarting": "Bot się uruchamia. Proszę chwilę poczekać.",
|
|
"channel.connectSuccess": "Bot połączony pomyślnie",
|
|
"channel.connecting": "Łączenie...",
|
|
"channel.connectionConfig": "Konfiguracja połączenia",
|
|
"channel.copied": "Skopiowano do schowka",
|
|
"channel.copy": "Kopiuj",
|
|
"channel.credentials": "Poświadczenia",
|
|
"channel.debounceMs": "Okno scalania wiadomości (ms)",
|
|
"channel.debounceMsHint": "Czas oczekiwania na dodatkowe wiadomości przed ich wysłaniem do agenta (ms)",
|
|
"channel.deleteAllChannels": "Usuń wszystkie kanały",
|
|
"channel.deleteAllConfirm": "Czy na pewno chcesz usunąć wszystkie kanały?",
|
|
"channel.deleteAllConfirmDesc": "Ta akcja trwale usunie wszystkie kanały wiadomości i ich konfiguracje dla tego agenta. Nie można tego cofnąć.",
|
|
"channel.deleteAllFailed": "Nie udało się usunąć wszystkich kanałów",
|
|
"channel.deleteAllSuccess": "Wszystkie kanały zostały usunięte",
|
|
"channel.deleteConfirm": "Czy na pewno chcesz usunąć ten kanał?",
|
|
"channel.deleteConfirmDesc": "Ta akcja trwale usunie ten kanał wiadomości i jego konfigurację. Nie można tego cofnąć.",
|
|
"channel.devWebhookProxyUrl": "URL tunelu HTTPS",
|
|
"channel.devWebhookProxyUrlHint": "Opcjonalne. URL tunelu HTTPS do przekazywania żądań webhook do lokalnego serwera deweloperskiego.",
|
|
"channel.disabled": "Wyłączony",
|
|
"channel.discord.description": "Połącz tego asystenta z serwerem Discord, aby umożliwić czat kanałowy i wiadomości bezpośrednie.",
|
|
"channel.dm": "Wiadomości bezpośrednie",
|
|
"channel.dmEnabled": "Włącz wiadomości bezpośrednie",
|
|
"channel.dmEnabledHint": "Pozwól botowi odbierać i odpowiadać na wiadomości bezpośrednie",
|
|
"channel.dmPolicy": "Polityka wiadomości bezpośrednich",
|
|
"channel.dmPolicyAllowlist": "Lista dozwolonych",
|
|
"channel.dmPolicyDisabled": "Wyłączone",
|
|
"channel.dmPolicyHint": "Kontroluj, kto może wysyłać wiadomości bezpośrednie do bota",
|
|
"channel.dmPolicyOpen": "Otwarta",
|
|
"channel.documentation": "Dokumentacja",
|
|
"channel.enabled": "Włączony",
|
|
"channel.encryptKey": "Klucz szyfrowania",
|
|
"channel.encryptKeyHint": "Opcjonalne. Używane do odszyfrowania zaszyfrowanych danych zdarzeń.",
|
|
"channel.encryptKeyPlaceholder": "Opcjonalny klucz szyfrowania",
|
|
"channel.endpointUrl": "URL webhooka",
|
|
"channel.endpointUrlHint": "Proszę skopiować ten URL i wkleić go w polu <bold>{{fieldName}}</bold> w Portalu Deweloperskim {{name}}.",
|
|
"channel.exportConfig": "Eksportuj konfigurację",
|
|
"channel.feishu.description": "Połącz tego asystenta z Feishu, aby umożliwić czaty prywatne i grupowe.",
|
|
"channel.historyLimit": "Limit wiadomości w historii",
|
|
"channel.historyLimitHint": "Domyślna liczba wiadomości do pobrania podczas przeglądania historii kanału",
|
|
"channel.importConfig": "Importuj konfigurację",
|
|
"channel.importFailed": "Nie udało się zaimportować konfiguracji",
|
|
"channel.importInvalidFormat": "Nieprawidłowy format pliku konfiguracji",
|
|
"channel.importSuccess": "Konfiguracja została pomyślnie zaimportowana",
|
|
"channel.lark.description": "Połącz tego asystenta z Lark, aby umożliwić czaty prywatne i grupowe.",
|
|
"channel.openPlatform": "Otwarta platforma",
|
|
"channel.platforms": "Platformy",
|
|
"channel.publicKey": "Klucz publiczny",
|
|
"channel.publicKeyHint": "Opcjonalne. Używane do weryfikacji żądań interakcji z Discord.",
|
|
"channel.publicKeyPlaceholder": "Wymagane do weryfikacji interakcji",
|
|
"channel.qq.appIdHint": "Twój identyfikator aplikacji QQ Bot z platformy QQ Open Platform",
|
|
"channel.qq.description": "Połącz tego asystenta z QQ, aby prowadzić rozmowy grupowe i wiadomości bezpośrednie.",
|
|
"channel.removeChannel": "Usuń kanał",
|
|
"channel.removeFailed": "Nie udało się usunąć kanału",
|
|
"channel.removed": "Kanał usunięty",
|
|
"channel.runtimeDisconnected": "Bot rozłączony",
|
|
"channel.save": "Zapisz konfigurację",
|
|
"channel.saveFailed": "Nie udało się zapisać konfiguracji",
|
|
"channel.saveFirstWarning": "Proszę najpierw zapisać konfigurację",
|
|
"channel.saved": "Konfiguracja została pomyślnie zapisana",
|
|
"channel.secretToken": "Sekretny token webhooka",
|
|
"channel.secretTokenHint": "Opcjonalne. Używane do weryfikacji żądań webhook z Telegram.",
|
|
"channel.secretTokenPlaceholder": "Opcjonalny sekret do weryfikacji webhooka",
|
|
"channel.serverId": "Domyślne ID serwera / gildii",
|
|
"channel.serverIdHint": "Twoje domyślne ID serwera lub gildii na tej platformie. AI używa go do wyświetlania kanałów bez konieczności pytania.",
|
|
"channel.settings": "Zaawansowane ustawienia",
|
|
"channel.settingsResetConfirm": "Czy na pewno chcesz zresetować zaawansowane ustawienia do domyślnych?",
|
|
"channel.settingsResetDefault": "Przywróć domyślne",
|
|
"channel.setupGuide": "Przewodnik konfiguracji",
|
|
"channel.showUsageStats": "Pokaż statystyki użycia",
|
|
"channel.showUsageStatsHint": "Pokaż użycie tokenów, koszty i statystyki czasu w odpowiedziach bota",
|
|
"channel.signingSecret": "Sekret podpisu",
|
|
"channel.signingSecretHint": "Używany do weryfikacji żądań webhook.",
|
|
"channel.slack.appIdHint": "Twój identyfikator aplikacji Slack z panelu API Slack (zaczyna się od A).",
|
|
"channel.slack.description": "Połącz tego asystenta ze Slackiem, aby prowadzić rozmowy na kanałach i wiadomości bezpośrednie.",
|
|
"channel.telegram.description": "Połącz tego asystenta z Telegram, aby umożliwić czaty prywatne i grupowe.",
|
|
"channel.testConnection": "Testuj połączenie",
|
|
"channel.testFailed": "Test połączenia nie powiódł się",
|
|
"channel.testSuccess": "Test połączenia zakończony sukcesem",
|
|
"channel.updateFailed": "Nie udało się zaktualizować statusu",
|
|
"channel.userId": "Twój ID użytkownika na platformie",
|
|
"channel.userIdHint": "Twój ID użytkownika na tej platformie. AI może go używać do wysyłania Ci wiadomości bezpośrednich.",
|
|
"channel.validationError": "Proszę wypełnić ID aplikacji i token",
|
|
"channel.verificationToken": "Token weryfikacyjny",
|
|
"channel.verificationTokenHint": "Opcjonalne. Używane do weryfikacji źródła zdarzeń webhook.",
|
|
"channel.verificationTokenPlaceholder": "Wklej tutaj token weryfikacyjny",
|
|
"channel.wechat.description": "Połącz tego asystenta z WeChat za pomocą iLink Bot do prywatnych i grupowych rozmów.",
|
|
"channel.wechatBotId": "ID bota",
|
|
"channel.wechatBotIdHint": "Identyfikator bota przypisany po autoryzacji kodem QR.",
|
|
"channel.wechatConnectedInfo": "Połączone konto WeChat",
|
|
"channel.wechatManagedCredentials": "Ten kanał jest już połączony poprzez autoryzację kodem QR. Poświadczenia są zarządzane automatycznie.",
|
|
"channel.wechatQrExpired": "Kod QR wygasł. Odśwież, aby uzyskać nowy.",
|
|
"channel.wechatQrRefresh": "Odśwież kod QR",
|
|
"channel.wechatQrScaned": "Kod QR zeskanowany. Potwierdź logowanie w WeChat.",
|
|
"channel.wechatQrWait": "Otwórz WeChat i zeskanuj kod QR, aby się połączyć.",
|
|
"channel.wechatRebind": "Ponowne powiązanie za pomocą kodu QR",
|
|
"channel.wechatScanTitle": "Połącz bota WeChat",
|
|
"channel.wechatScanToConnect": "Zeskanuj kod QR, aby się połączyć",
|
|
"channel.wechatTips": "Proszę zaktualizować WeChat do najnowszej wersji i ponownie go uruchomić. Wtyczka ClawBot jest stopniowo udostępniana, więc sprawdź Ustawienia > Wtyczki, aby potwierdzić dostęp.",
|
|
"channel.wechatUserId": "ID użytkownika WeChat",
|
|
"channel.wechatUserIdHint": "Identyfikator konta WeChat zwrócony przez proces autoryzacji."
|
|
}
|