Files
Daniele 9feaaaff29
Nightly Build / build (push) Successful in 2m24s
feat(plugin-honcho): show what Honcho remembers about you
The opt-in page gains a debug panel, once the user's saved flag is on:
service status (reachability, latency, the caller's own processing
queue, with the specific Honcho error when something is wrong), a full
overview (peer card, derived facts with ids, summary) and one text
field with two actions — search (raw ranked facts) and ask (Honcho's
server-side LLM answers), plus an in-page mini-guide.

Every endpoint gates on the per-user opt-in server-side, fail closed,
and derives the peer from the authenticated Caller — never from the
request body — since the workspace is shared. Honcho 404s are
translated per-endpoint as 'no memory yet' rather than failures.
2026-08-24 21:47:36 +01:00

179 lines
12 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
// Frontend translations for the Honcho page fragments.
//
// Served at `/api/plugin/honcho/web/i18n.js` and imported by `common.js`, which
// registers it into the host's shared dictionaries via `addStrings` (see
// `web/lib/i18n.js`). Keys are namespaced `plugin.honcho.*` so they never
// collide with core keys. These are the *frontend* UI strings; the plugin's
// backend error strings live in `../i18n/*.json` and reach the browser already
// translated as HTTP response text.
const P = 'plugin.honcho';
export default {
en: {
// Admin config page
[`${P}.config.title`]: 'Honcho — Long-term memory',
[`${P}.config.intro`]: 'Connect the Honcho memory server. When enabled, each user can opt in from their own Long-term memory page; nothing leaves the box until they do.',
[`${P}.config.enabled`]: 'Plugin enabled',
[`${P}.config.base_url`]: 'Server URL',
[`${P}.config.base_url_hint`]: 'e.g. http://localhost:8000',
[`${P}.config.api_key`]: 'API key',
[`${P}.config.api_key_hint`]: 'Leave empty for a local, unauthenticated instance.',
[`${P}.config.workspace`]: 'Workspace ID',
[`${P}.config.workspace_hint`]:'One shared workspace for the whole instance; each user is a separate peer inside it.',
[`${P}.config.save`]: 'Save',
[`${P}.config.saved`]: 'Saved.',
[`${P}.config.test`]: 'Test connection',
[`${P}.config.testing`]: 'Testing…',
[`${P}.config.test_ok`]: 'Connected — {n} workspace(s) reachable.',
[`${P}.config.required`]: 'The server URL is required.',
[`${P}.config.loading`]: 'Loading…',
[`${P}.config.not_found`]: 'Honcho plugin not found.',
// User opt-in page
[`${P}.memory.title`]: 'Long-term memory',
[`${P}.memory.intro`]: 'Let the assistant remember you across conversations, so it gets more helpful over time.',
[`${P}.memory.privacy_title`]: 'Before you turn this on',
[`${P}.memory.privacy_body`]: 'Your messages are stored in cleartext on the Honcho memory server, outside your encrypted database. Turn this on only if you are comfortable with that. It is off unless you enable it, and you can turn it off at any time.',
[`${P}.memory.toggle`]: 'Remember me across conversations',
[`${P}.memory.save`]: 'Save',
[`${P}.memory.saved`]: 'Saved.',
[`${P}.memory.loading`]: 'Loading…',
[`${P}.memory.unavailable`]: 'Long-term memory is not available to you yet. Ask your administrator to grant access.',
// "What does it remember?" panel (shown once opted in)
[`${P}.panel.title`]: 'What Honcho remembers about you',
[`${P}.panel.guide_title`]: 'How to use this page',
[`${P}.panel.guide_overview`]: 'Overview shows everything Honcho has derived about you so far: your card (key facts), the facts it concluded, and a summary. Nothing to type.',
[`${P}.panel.guide_search`]: 'Search finds the stored facts most relevant to the words you type. Fast and exact — no AI rewrite, you see the raw facts.',
[`${P}.panel.guide_ask`]: 'Ask sends your question to Honchos AI, which reads your memory and writes an answer in its own words. Slower, but it can connect the dots.',
[`${P}.panel.status_title`]: 'Service status',
[`${P}.panel.status_ok`]: 'Connected',
[`${P}.panel.status_queue`]: 'Processing: {wip} in progress, {pending} pending, {done} completed',
[`${P}.panel.status_down`]: 'Unreachable',
[`${P}.panel.refresh`]: 'Refresh',
[`${P}.panel.overview_title`]: 'Overview',
[`${P}.panel.card_title`]: 'Your card',
[`${P}.panel.facts_title`]: 'Facts',
[`${P}.panel.summary_title`]: 'Summary',
[`${P}.panel.no_memory`]: 'Honcho has no memory about you yet — it builds up as you chat.',
[`${P}.panel.query_title`]: 'Search or ask',
[`${P}.panel.query_hint`]: 'Words to find facts, or a full question for the AI.',
[`${P}.panel.search_btn`]: 'Search',
[`${P}.panel.ask_btn`]: 'Ask',
[`${P}.panel.searching`]: 'Searching…',
[`${P}.panel.asking`]: 'Asking Honcho…',
[`${P}.panel.search_empty`]: 'No facts match those words.',
[`${P}.panel.answer_title`]: 'Answer',
},
it: {
[`${P}.config.title`]: 'Honcho — Memoria a lungo termine',
[`${P}.config.intro`]: 'Collega il server di memoria Honcho. Quando è attivo, ogni utente può dare il consenso dalla propria pagina Memoria a lungo termine; finché non lo fa, nulla lascia il box.',
[`${P}.config.enabled`]: 'Plugin attivo',
[`${P}.config.base_url`]: 'URL del server',
[`${P}.config.base_url_hint`]: 'es. http://localhost:8000',
[`${P}.config.api_key`]: 'Chiave API',
[`${P}.config.api_key_hint`]: 'Lascia vuoto per unistanza locale senza autenticazione.',
[`${P}.config.workspace`]: 'ID workspace',
[`${P}.config.workspace_hint`]:'Un solo workspace condiviso per lintera istanza; ogni utente è un peer separato al suo interno.',
[`${P}.config.save`]: 'Salva',
[`${P}.config.saved`]: 'Salvato.',
[`${P}.config.test`]: 'Prova connessione',
[`${P}.config.testing`]: 'Verifica…',
[`${P}.config.test_ok`]: 'Connesso — {n} workspace raggiungibili.',
[`${P}.config.required`]: 'LURL del server è obbligatorio.',
[`${P}.config.loading`]: 'Caricamento…',
[`${P}.config.not_found`]: 'Plugin Honcho non trovato.',
[`${P}.memory.title`]: 'Memoria a lungo termine',
[`${P}.memory.intro`]: 'Permetti allassistente di ricordarti tra una conversazione e laltra, così diventa più utile nel tempo.',
[`${P}.memory.privacy_title`]: 'Prima di attivarla',
[`${P}.memory.privacy_body`]: 'I tuoi messaggi vengono memorizzati in chiaro sul server di memoria Honcho, fuori dal tuo database cifrato. Attivala solo se ti sta bene. È disattivata finché non la abiliti, e puoi disattivarla in qualsiasi momento.',
[`${P}.memory.toggle`]: 'Ricordami tra le conversazioni',
[`${P}.memory.save`]: 'Salva',
[`${P}.memory.saved`]: 'Salvato.',
[`${P}.memory.loading`]: 'Caricamento…',
[`${P}.memory.unavailable`]: 'La memoria a lungo termine non è ancora disponibile per te. Chiedi allamministratore di darti laccesso.',
// Pannello "cosa ricorda di te?" (visibile dopo il consenso)
[`${P}.panel.title`]: 'Cosa ricorda Honcho di te',
[`${P}.panel.guide_title`]: 'Come usare questa pagina',
[`${P}.panel.guide_overview`]: 'La panoramica mostra tutto ciò che Honcho ha ricavato su di te finora: la tua scheda (fatti chiave), i fatti dedotti e un riassunto. Non serve scrivere nulla.',
[`${P}.panel.guide_search`]: 'Cerca trova i fatti memorizzati più rilevanti per le parole che scrivi. Veloce ed esatto — niente riscritture dellAI, vedi i fatti grezzi.',
[`${P}.panel.guide_ask`]: 'Chiedi invia la tua domanda allAI di Honcho, che legge la tua memoria e scrive una risposta con parole sue. Più lento, ma sa collegare i puntini.',
[`${P}.panel.status_title`]: 'Stato del servizio',
[`${P}.panel.status_ok`]: 'Connesso',
[`${P}.panel.status_queue`]: 'Elaborazione: {wip} in corso, {pending} in attesa, {done} completati',
[`${P}.panel.status_down`]: 'Irraggiungibile',
[`${P}.panel.refresh`]: 'Aggiorna',
[`${P}.panel.overview_title`]: 'Panoramica',
[`${P}.panel.card_title`]: 'La tua scheda',
[`${P}.panel.facts_title`]: 'Fatti',
[`${P}.panel.summary_title`]: 'Riassunto',
[`${P}.panel.no_memory`]: 'Honcho non ha ancora nessun ricordo di te — si costruisce chiacchierando.',
[`${P}.panel.query_title`]: 'Cerca o chiedi',
[`${P}.panel.query_hint`]: 'Parole per trovare fatti, oppure una domanda completa per lAI.',
[`${P}.panel.search_btn`]: 'Cerca',
[`${P}.panel.ask_btn`]: 'Chiedi',
[`${P}.panel.searching`]: 'Ricerca…',
[`${P}.panel.asking`]: 'Chiedo a Honcho…',
[`${P}.panel.search_empty`]: 'Nessun fatto corrisponde a quelle parole.',
[`${P}.panel.answer_title`]: 'Risposta',
},
fr: {
[`${P}.config.title`]: 'Honcho — Mémoire à long terme',
[`${P}.config.intro`]: 'Connectez le serveur de mémoire Honcho. Une fois activé, chaque utilisateur peut consentir depuis sa page Mémoire à long terme ; rien ne quitte la machine tant quil ne la pas fait.',
[`${P}.config.enabled`]: 'Plugin activé',
[`${P}.config.base_url`]: 'URL du serveur',
[`${P}.config.base_url_hint`]: 'ex. http://localhost:8000',
[`${P}.config.api_key`]: 'Clé API',
[`${P}.config.api_key_hint`]: 'Laissez vide pour une instance locale sans authentification.',
[`${P}.config.workspace`]: 'ID de lespace',
[`${P}.config.workspace_hint`]:'Un seul espace partagé pour toute linstance ; chaque utilisateur y est un peer distinct.',
[`${P}.config.save`]: 'Enregistrer',
[`${P}.config.saved`]: 'Enregistré.',
[`${P}.config.test`]: 'Tester la connexion',
[`${P}.config.testing`]: 'Test…',
[`${P}.config.test_ok`]: 'Connecté — {n} espace(s) accessibles.',
[`${P}.config.required`]: 'LURL du serveur est obligatoire.',
[`${P}.config.loading`]: 'Chargement…',
[`${P}.config.not_found`]: 'Plugin Honcho introuvable.',
[`${P}.memory.title`]: 'Mémoire à long terme',
[`${P}.memory.intro`]: 'Laissez lassistant se souvenir de vous dune conversation à lautre, pour quil devienne plus utile avec le temps.',
[`${P}.memory.privacy_title`]: 'Avant dactiver',
[`${P}.memory.privacy_body`]: 'Vos messages sont stockés en clair sur le serveur de mémoire Honcho, en dehors de votre base chiffrée. Nactivez que si cela vous convient. Cest désactivé tant que vous ne lactivez pas, et vous pouvez le désactiver à tout moment.',
[`${P}.memory.toggle`]: 'Se souvenir de moi entre les conversations',
[`${P}.memory.save`]: 'Enregistrer',
[`${P}.memory.saved`]: 'Enregistré.',
[`${P}.memory.loading`]: 'Chargement…',
[`${P}.memory.unavailable`]: 'La mémoire à long terme ne vous est pas encore accessible. Demandez laccès à votre administrateur.',
// Panneau « que retient-il de vous ? » (visible après le consentement)
[`${P}.panel.title`]: 'Ce que Honcho retient de vous',
[`${P}.panel.guide_title`]: 'Comment utiliser cette page',
[`${P}.panel.guide_overview`]: 'Laperçu montre tout ce que Honcho a déduit de vous jusquici : votre fiche (faits clés), les faits conclus et un résumé. Rien à saisir.',
[`${P}.panel.guide_search`]: 'Rechercher trouve les faits stockés les plus pertinents pour les mots saisis. Rapide et exact — pas de réécriture par lIA, vous voyez les faits bruts.',
[`${P}.panel.guide_ask`]: 'Demander envoie votre question à lIA de Honcho, qui lit votre mémoire et rédige une réponse avec ses mots. Plus lent, mais elle relie les points.',
[`${P}.panel.status_title`]: 'État du service',
[`${P}.panel.status_ok`]: 'Connecté',
[`${P}.panel.status_queue`]: 'Traitement : {wip} en cours, {pending} en attente, {done} terminés',
[`${P}.panel.status_down`]: 'Injoignable',
[`${P}.panel.refresh`]: 'Actualiser',
[`${P}.panel.overview_title`]: 'Aperçu',
[`${P}.panel.card_title`]: 'Votre fiche',
[`${P}.panel.facts_title`]: 'Faits',
[`${P}.panel.summary_title`]: 'Résumé',
[`${P}.panel.no_memory`]: 'Honcho na pas encore de mémoire vous concernant — elle se construit au fil des conversations.',
[`${P}.panel.query_title`]: 'Rechercher ou demander',
[`${P}.panel.query_hint`]: 'Des mots pour trouver des faits, ou une question complète pour lIA.',
[`${P}.panel.search_btn`]: 'Rechercher',
[`${P}.panel.ask_btn`]: 'Demander',
[`${P}.panel.searching`]: 'Recherche…',
[`${P}.panel.asking`]: 'Interrogation de Honcho…',
[`${P}.panel.search_empty`]: 'Aucun fait ne correspond à ces mots.',
[`${P}.panel.answer_title`]: 'Réponse',
},
};