Tłumaczenie na żywo
Repartee potrafi niezależnie tłumaczyć ruch przychodzący i wychodzący dla każdego kanału lub query. Wiadomości przychodzące są podmieniane w miejscu z zachowaniem kolejności, a wychodzące trafiają na IRC dopiero po tłumaczeniu. Gdy nie uda się uzyskać wiarygodnego wyniku, oryginał wraca do właściwego pola wpisywania i nic nie zostaje wysłane.
Szybka konfiguracja
Dodaj co najmniej jeden klucz do ~/.repartee/.env (lub wpisz go w sekcji Translation w panelu /wizard):
OPENROUTER_API=twój-klucz
# OLLAMA_API=twój-klucz
# GEMINI_API=twój-klucz
# GROQ_API_KEY=twój-klucz
Włącz backend produkcyjny i skonfiguruj kanały interaktywnie w /wizard (Translation → Networks & channels → Channels / Manage channels) lub za pomocą poleceń:
/set translate.enabled true
/set translate.backend ai
/translate addin #kanał de pl
/translate addout #kanał de pl
addin tłumaczy język rozmowy na Twój język, a addout w przeciwną stronę. Mapowania sprawdzisz i usuniesz przez /translate list, status, delin i delout. Alias: /tr.
Języki, dostawcy i bezpieczeństwo
Backend AI obsługuje angielski, niemiecki, polski, francuski, hiszpański, włoski, fiński i chiński mandaryński (en, de, pl, fr, es, it, fi, zh). Dla wiadomości przychodzących język źródłowy może zostać wykryty automatycznie; dla wychodzących musi być podany jawnie. Domyślnie rozpoznawane są klucze OpenRouter, Ollama Cloud, Gemini i Groq, a Groq stanowi końcowy fallback.
- URL-e, kanały, nicki, identyfikatory techniczne i formatowanie IRC są maskowane przed wywołaniem dostawcy i sprawdzane po powrocie.
- Odmowy, wyjaśnienia, błędne placeholdery, zły język, puste lub wielowierszowe odpowiedzi przechodzą do kolejnego modelu.
- Ruch RPE2E nigdy nie trafia do dostawcy tłumaczeń.
- Kolejki per rozmowa zachowują kolejność, a limity czasu i rozmiaru chronią klienta przed niedziałającym dostawcą.
- Błąd tłumaczenia wychodzącego zawsze blokuje wysyłkę i oddaje użytkownikowi oryginalny tekst.
Konfiguracja
[translate]
enabled = false
backend = "none" # "none", "ai" albo testowy "stub"
my_lang = "pl"
show_original_in = true
show_original_out = true
timeout_ms = 15000
max_in_flight = 4
max_queue = 200
[translate.buffers."libera/#german"]
incoming = true
outgoing = true
lang = "de"
Oryginał można ukrywać osobno dla obu kierunków. SQLite zapisuje dokładnie to, co jest wyświetlane, dlatego wyszukiwanie obejmuje tłumaczenie i zachowany oryginał.
stub tylko odwraca kolejność słów i służy do testów. Nie używaj go w prawdziwej rozmowie.