Simplify the memory settings: what is remembered first, provider setup under Advanced
The memory pane opened with an untranslated provider description, a
provider picker, a scope toggle and API key fields, and pushed what the
agents actually remember to the bottom. Most people never connect a
semantic-recall provider, so that setup now sits behind a collapsed
Advanced disclosure (open while a provider is connected), and the
remembered documents come first.
- Drop the provider descriptions, the "Shared documents" heading and
the per-document revision label.
- Replace the Isolated/Shared toggle pair with one "Share between bots"
switch.
- Remove the unused standalone dialog mode of the memory pane.
- German: call the section "Gedächtnis" so it no longer reads like
reminders ("Erinnerungen").
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LWzKXyE6uDmmmzuod4oXNQ
This commit is contained in:
parent
e55207f5d2
commit
f472a7672f
@ -23,7 +23,6 @@ test("memory and skills are readable and editable in the app", async ({ page },
|
||||
await openUserSettings(page, "memory");
|
||||
await expect(page.getByLabel("Close memory settings")).toBeVisible();
|
||||
const spaceDocs = page.getByTestId("space-memory-documents");
|
||||
await expect(spaceDocs.getByText("Shared documents")).toBeVisible();
|
||||
const memoryRow = spaceDocs.getByRole("button", { name: /MEMORY\.md/ });
|
||||
await expect(memoryRow).toBeVisible();
|
||||
await memoryRow.click();
|
||||
@ -51,7 +50,7 @@ test("memory and skills are readable and editable in the app", async ({ page },
|
||||
} finally {
|
||||
releaseSave();
|
||||
}
|
||||
await expect(spaceDocs.getByText("rev 2")).toBeVisible();
|
||||
await expect(docEditor).toHaveCount(0);
|
||||
|
||||
// The save persisted: reopen the document and find the marker.
|
||||
await memoryRow.click();
|
||||
@ -103,7 +102,7 @@ test("memory and skills are readable and editable in the app", async ({ page },
|
||||
await botMemory.getByRole("button", { name: "Save", exact: true }).scrollIntoViewIfNeeded();
|
||||
await captureScreenshot(page, testInfo, "80-knowledge-bot-memory");
|
||||
await botMemory.getByRole("button", { name: "Save", exact: true }).click();
|
||||
await expect(botMemory.getByText("rev 2")).toBeVisible();
|
||||
await expect(botDocEditor).toHaveCount(0);
|
||||
expect(
|
||||
await rpc<MemoryDocument[]>(page, "memory/list", {
|
||||
botId: activeBotId(page),
|
||||
|
||||
@ -39,7 +39,12 @@ test("settings shell is two-pane and deep-links Models Memory Voice Usage", asyn
|
||||
await expect(settings.getByRole("heading", { name: "Memory", exact: true })).toBeVisible();
|
||||
await expect(settings.getByTestId("memory-settings")).toBeVisible();
|
||||
const memory = settings.getByTestId("memory-settings");
|
||||
await expect(memory.getByTestId("space-memory-list")).toBeVisible();
|
||||
await expect(memory.getByLabel("Provider")).toBeHidden();
|
||||
await captureScreenshot(page, testInfo, "settings-shell-memory");
|
||||
await memory.getByText("Advanced", { exact: true }).click();
|
||||
await expect(memory.getByLabel("Provider")).toBeVisible();
|
||||
await expect(memory.getByRole("switch", { name: "Share between bots" })).toBeVisible();
|
||||
await memory.getByLabel("Provider").selectOption("serenity");
|
||||
await expect(memory.getByLabel("MCP endpoint")).toBeVisible();
|
||||
await expect(memory.getByLabel("Bearer token")).toBeVisible();
|
||||
|
||||
@ -490,6 +490,7 @@ msgstr "Adresse"
|
||||
#: src/components/MediaSettings.tsx
|
||||
#: src/pages/AccountSettingsOverlay.tsx
|
||||
#: src/pages/McpServersOverlay.tsx
|
||||
#: src/pages/MemorySettingsOverlay.tsx
|
||||
#: src/pages/ModelSettingsOverlay.tsx
|
||||
#: src/pages/PluginsOverlay.tsx
|
||||
#: src/pages/RoutineSchedule.tsx
|
||||
@ -1207,10 +1208,9 @@ msgstr "Integrationseinstellungen schließen"
|
||||
msgid "Close MCP servers"
|
||||
msgstr "MCP-Server schließen"
|
||||
|
||||
#: src/pages/MemorySettingsOverlay.tsx
|
||||
#: src/pages/SettingsOverlay.tsx
|
||||
msgid "Close memory settings"
|
||||
msgstr "Erinnerungseinstellungen schließen"
|
||||
msgstr "Gedächtnis-Einstellungen schließen"
|
||||
|
||||
#: src/pages/MessagingSettingsOverlay.tsx
|
||||
msgid "Close messaging settings"
|
||||
@ -1388,7 +1388,6 @@ msgstr "Treg verbinden"
|
||||
|
||||
#: src/components/integrations/IntegrationSetup.tsx
|
||||
#: src/pages/McpOAuthCallback.tsx
|
||||
#: src/pages/MemorySettingsOverlay.tsx
|
||||
#: src/pages/ModelSettingsOverlay.tsx
|
||||
#: src/pages/shell/message-cards.tsx
|
||||
msgid "Connected"
|
||||
@ -2019,10 +2018,6 @@ msgstr "Standard"
|
||||
msgid "Default ({0})"
|
||||
msgstr "Standard ({0})"
|
||||
|
||||
#: src/pages/MemorySettingsOverlay.tsx
|
||||
msgid "Default scope"
|
||||
msgstr "Standardbereich"
|
||||
|
||||
#: src/components/UserProfileSettings.tsx
|
||||
#: src/pages/BotContextMenu.tsx
|
||||
#: src/pages/KnowledgeSection.tsx
|
||||
@ -2883,7 +2878,6 @@ msgstr "Intervalleinheit"
|
||||
msgid "Iris"
|
||||
msgstr "Iris"
|
||||
|
||||
#: src/pages/MemorySettingsOverlay.tsx
|
||||
#: src/pages/shell/bot-panel.tsx
|
||||
msgid "Isolated"
|
||||
msgstr "Isoliert"
|
||||
@ -3022,7 +3016,7 @@ msgstr "Integrationen werden geladen…"
|
||||
|
||||
#: src/pages/MemorySettingsOverlay.tsx
|
||||
msgid "Loading memory settings…"
|
||||
msgstr "Erinnerungseinstellungen werden geladen…"
|
||||
msgstr "Gedächtnis wird geladen…"
|
||||
|
||||
#: src/pages/ModelSettingsOverlay.tsx
|
||||
msgid "Loading model catalog…"
|
||||
@ -3128,10 +3122,6 @@ msgstr "MCP-Server verwalten"
|
||||
msgid "Manage messaging settings"
|
||||
msgstr "Messaging-Einstellungen verwalten"
|
||||
|
||||
#: src/pages/MemorySettingsOverlay.tsx
|
||||
msgid "Manage the Space semantic memory provider."
|
||||
msgstr "Verwalte den Anbieter für semantische Erinnerungen des Arbeitsbereichs."
|
||||
|
||||
#: src/pages/PluginsOverlay.tsx
|
||||
msgid "Manual"
|
||||
msgstr "Manuell"
|
||||
@ -3191,10 +3181,9 @@ msgid "Members (pick {GROUP_MEMBER_MIN}–{GROUP_MEMBER_MAX})"
|
||||
msgstr "Mitglieder ({GROUP_MEMBER_MIN}–{GROUP_MEMBER_MAX} auswählen)"
|
||||
|
||||
#: src/pages/KnowledgeSection.tsx
|
||||
#: src/pages/MemorySettingsOverlay.tsx
|
||||
#: src/pages/SettingsOverlay.tsx
|
||||
msgid "Memory"
|
||||
msgstr "Erinnerungen"
|
||||
msgstr "Gedächtnis"
|
||||
|
||||
#: src/pages/shell/bot-panel.tsx
|
||||
msgid "Memory scope"
|
||||
@ -4315,11 +4304,6 @@ msgstr "Bildschirm erneut laden"
|
||||
msgid "Return to Rakazo"
|
||||
msgstr "Zurück zu Rakazo"
|
||||
|
||||
#. placeholder {0}: doc.revision
|
||||
#: src/pages/KnowledgeSection.tsx
|
||||
msgid "rev {0}"
|
||||
msgstr "Rev. {0}"
|
||||
|
||||
#: src/pages/MessagingSettingsOverlay.tsx
|
||||
msgid "Revoke"
|
||||
msgstr "Widerrufen"
|
||||
@ -4604,11 +4588,14 @@ msgstr "Form"
|
||||
msgid "Shape {0}"
|
||||
msgstr "Form {0}"
|
||||
|
||||
#: src/pages/MemorySettingsOverlay.tsx
|
||||
msgid "Share between bots"
|
||||
msgstr "Zwischen Bots teilen"
|
||||
|
||||
#: src/lib/voice-persona-copy.ts
|
||||
msgid "Share what you're imagining — or tell me one thing to refine."
|
||||
msgstr "Erzähl, was dir vorschwebt — oder nenn mir eine Sache, die ich verfeinern soll."
|
||||
|
||||
#: src/pages/MemorySettingsOverlay.tsx
|
||||
#: src/pages/shell/bot-panel.tsx
|
||||
msgid "Shared"
|
||||
msgstr "Geteilt"
|
||||
@ -4617,10 +4604,6 @@ msgstr "Geteilt"
|
||||
msgid "Shared chat with 2-6 bots. They all reply in the same thread."
|
||||
msgstr "Gemeinsamer Chat mit 2–6 Bots. Alle antworten im selben Thread."
|
||||
|
||||
#: src/pages/KnowledgeSection.tsx
|
||||
msgid "Shared documents"
|
||||
msgstr "Geteilte Dokumente"
|
||||
|
||||
#: src/lib/voice-persona-copy.ts
|
||||
msgid "Sharing the draft…"
|
||||
msgstr "Teile den Entwurf…"
|
||||
|
||||
@ -490,6 +490,7 @@ msgstr "Address"
|
||||
#: src/components/MediaSettings.tsx
|
||||
#: src/pages/AccountSettingsOverlay.tsx
|
||||
#: src/pages/McpServersOverlay.tsx
|
||||
#: src/pages/MemorySettingsOverlay.tsx
|
||||
#: src/pages/ModelSettingsOverlay.tsx
|
||||
#: src/pages/PluginsOverlay.tsx
|
||||
#: src/pages/RoutineSchedule.tsx
|
||||
@ -1207,7 +1208,6 @@ msgstr "Close integrations settings"
|
||||
msgid "Close MCP servers"
|
||||
msgstr "Close MCP servers"
|
||||
|
||||
#: src/pages/MemorySettingsOverlay.tsx
|
||||
#: src/pages/SettingsOverlay.tsx
|
||||
msgid "Close memory settings"
|
||||
msgstr "Close memory settings"
|
||||
@ -1388,7 +1388,6 @@ msgstr "Connect Treg"
|
||||
|
||||
#: src/components/integrations/IntegrationSetup.tsx
|
||||
#: src/pages/McpOAuthCallback.tsx
|
||||
#: src/pages/MemorySettingsOverlay.tsx
|
||||
#: src/pages/ModelSettingsOverlay.tsx
|
||||
#: src/pages/shell/message-cards.tsx
|
||||
msgid "Connected"
|
||||
@ -2019,10 +2018,6 @@ msgstr "Default"
|
||||
msgid "Default ({0})"
|
||||
msgstr "Default ({0})"
|
||||
|
||||
#: src/pages/MemorySettingsOverlay.tsx
|
||||
msgid "Default scope"
|
||||
msgstr "Default scope"
|
||||
|
||||
#: src/components/UserProfileSettings.tsx
|
||||
#: src/pages/BotContextMenu.tsx
|
||||
#: src/pages/KnowledgeSection.tsx
|
||||
@ -2883,7 +2878,6 @@ msgstr "Interval unit"
|
||||
msgid "Iris"
|
||||
msgstr "Iris"
|
||||
|
||||
#: src/pages/MemorySettingsOverlay.tsx
|
||||
#: src/pages/shell/bot-panel.tsx
|
||||
msgid "Isolated"
|
||||
msgstr "Isolated"
|
||||
@ -3128,10 +3122,6 @@ msgstr "Manage MCP servers"
|
||||
msgid "Manage messaging settings"
|
||||
msgstr "Manage messaging settings"
|
||||
|
||||
#: src/pages/MemorySettingsOverlay.tsx
|
||||
msgid "Manage the Space semantic memory provider."
|
||||
msgstr "Manage the Space semantic memory provider."
|
||||
|
||||
#: src/pages/PluginsOverlay.tsx
|
||||
msgid "Manual"
|
||||
msgstr "Manual"
|
||||
@ -3191,7 +3181,6 @@ msgid "Members (pick {GROUP_MEMBER_MIN}–{GROUP_MEMBER_MAX})"
|
||||
msgstr "Members (pick {GROUP_MEMBER_MIN}–{GROUP_MEMBER_MAX})"
|
||||
|
||||
#: src/pages/KnowledgeSection.tsx
|
||||
#: src/pages/MemorySettingsOverlay.tsx
|
||||
#: src/pages/SettingsOverlay.tsx
|
||||
msgid "Memory"
|
||||
msgstr "Memory"
|
||||
@ -4315,11 +4304,6 @@ msgstr "Retry screen"
|
||||
msgid "Return to Rakazo"
|
||||
msgstr "Return to Rakazo"
|
||||
|
||||
#. placeholder {0}: doc.revision
|
||||
#: src/pages/KnowledgeSection.tsx
|
||||
msgid "rev {0}"
|
||||
msgstr "rev {0}"
|
||||
|
||||
#: src/pages/MessagingSettingsOverlay.tsx
|
||||
msgid "Revoke"
|
||||
msgstr "Revoke"
|
||||
@ -4604,11 +4588,14 @@ msgstr "Shape"
|
||||
msgid "Shape {0}"
|
||||
msgstr "Shape {0}"
|
||||
|
||||
#: src/pages/MemorySettingsOverlay.tsx
|
||||
msgid "Share between bots"
|
||||
msgstr "Share between bots"
|
||||
|
||||
#: src/lib/voice-persona-copy.ts
|
||||
msgid "Share what you're imagining — or tell me one thing to refine."
|
||||
msgstr "Share what you're imagining — or tell me one thing to refine."
|
||||
|
||||
#: src/pages/MemorySettingsOverlay.tsx
|
||||
#: src/pages/shell/bot-panel.tsx
|
||||
msgid "Shared"
|
||||
msgstr "Shared"
|
||||
@ -4617,10 +4604,6 @@ msgstr "Shared"
|
||||
msgid "Shared chat with 2-6 bots. They all reply in the same thread."
|
||||
msgstr "Shared chat with 2-6 bots. They all reply in the same thread."
|
||||
|
||||
#: src/pages/KnowledgeSection.tsx
|
||||
msgid "Shared documents"
|
||||
msgstr "Shared documents"
|
||||
|
||||
#: src/lib/voice-persona-copy.ts
|
||||
msgid "Sharing the draft…"
|
||||
msgstr "Sharing the draft…"
|
||||
|
||||
@ -490,6 +490,7 @@ msgstr ""
|
||||
#: src/components/MediaSettings.tsx
|
||||
#: src/pages/AccountSettingsOverlay.tsx
|
||||
#: src/pages/McpServersOverlay.tsx
|
||||
#: src/pages/MemorySettingsOverlay.tsx
|
||||
#: src/pages/ModelSettingsOverlay.tsx
|
||||
#: src/pages/PluginsOverlay.tsx
|
||||
#: src/pages/RoutineSchedule.tsx
|
||||
@ -1207,7 +1208,6 @@ msgstr ""
|
||||
msgid "Close MCP servers"
|
||||
msgstr "Cerrar servidores MCP"
|
||||
|
||||
#: src/pages/MemorySettingsOverlay.tsx
|
||||
#: src/pages/SettingsOverlay.tsx
|
||||
msgid "Close memory settings"
|
||||
msgstr "Cerrar configuración de memoria"
|
||||
@ -1388,7 +1388,6 @@ msgstr "Conectar Treg"
|
||||
|
||||
#: src/components/integrations/IntegrationSetup.tsx
|
||||
#: src/pages/McpOAuthCallback.tsx
|
||||
#: src/pages/MemorySettingsOverlay.tsx
|
||||
#: src/pages/ModelSettingsOverlay.tsx
|
||||
#: src/pages/shell/message-cards.tsx
|
||||
msgid "Connected"
|
||||
@ -2019,10 +2018,6 @@ msgstr "Predeterminado"
|
||||
msgid "Default ({0})"
|
||||
msgstr "Predeterminado ({0})"
|
||||
|
||||
#: src/pages/MemorySettingsOverlay.tsx
|
||||
msgid "Default scope"
|
||||
msgstr "Alcance predeterminado"
|
||||
|
||||
#: src/components/UserProfileSettings.tsx
|
||||
#: src/pages/BotContextMenu.tsx
|
||||
#: src/pages/KnowledgeSection.tsx
|
||||
@ -2883,7 +2878,6 @@ msgstr "Unidad del intervalo"
|
||||
msgid "Iris"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/MemorySettingsOverlay.tsx
|
||||
#: src/pages/shell/bot-panel.tsx
|
||||
msgid "Isolated"
|
||||
msgstr "Aislado"
|
||||
@ -3128,10 +3122,6 @@ msgstr "Gestionar servidores MCP"
|
||||
msgid "Manage messaging settings"
|
||||
msgstr "Administrar configuración de mensajería"
|
||||
|
||||
#: src/pages/MemorySettingsOverlay.tsx
|
||||
msgid "Manage the Space semantic memory provider."
|
||||
msgstr "Administra el proveedor de memoria semántica del Space."
|
||||
|
||||
#: src/pages/PluginsOverlay.tsx
|
||||
msgid "Manual"
|
||||
msgstr ""
|
||||
@ -3191,7 +3181,6 @@ msgid "Members (pick {GROUP_MEMBER_MIN}–{GROUP_MEMBER_MAX})"
|
||||
msgstr "Miembros (elige {GROUP_MEMBER_MIN}–{GROUP_MEMBER_MAX})"
|
||||
|
||||
#: src/pages/KnowledgeSection.tsx
|
||||
#: src/pages/MemorySettingsOverlay.tsx
|
||||
#: src/pages/SettingsOverlay.tsx
|
||||
msgid "Memory"
|
||||
msgstr "Memoria"
|
||||
@ -4315,11 +4304,6 @@ msgstr "Reintentar pantalla"
|
||||
msgid "Return to Rakazo"
|
||||
msgstr "Volver a Rakazo"
|
||||
|
||||
#. placeholder {0}: doc.revision
|
||||
#: src/pages/KnowledgeSection.tsx
|
||||
msgid "rev {0}"
|
||||
msgstr "rev. {0}"
|
||||
|
||||
#: src/pages/MessagingSettingsOverlay.tsx
|
||||
msgid "Revoke"
|
||||
msgstr "Revocar"
|
||||
@ -4604,11 +4588,14 @@ msgstr "Forma"
|
||||
msgid "Shape {0}"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/MemorySettingsOverlay.tsx
|
||||
msgid "Share between bots"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/voice-persona-copy.ts
|
||||
msgid "Share what you're imagining — or tell me one thing to refine."
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/MemorySettingsOverlay.tsx
|
||||
#: src/pages/shell/bot-panel.tsx
|
||||
msgid "Shared"
|
||||
msgstr "Compartido"
|
||||
@ -4617,10 +4604,6 @@ msgstr "Compartido"
|
||||
msgid "Shared chat with 2-6 bots. They all reply in the same thread."
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/KnowledgeSection.tsx
|
||||
msgid "Shared documents"
|
||||
msgstr "Documentos compartidos"
|
||||
|
||||
#: src/lib/voice-persona-copy.ts
|
||||
msgid "Sharing the draft…"
|
||||
msgstr ""
|
||||
|
||||
@ -490,6 +490,7 @@ msgstr ""
|
||||
#: src/components/MediaSettings.tsx
|
||||
#: src/pages/AccountSettingsOverlay.tsx
|
||||
#: src/pages/McpServersOverlay.tsx
|
||||
#: src/pages/MemorySettingsOverlay.tsx
|
||||
#: src/pages/ModelSettingsOverlay.tsx
|
||||
#: src/pages/PluginsOverlay.tsx
|
||||
#: src/pages/RoutineSchedule.tsx
|
||||
@ -1207,7 +1208,6 @@ msgstr ""
|
||||
msgid "Close MCP servers"
|
||||
msgstr "MCP सर्वर बंद करें"
|
||||
|
||||
#: src/pages/MemorySettingsOverlay.tsx
|
||||
#: src/pages/SettingsOverlay.tsx
|
||||
msgid "Close memory settings"
|
||||
msgstr "मेमोरी सेटिंग्स बंद करें"
|
||||
@ -1388,7 +1388,6 @@ msgstr "Treg कनेक्ट करें"
|
||||
|
||||
#: src/components/integrations/IntegrationSetup.tsx
|
||||
#: src/pages/McpOAuthCallback.tsx
|
||||
#: src/pages/MemorySettingsOverlay.tsx
|
||||
#: src/pages/ModelSettingsOverlay.tsx
|
||||
#: src/pages/shell/message-cards.tsx
|
||||
msgid "Connected"
|
||||
@ -2019,10 +2018,6 @@ msgstr "डिफ़ॉल्ट"
|
||||
msgid "Default ({0})"
|
||||
msgstr "डिफ़ॉल्ट ({0})"
|
||||
|
||||
#: src/pages/MemorySettingsOverlay.tsx
|
||||
msgid "Default scope"
|
||||
msgstr "डिफ़ॉल्ट स्कोप"
|
||||
|
||||
#: src/components/UserProfileSettings.tsx
|
||||
#: src/pages/BotContextMenu.tsx
|
||||
#: src/pages/KnowledgeSection.tsx
|
||||
@ -2883,7 +2878,6 @@ msgstr "अंतराल इकाई"
|
||||
msgid "Iris"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/MemorySettingsOverlay.tsx
|
||||
#: src/pages/shell/bot-panel.tsx
|
||||
msgid "Isolated"
|
||||
msgstr "पृथक"
|
||||
@ -3128,10 +3122,6 @@ msgstr "MCP सर्वर प्रबंधित करें"
|
||||
msgid "Manage messaging settings"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/MemorySettingsOverlay.tsx
|
||||
msgid "Manage the Space semantic memory provider."
|
||||
msgstr "वर्कस्पेस के सिमेंटिक मेमोरी प्रोवाइडर को प्रबंधित करें।"
|
||||
|
||||
#: src/pages/PluginsOverlay.tsx
|
||||
msgid "Manual"
|
||||
msgstr ""
|
||||
@ -3191,7 +3181,6 @@ msgid "Members (pick {GROUP_MEMBER_MIN}–{GROUP_MEMBER_MAX})"
|
||||
msgstr "सदस्य ({GROUP_MEMBER_MIN}–{GROUP_MEMBER_MAX} चुनें)"
|
||||
|
||||
#: src/pages/KnowledgeSection.tsx
|
||||
#: src/pages/MemorySettingsOverlay.tsx
|
||||
#: src/pages/SettingsOverlay.tsx
|
||||
msgid "Memory"
|
||||
msgstr "मेमोरी"
|
||||
@ -4315,11 +4304,6 @@ msgstr ""
|
||||
msgid "Return to Rakazo"
|
||||
msgstr "Rakazo पर लौटें"
|
||||
|
||||
#. placeholder {0}: doc.revision
|
||||
#: src/pages/KnowledgeSection.tsx
|
||||
msgid "rev {0}"
|
||||
msgstr "रिवीज़न {0}"
|
||||
|
||||
#: src/pages/MessagingSettingsOverlay.tsx
|
||||
msgid "Revoke"
|
||||
msgstr ""
|
||||
@ -4604,11 +4588,14 @@ msgstr "आकार"
|
||||
msgid "Shape {0}"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/MemorySettingsOverlay.tsx
|
||||
msgid "Share between bots"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/voice-persona-copy.ts
|
||||
msgid "Share what you're imagining — or tell me one thing to refine."
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/MemorySettingsOverlay.tsx
|
||||
#: src/pages/shell/bot-panel.tsx
|
||||
msgid "Shared"
|
||||
msgstr "साझा"
|
||||
@ -4617,10 +4604,6 @@ msgstr "साझा"
|
||||
msgid "Shared chat with 2-6 bots. They all reply in the same thread."
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/KnowledgeSection.tsx
|
||||
msgid "Shared documents"
|
||||
msgstr "साझा दस्तावेज़"
|
||||
|
||||
#: src/lib/voice-persona-copy.ts
|
||||
msgid "Sharing the draft…"
|
||||
msgstr ""
|
||||
|
||||
@ -490,6 +490,7 @@ msgstr ""
|
||||
#: src/components/MediaSettings.tsx
|
||||
#: src/pages/AccountSettingsOverlay.tsx
|
||||
#: src/pages/McpServersOverlay.tsx
|
||||
#: src/pages/MemorySettingsOverlay.tsx
|
||||
#: src/pages/ModelSettingsOverlay.tsx
|
||||
#: src/pages/PluginsOverlay.tsx
|
||||
#: src/pages/RoutineSchedule.tsx
|
||||
@ -1207,7 +1208,6 @@ msgstr ""
|
||||
msgid "Close MCP servers"
|
||||
msgstr "MCP 서버 설정 닫기"
|
||||
|
||||
#: src/pages/MemorySettingsOverlay.tsx
|
||||
#: src/pages/SettingsOverlay.tsx
|
||||
msgid "Close memory settings"
|
||||
msgstr "기억 설정 닫기"
|
||||
@ -1388,7 +1388,6 @@ msgstr "Treg 연결"
|
||||
|
||||
#: src/components/integrations/IntegrationSetup.tsx
|
||||
#: src/pages/McpOAuthCallback.tsx
|
||||
#: src/pages/MemorySettingsOverlay.tsx
|
||||
#: src/pages/ModelSettingsOverlay.tsx
|
||||
#: src/pages/shell/message-cards.tsx
|
||||
msgid "Connected"
|
||||
@ -2019,10 +2018,6 @@ msgstr "기본값"
|
||||
msgid "Default ({0})"
|
||||
msgstr "기본값 ({0})"
|
||||
|
||||
#: src/pages/MemorySettingsOverlay.tsx
|
||||
msgid "Default scope"
|
||||
msgstr "기본 기억 범위"
|
||||
|
||||
#: src/components/UserProfileSettings.tsx
|
||||
#: src/pages/BotContextMenu.tsx
|
||||
#: src/pages/KnowledgeSection.tsx
|
||||
@ -2883,7 +2878,6 @@ msgstr "간격 단위"
|
||||
msgid "Iris"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/MemorySettingsOverlay.tsx
|
||||
#: src/pages/shell/bot-panel.tsx
|
||||
msgid "Isolated"
|
||||
msgstr "이 Bot만 사용"
|
||||
@ -3128,10 +3122,6 @@ msgstr "MCP 서버 관리"
|
||||
msgid "Manage messaging settings"
|
||||
msgstr "메시징 설정 관리"
|
||||
|
||||
#: src/pages/MemorySettingsOverlay.tsx
|
||||
msgid "Manage the Space semantic memory provider."
|
||||
msgstr "작업공간에서 사용할 장기 기억 서비스를 관리합니다."
|
||||
|
||||
#: src/pages/PluginsOverlay.tsx
|
||||
msgid "Manual"
|
||||
msgstr ""
|
||||
@ -3191,7 +3181,6 @@ msgid "Members (pick {GROUP_MEMBER_MIN}–{GROUP_MEMBER_MAX})"
|
||||
msgstr "참여 Bot ({GROUP_MEMBER_MIN}~{GROUP_MEMBER_MAX}개 선택)"
|
||||
|
||||
#: src/pages/KnowledgeSection.tsx
|
||||
#: src/pages/MemorySettingsOverlay.tsx
|
||||
#: src/pages/SettingsOverlay.tsx
|
||||
msgid "Memory"
|
||||
msgstr "기억"
|
||||
@ -4315,11 +4304,6 @@ msgstr ""
|
||||
msgid "Return to Rakazo"
|
||||
msgstr "Rakazo로 돌아가기"
|
||||
|
||||
#. placeholder {0}: doc.revision
|
||||
#: src/pages/KnowledgeSection.tsx
|
||||
msgid "rev {0}"
|
||||
msgstr "리비전 {0}"
|
||||
|
||||
#: src/pages/MessagingSettingsOverlay.tsx
|
||||
msgid "Revoke"
|
||||
msgstr "연결 해제"
|
||||
@ -4604,11 +4588,14 @@ msgstr "모양"
|
||||
msgid "Shape {0}"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/MemorySettingsOverlay.tsx
|
||||
msgid "Share between bots"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/voice-persona-copy.ts
|
||||
msgid "Share what you're imagining — or tell me one thing to refine."
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/MemorySettingsOverlay.tsx
|
||||
#: src/pages/shell/bot-panel.tsx
|
||||
msgid "Shared"
|
||||
msgstr "함께 사용"
|
||||
@ -4617,10 +4604,6 @@ msgstr "함께 사용"
|
||||
msgid "Shared chat with 2-6 bots. They all reply in the same thread."
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/KnowledgeSection.tsx
|
||||
msgid "Shared documents"
|
||||
msgstr "공유 문서"
|
||||
|
||||
#: src/lib/voice-persona-copy.ts
|
||||
msgid "Sharing the draft…"
|
||||
msgstr ""
|
||||
|
||||
@ -490,6 +490,7 @@ msgstr ""
|
||||
#: src/components/MediaSettings.tsx
|
||||
#: src/pages/AccountSettingsOverlay.tsx
|
||||
#: src/pages/McpServersOverlay.tsx
|
||||
#: src/pages/MemorySettingsOverlay.tsx
|
||||
#: src/pages/ModelSettingsOverlay.tsx
|
||||
#: src/pages/PluginsOverlay.tsx
|
||||
#: src/pages/RoutineSchedule.tsx
|
||||
@ -1207,7 +1208,6 @@ msgstr ""
|
||||
msgid "Close MCP servers"
|
||||
msgstr "Fechar servidores MCP"
|
||||
|
||||
#: src/pages/MemorySettingsOverlay.tsx
|
||||
#: src/pages/SettingsOverlay.tsx
|
||||
msgid "Close memory settings"
|
||||
msgstr "Fechar configurações de memória"
|
||||
@ -1388,7 +1388,6 @@ msgstr "Conectar Treg"
|
||||
|
||||
#: src/components/integrations/IntegrationSetup.tsx
|
||||
#: src/pages/McpOAuthCallback.tsx
|
||||
#: src/pages/MemorySettingsOverlay.tsx
|
||||
#: src/pages/ModelSettingsOverlay.tsx
|
||||
#: src/pages/shell/message-cards.tsx
|
||||
msgid "Connected"
|
||||
@ -2019,10 +2018,6 @@ msgstr "Padrão"
|
||||
msgid "Default ({0})"
|
||||
msgstr "Padrão ({0})"
|
||||
|
||||
#: src/pages/MemorySettingsOverlay.tsx
|
||||
msgid "Default scope"
|
||||
msgstr "Escopo padrão"
|
||||
|
||||
#: src/components/UserProfileSettings.tsx
|
||||
#: src/pages/BotContextMenu.tsx
|
||||
#: src/pages/KnowledgeSection.tsx
|
||||
@ -2883,7 +2878,6 @@ msgstr "Unidade do intervalo:"
|
||||
msgid "Iris"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/MemorySettingsOverlay.tsx
|
||||
#: src/pages/shell/bot-panel.tsx
|
||||
msgid "Isolated"
|
||||
msgstr "Isolado"
|
||||
@ -3128,10 +3122,6 @@ msgstr "Gerenciar servidores MCP"
|
||||
msgid "Manage messaging settings"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/MemorySettingsOverlay.tsx
|
||||
msgid "Manage the Space semantic memory provider."
|
||||
msgstr "Gerencie o provedor de memória semântica do espaço de trabalho."
|
||||
|
||||
#: src/pages/PluginsOverlay.tsx
|
||||
msgid "Manual"
|
||||
msgstr ""
|
||||
@ -3191,7 +3181,6 @@ msgid "Members (pick {GROUP_MEMBER_MIN}–{GROUP_MEMBER_MAX})"
|
||||
msgstr "Membros (escolha {GROUP_MEMBER_MIN}–{GROUP_MEMBER_MAX})"
|
||||
|
||||
#: src/pages/KnowledgeSection.tsx
|
||||
#: src/pages/MemorySettingsOverlay.tsx
|
||||
#: src/pages/SettingsOverlay.tsx
|
||||
msgid "Memory"
|
||||
msgstr "Memória"
|
||||
@ -4315,11 +4304,6 @@ msgstr ""
|
||||
msgid "Return to Rakazo"
|
||||
msgstr "Retorno a Rakazo"
|
||||
|
||||
#. placeholder {0}: doc.revision
|
||||
#: src/pages/KnowledgeSection.tsx
|
||||
msgid "rev {0}"
|
||||
msgstr "rev {0}"
|
||||
|
||||
#: src/pages/MessagingSettingsOverlay.tsx
|
||||
msgid "Revoke"
|
||||
msgstr ""
|
||||
@ -4604,11 +4588,14 @@ msgstr "Forma"
|
||||
msgid "Shape {0}"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/MemorySettingsOverlay.tsx
|
||||
msgid "Share between bots"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/voice-persona-copy.ts
|
||||
msgid "Share what you're imagining — or tell me one thing to refine."
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/MemorySettingsOverlay.tsx
|
||||
#: src/pages/shell/bot-panel.tsx
|
||||
msgid "Shared"
|
||||
msgstr "Compartilhado"
|
||||
@ -4617,10 +4604,6 @@ msgstr "Compartilhado"
|
||||
msgid "Shared chat with 2-6 bots. They all reply in the same thread."
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/KnowledgeSection.tsx
|
||||
msgid "Shared documents"
|
||||
msgstr "Documentos compartilhados"
|
||||
|
||||
#: src/lib/voice-persona-copy.ts
|
||||
msgid "Sharing the draft…"
|
||||
msgstr ""
|
||||
|
||||
@ -490,6 +490,7 @@ msgstr ""
|
||||
#: src/components/MediaSettings.tsx
|
||||
#: src/pages/AccountSettingsOverlay.tsx
|
||||
#: src/pages/McpServersOverlay.tsx
|
||||
#: src/pages/MemorySettingsOverlay.tsx
|
||||
#: src/pages/ModelSettingsOverlay.tsx
|
||||
#: src/pages/PluginsOverlay.tsx
|
||||
#: src/pages/RoutineSchedule.tsx
|
||||
@ -1207,7 +1208,6 @@ msgstr ""
|
||||
msgid "Close MCP servers"
|
||||
msgstr "Закрыть серверы MCP"
|
||||
|
||||
#: src/pages/MemorySettingsOverlay.tsx
|
||||
#: src/pages/SettingsOverlay.tsx
|
||||
msgid "Close memory settings"
|
||||
msgstr "Закрыть настройки памяти"
|
||||
@ -1388,7 +1388,6 @@ msgstr "Подключить Treg"
|
||||
|
||||
#: src/components/integrations/IntegrationSetup.tsx
|
||||
#: src/pages/McpOAuthCallback.tsx
|
||||
#: src/pages/MemorySettingsOverlay.tsx
|
||||
#: src/pages/ModelSettingsOverlay.tsx
|
||||
#: src/pages/shell/message-cards.tsx
|
||||
msgid "Connected"
|
||||
@ -2019,10 +2018,6 @@ msgstr ""
|
||||
msgid "Default ({0})"
|
||||
msgstr "По умолчанию ({0})"
|
||||
|
||||
#: src/pages/MemorySettingsOverlay.tsx
|
||||
msgid "Default scope"
|
||||
msgstr "Область действия по умолчанию"
|
||||
|
||||
#: src/components/UserProfileSettings.tsx
|
||||
#: src/pages/BotContextMenu.tsx
|
||||
#: src/pages/KnowledgeSection.tsx
|
||||
@ -2883,7 +2878,6 @@ msgstr "Единица интервала"
|
||||
msgid "Iris"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/MemorySettingsOverlay.tsx
|
||||
#: src/pages/shell/bot-panel.tsx
|
||||
msgid "Isolated"
|
||||
msgstr "изолированный"
|
||||
@ -3128,10 +3122,6 @@ msgstr "Управление серверами MCP"
|
||||
msgid "Manage messaging settings"
|
||||
msgstr "Управление настройками обмена сообщениями"
|
||||
|
||||
#: src/pages/MemorySettingsOverlay.tsx
|
||||
msgid "Manage the Space semantic memory provider."
|
||||
msgstr "Управляйте провайдером семантической памяти Space."
|
||||
|
||||
#: src/pages/PluginsOverlay.tsx
|
||||
msgid "Manual"
|
||||
msgstr "Вручную"
|
||||
@ -3191,7 +3181,6 @@ msgid "Members (pick {GROUP_MEMBER_MIN}–{GROUP_MEMBER_MAX})"
|
||||
msgstr "Участники (выберите {GROUP_MEMBER_MIN}–{GROUP_MEMBER_MAX})"
|
||||
|
||||
#: src/pages/KnowledgeSection.tsx
|
||||
#: src/pages/MemorySettingsOverlay.tsx
|
||||
#: src/pages/SettingsOverlay.tsx
|
||||
msgid "Memory"
|
||||
msgstr "Память"
|
||||
@ -4315,11 +4304,6 @@ msgstr "Повторить загрузку экрана"
|
||||
msgid "Return to Rakazo"
|
||||
msgstr "Вернуться в Rakazo"
|
||||
|
||||
#. placeholder {0}: doc.revision
|
||||
#: src/pages/KnowledgeSection.tsx
|
||||
msgid "rev {0}"
|
||||
msgstr "версия {0}"
|
||||
|
||||
#: src/pages/MessagingSettingsOverlay.tsx
|
||||
msgid "Revoke"
|
||||
msgstr "Отозвать"
|
||||
@ -4604,11 +4588,14 @@ msgstr "Форма"
|
||||
msgid "Shape {0}"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/MemorySettingsOverlay.tsx
|
||||
msgid "Share between bots"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/voice-persona-copy.ts
|
||||
msgid "Share what you're imagining — or tell me one thing to refine."
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/MemorySettingsOverlay.tsx
|
||||
#: src/pages/shell/bot-panel.tsx
|
||||
msgid "Shared"
|
||||
msgstr "Общий"
|
||||
@ -4617,10 +4604,6 @@ msgstr "Общий"
|
||||
msgid "Shared chat with 2-6 bots. They all reply in the same thread."
|
||||
msgstr "Общий чат с 2-6 ботами. Все отвечают в одной ветке."
|
||||
|
||||
#: src/pages/KnowledgeSection.tsx
|
||||
msgid "Shared documents"
|
||||
msgstr "Общие документы"
|
||||
|
||||
#: src/lib/voice-persona-copy.ts
|
||||
msgid "Sharing the draft…"
|
||||
msgstr ""
|
||||
|
||||
@ -490,6 +490,7 @@ msgstr ""
|
||||
#: src/components/MediaSettings.tsx
|
||||
#: src/pages/AccountSettingsOverlay.tsx
|
||||
#: src/pages/McpServersOverlay.tsx
|
||||
#: src/pages/MemorySettingsOverlay.tsx
|
||||
#: src/pages/ModelSettingsOverlay.tsx
|
||||
#: src/pages/PluginsOverlay.tsx
|
||||
#: src/pages/RoutineSchedule.tsx
|
||||
@ -1207,7 +1208,6 @@ msgstr ""
|
||||
msgid "Close MCP servers"
|
||||
msgstr "MCP sunucularını kapat"
|
||||
|
||||
#: src/pages/MemorySettingsOverlay.tsx
|
||||
#: src/pages/SettingsOverlay.tsx
|
||||
msgid "Close memory settings"
|
||||
msgstr "Hafıza ayarlarını kapat"
|
||||
@ -1388,7 +1388,6 @@ msgstr "Treg'i bağla"
|
||||
|
||||
#: src/components/integrations/IntegrationSetup.tsx
|
||||
#: src/pages/McpOAuthCallback.tsx
|
||||
#: src/pages/MemorySettingsOverlay.tsx
|
||||
#: src/pages/ModelSettingsOverlay.tsx
|
||||
#: src/pages/shell/message-cards.tsx
|
||||
msgid "Connected"
|
||||
@ -2019,10 +2018,6 @@ msgstr "Varsayılan"
|
||||
msgid "Default ({0})"
|
||||
msgstr "Varsayılan ({0})"
|
||||
|
||||
#: src/pages/MemorySettingsOverlay.tsx
|
||||
msgid "Default scope"
|
||||
msgstr "Varsayılan kapsam"
|
||||
|
||||
#: src/components/UserProfileSettings.tsx
|
||||
#: src/pages/BotContextMenu.tsx
|
||||
#: src/pages/KnowledgeSection.tsx
|
||||
@ -2883,7 +2878,6 @@ msgstr "Aralık birimi"
|
||||
msgid "Iris"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/MemorySettingsOverlay.tsx
|
||||
#: src/pages/shell/bot-panel.tsx
|
||||
msgid "Isolated"
|
||||
msgstr "Yalıtılmış"
|
||||
@ -3128,10 +3122,6 @@ msgstr "MCP sunucularını yönet"
|
||||
msgid "Manage messaging settings"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/MemorySettingsOverlay.tsx
|
||||
msgid "Manage the Space semantic memory provider."
|
||||
msgstr "Çalışma alanının semantik hafıza sağlayıcısını yönet."
|
||||
|
||||
#: src/pages/PluginsOverlay.tsx
|
||||
msgid "Manual"
|
||||
msgstr ""
|
||||
@ -3191,7 +3181,6 @@ msgid "Members (pick {GROUP_MEMBER_MIN}–{GROUP_MEMBER_MAX})"
|
||||
msgstr "Üyeler ({GROUP_MEMBER_MIN}–{GROUP_MEMBER_MAX} seç)"
|
||||
|
||||
#: src/pages/KnowledgeSection.tsx
|
||||
#: src/pages/MemorySettingsOverlay.tsx
|
||||
#: src/pages/SettingsOverlay.tsx
|
||||
msgid "Memory"
|
||||
msgstr "Hafıza"
|
||||
@ -4315,11 +4304,6 @@ msgstr ""
|
||||
msgid "Return to Rakazo"
|
||||
msgstr "Rakazo'ya dön"
|
||||
|
||||
#. placeholder {0}: doc.revision
|
||||
#: src/pages/KnowledgeSection.tsx
|
||||
msgid "rev {0}"
|
||||
msgstr "rev {0}"
|
||||
|
||||
#: src/pages/MessagingSettingsOverlay.tsx
|
||||
msgid "Revoke"
|
||||
msgstr "İptal et"
|
||||
@ -4604,11 +4588,14 @@ msgstr "Şekil"
|
||||
msgid "Shape {0}"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/MemorySettingsOverlay.tsx
|
||||
msgid "Share between bots"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/voice-persona-copy.ts
|
||||
msgid "Share what you're imagining — or tell me one thing to refine."
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/MemorySettingsOverlay.tsx
|
||||
#: src/pages/shell/bot-panel.tsx
|
||||
msgid "Shared"
|
||||
msgstr "Ortak"
|
||||
@ -4617,10 +4604,6 @@ msgstr "Ortak"
|
||||
msgid "Shared chat with 2-6 bots. They all reply in the same thread."
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/KnowledgeSection.tsx
|
||||
msgid "Shared documents"
|
||||
msgstr "Paylaşılan belgeler"
|
||||
|
||||
#: src/lib/voice-persona-copy.ts
|
||||
msgid "Sharing the draft…"
|
||||
msgstr ""
|
||||
|
||||
@ -490,6 +490,7 @@ msgstr ""
|
||||
#: src/components/MediaSettings.tsx
|
||||
#: src/pages/AccountSettingsOverlay.tsx
|
||||
#: src/pages/McpServersOverlay.tsx
|
||||
#: src/pages/MemorySettingsOverlay.tsx
|
||||
#: src/pages/ModelSettingsOverlay.tsx
|
||||
#: src/pages/PluginsOverlay.tsx
|
||||
#: src/pages/RoutineSchedule.tsx
|
||||
@ -1207,7 +1208,6 @@ msgstr ""
|
||||
msgid "Close MCP servers"
|
||||
msgstr "关闭 MCP 服务器"
|
||||
|
||||
#: src/pages/MemorySettingsOverlay.tsx
|
||||
#: src/pages/SettingsOverlay.tsx
|
||||
msgid "Close memory settings"
|
||||
msgstr "关闭记忆设置"
|
||||
@ -1388,7 +1388,6 @@ msgstr "连接 Treg"
|
||||
|
||||
#: src/components/integrations/IntegrationSetup.tsx
|
||||
#: src/pages/McpOAuthCallback.tsx
|
||||
#: src/pages/MemorySettingsOverlay.tsx
|
||||
#: src/pages/ModelSettingsOverlay.tsx
|
||||
#: src/pages/shell/message-cards.tsx
|
||||
msgid "Connected"
|
||||
@ -2019,10 +2018,6 @@ msgstr "默认"
|
||||
msgid "Default ({0})"
|
||||
msgstr "默认({0})"
|
||||
|
||||
#: src/pages/MemorySettingsOverlay.tsx
|
||||
msgid "Default scope"
|
||||
msgstr "默认范围"
|
||||
|
||||
#: src/components/UserProfileSettings.tsx
|
||||
#: src/pages/BotContextMenu.tsx
|
||||
#: src/pages/KnowledgeSection.tsx
|
||||
@ -2883,7 +2878,6 @@ msgstr "间隔单位"
|
||||
msgid "Iris"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/MemorySettingsOverlay.tsx
|
||||
#: src/pages/shell/bot-panel.tsx
|
||||
msgid "Isolated"
|
||||
msgstr "隔离"
|
||||
@ -3128,10 +3122,6 @@ msgstr "管理 MCP 服务器"
|
||||
msgid "Manage messaging settings"
|
||||
msgstr "管理消息设置"
|
||||
|
||||
#: src/pages/MemorySettingsOverlay.tsx
|
||||
msgid "Manage the Space semantic memory provider."
|
||||
msgstr "管理工作区语义记忆提供方。"
|
||||
|
||||
#: src/pages/PluginsOverlay.tsx
|
||||
msgid "Manual"
|
||||
msgstr ""
|
||||
@ -3191,7 +3181,6 @@ msgid "Members (pick {GROUP_MEMBER_MIN}–{GROUP_MEMBER_MAX})"
|
||||
msgstr "成员(选择 {GROUP_MEMBER_MIN}–{GROUP_MEMBER_MAX} 个)"
|
||||
|
||||
#: src/pages/KnowledgeSection.tsx
|
||||
#: src/pages/MemorySettingsOverlay.tsx
|
||||
#: src/pages/SettingsOverlay.tsx
|
||||
msgid "Memory"
|
||||
msgstr "记忆"
|
||||
@ -4315,11 +4304,6 @@ msgstr ""
|
||||
msgid "Return to Rakazo"
|
||||
msgstr "返回 Rakazo"
|
||||
|
||||
#. placeholder {0}: doc.revision
|
||||
#: src/pages/KnowledgeSection.tsx
|
||||
msgid "rev {0}"
|
||||
msgstr "版本 {0}"
|
||||
|
||||
#: src/pages/MessagingSettingsOverlay.tsx
|
||||
msgid "Revoke"
|
||||
msgstr "撤销"
|
||||
@ -4604,11 +4588,14 @@ msgstr "形状"
|
||||
msgid "Shape {0}"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/MemorySettingsOverlay.tsx
|
||||
msgid "Share between bots"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/voice-persona-copy.ts
|
||||
msgid "Share what you're imagining — or tell me one thing to refine."
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/MemorySettingsOverlay.tsx
|
||||
#: src/pages/shell/bot-panel.tsx
|
||||
msgid "Shared"
|
||||
msgstr "共享"
|
||||
@ -4617,10 +4604,6 @@ msgstr "共享"
|
||||
msgid "Shared chat with 2-6 bots. They all reply in the same thread."
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/KnowledgeSection.tsx
|
||||
msgid "Shared documents"
|
||||
msgstr "共享文档"
|
||||
|
||||
#: src/lib/voice-persona-copy.ts
|
||||
msgid "Sharing the draft…"
|
||||
msgstr ""
|
||||
|
||||
@ -58,13 +58,10 @@ export function KnowledgeSection({
|
||||
);
|
||||
}
|
||||
|
||||
/** The space's shared memory documents, mounted in the Memory settings overlay. */
|
||||
/** The space's shared memory documents, mounted in the Memory settings. */
|
||||
export function SpaceMemorySection() {
|
||||
return (
|
||||
<div className="mt-6" data-testid="space-memory-documents">
|
||||
<div className="mb-2 text-ui-body-sm uppercase tracking-[0.08em] text-muted-foreground">
|
||||
<Trans>Shared documents</Trans>
|
||||
</div>
|
||||
<div data-testid="space-memory-documents">
|
||||
<MemoryDocumentList
|
||||
load={() => rpc.memory.list({ scope: "user" })}
|
||||
exportFilename="space-memory.md"
|
||||
@ -172,14 +169,9 @@ function MemoryDocumentList({
|
||||
onClick={() => (openId === doc.id ? setOpenId(null) : openDoc(doc))}
|
||||
className={rowClass(openId === doc.id)}
|
||||
>
|
||||
<span className="flex w-full items-baseline justify-between gap-3">
|
||||
<span className="min-w-0 truncate text-ui-body text-foreground" dir="auto">
|
||||
{doc.path}
|
||||
</span>
|
||||
<span className="shrink-0 text-ui-body-sm text-muted-foreground">
|
||||
<Trans>rev {doc.revision}</Trans>
|
||||
</span>
|
||||
</span>
|
||||
</Button>
|
||||
{openId === doc.id ? (
|
||||
<div className="px-2.5 pb-2">
|
||||
|
||||
@ -2,18 +2,12 @@ import { Trans, useLingui } from "@lingui/react/macro";
|
||||
import type { SpaceMemoryConfig } from "@rakazo/contracts";
|
||||
import {
|
||||
Button,
|
||||
Dialog,
|
||||
DialogClose,
|
||||
DialogContent,
|
||||
DialogDescription,
|
||||
DialogTitle,
|
||||
Field,
|
||||
FieldLabel,
|
||||
NativeSelect,
|
||||
NativeSelectOption,
|
||||
Toggle,
|
||||
Switch,
|
||||
} from "@rakazo/ui-web";
|
||||
import { XIcon } from "lucide-react";
|
||||
import { useEffect, useId, useState } from "react";
|
||||
import { rpc } from "../lib/rpc";
|
||||
import { SpaceMemorySection } from "./KnowledgeSection";
|
||||
@ -24,48 +18,44 @@ import {
|
||||
memoryProviderSettings,
|
||||
} from "./memory-providers/registry";
|
||||
|
||||
function ScopePicker({
|
||||
type MemoryScope = "isolated" | "shared";
|
||||
|
||||
function SharedScopeSwitch({
|
||||
value,
|
||||
disabled,
|
||||
onChange,
|
||||
}: {
|
||||
value: "isolated" | "shared";
|
||||
value: MemoryScope;
|
||||
disabled: boolean;
|
||||
onChange: (scope: "isolated" | "shared") => void;
|
||||
onChange: (scope: MemoryScope) => void;
|
||||
}) {
|
||||
const labelId = useId();
|
||||
return (
|
||||
<div className="text-ui-body text-muted-foreground">
|
||||
<Trans>Default scope</Trans>
|
||||
<div className="mt-2 flex gap-2">
|
||||
{(["isolated", "shared"] as const).map((option) => (
|
||||
<Toggle
|
||||
key={option}
|
||||
variant="outline"
|
||||
pressed={value === option}
|
||||
<div className="flex items-center justify-between gap-4">
|
||||
<span id={labelId} className="text-ui-body text-foreground">
|
||||
<Trans>Share between bots</Trans>
|
||||
</span>
|
||||
<Switch
|
||||
aria-labelledby={labelId}
|
||||
checked={value === "shared"}
|
||||
disabled={disabled}
|
||||
onPressedChange={() => onChange(option)}
|
||||
className="flex-1 font-normal text-muted-foreground aria-pressed:text-foreground"
|
||||
>
|
||||
{option === "isolated" ? <Trans>Isolated</Trans> : <Trans>Shared</Trans>}
|
||||
</Toggle>
|
||||
))}
|
||||
</div>
|
||||
onCheckedChange={(checked) => onChange(checked ? "shared" : "isolated")}
|
||||
/>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* What the agents remember first; the optional semantic-recall provider stays
|
||||
* behind Advanced because most people never need it.
|
||||
*/
|
||||
export function MemorySettingsOverlay({
|
||||
onClose,
|
||||
config,
|
||||
onConfigChange,
|
||||
embedded = false,
|
||||
onBusyChange,
|
||||
}: {
|
||||
onClose: () => void;
|
||||
config: SpaceMemoryConfig | null | undefined;
|
||||
onConfigChange: (config: SpaceMemoryConfig | null) => void;
|
||||
/** Render panel body only for the shared Settings shell. */
|
||||
embedded?: boolean;
|
||||
onBusyChange?: (busy: boolean) => void;
|
||||
}) {
|
||||
const { t } = useLingui();
|
||||
@ -74,7 +64,7 @@ export function MemorySettingsOverlay({
|
||||
const [selectedProvider, setSelectedProvider] = useState(
|
||||
config?.provider ?? defaultRegistration.id,
|
||||
);
|
||||
const [defaultScope, setDefaultScope] = useState<"isolated" | "shared">(
|
||||
const [defaultScope, setDefaultScope] = useState<MemoryScope>(
|
||||
config?.defaultMemoryScope ?? "isolated",
|
||||
);
|
||||
const [pending, setPending] = useState<"connect" | "disconnect" | "scope" | null>(null);
|
||||
@ -136,7 +126,7 @@ export function MemorySettingsOverlay({
|
||||
}
|
||||
}
|
||||
|
||||
async function updateDefaultScope(scope: "isolated" | "shared") {
|
||||
async function updateDefaultScope(scope: MemoryScope) {
|
||||
if (scope === defaultScope) return;
|
||||
setError(null);
|
||||
markPending("scope");
|
||||
@ -150,35 +140,22 @@ export function MemorySettingsOverlay({
|
||||
}
|
||||
}
|
||||
|
||||
const body = (
|
||||
<>
|
||||
{!embedded ? (
|
||||
<div className="flex items-start justify-between px-6 pt-6 sm:px-8 sm:pt-7">
|
||||
<div>
|
||||
<DialogTitle className="text-2xl font-medium text-foreground">
|
||||
<Trans>Memory</Trans>
|
||||
</DialogTitle>
|
||||
<DialogDescription className="mt-1 text-ui-body text-muted-foreground/70">
|
||||
{registration?.description ?? (
|
||||
<Trans>Manage the Space semantic memory provider.</Trans>
|
||||
)}
|
||||
</DialogDescription>
|
||||
</div>
|
||||
<DialogClose
|
||||
aria-label={t`Close memory settings`}
|
||||
disabled={busy}
|
||||
render={<Button variant="ghost" size="icon-sm" />}
|
||||
>
|
||||
<XIcon />
|
||||
</DialogClose>
|
||||
</div>
|
||||
) : (
|
||||
<p className="px-6 pt-1 text-ui-body text-muted-foreground/70 sm:px-8">
|
||||
{registration?.description ?? <Trans>Manage the Space semantic memory provider.</Trans>}
|
||||
</p>
|
||||
)}
|
||||
return (
|
||||
<div data-testid="memory-settings" className="flex min-h-0 flex-1 flex-col overflow-hidden">
|
||||
<div className="rk-scroll min-h-0 flex-1 overflow-y-auto overscroll-contain px-6 pb-6 pt-5 sm:px-8 sm:pb-8">
|
||||
<SpaceMemorySection />
|
||||
|
||||
<div className="rk-scroll min-h-0 flex-1 overflow-y-auto px-6 py-6 sm:px-8">
|
||||
<details data-testid="memory-advanced" className="group mt-8" open={Boolean(config)}>
|
||||
<summary className="flex cursor-pointer list-none items-center justify-between gap-3 text-ui-body text-muted-foreground">
|
||||
<span>
|
||||
<Trans>Advanced</Trans>
|
||||
</span>
|
||||
<span aria-hidden="true" className="transition-transform group-open:rotate-90">
|
||||
›
|
||||
</span>
|
||||
</summary>
|
||||
|
||||
<div className="mt-4">
|
||||
{error ? <p className="mb-4 text-sm text-destructive">{error}</p> : null}
|
||||
|
||||
{config === undefined ? (
|
||||
@ -187,30 +164,32 @@ export function MemorySettingsOverlay({
|
||||
</p>
|
||||
) : config ? (
|
||||
<div className="rounded-xl border border-border px-4 py-3">
|
||||
<div className="text-ui-body-sm uppercase tracking-[0.08em] text-muted-foreground/80">
|
||||
<Trans>Connected</Trans>
|
||||
</div>
|
||||
<div className="mt-1 text-ui-body text-foreground">
|
||||
<div className="flex items-center justify-between gap-3">
|
||||
<span className="min-w-0 truncate text-ui-body text-foreground">
|
||||
{registration?.connectedLabel(config) ?? config.provider}
|
||||
</div>
|
||||
<div className="mt-3">
|
||||
<ScopePicker
|
||||
value={defaultScope}
|
||||
disabled={busy}
|
||||
onChange={(scope) => void updateDefaultScope(scope)}
|
||||
/>
|
||||
</div>
|
||||
</span>
|
||||
<Button
|
||||
type="button"
|
||||
variant="outline"
|
||||
size="sm"
|
||||
disabled={busy}
|
||||
onClick={() => void disconnect()}
|
||||
className="mt-3"
|
||||
>
|
||||
{pending === "disconnect" ? <Trans>Disconnecting…</Trans> : <Trans>Disconnect</Trans>}
|
||||
{pending === "disconnect" ? (
|
||||
<Trans>Disconnecting…</Trans>
|
||||
) : (
|
||||
<Trans>Disconnect</Trans>
|
||||
)}
|
||||
</Button>
|
||||
</div>
|
||||
<div className="mt-3">
|
||||
<SharedScopeSwitch
|
||||
value={defaultScope}
|
||||
disabled={busy}
|
||||
onChange={(scope) => void updateDefaultScope(scope)}
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
) : registration ? (
|
||||
<>
|
||||
{MEMORY_PROVIDER_SETTINGS.length > 1 ? (
|
||||
@ -235,7 +214,11 @@ export function MemorySettingsOverlay({
|
||||
) : null}
|
||||
|
||||
<div className="mb-4">
|
||||
<ScopePicker value={defaultScope} disabled={busy} onChange={setDefaultScope} />
|
||||
<SharedScopeSwitch
|
||||
value={defaultScope}
|
||||
disabled={busy}
|
||||
onChange={setDefaultScope}
|
||||
/>
|
||||
</div>
|
||||
|
||||
<registration.SettingsForm busy={busy} onConnect={connect} />
|
||||
@ -245,37 +228,9 @@ export function MemorySettingsOverlay({
|
||||
<Trans>The selected memory provider is not available in this build.</Trans>
|
||||
</p>
|
||||
)}
|
||||
<SpaceMemorySection />
|
||||
</div>
|
||||
</>
|
||||
);
|
||||
|
||||
if (embedded) {
|
||||
return (
|
||||
<div data-testid="memory-settings" className="flex min-h-0 flex-1 flex-col overflow-hidden">
|
||||
{body}
|
||||
</details>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
return (
|
||||
<Dialog
|
||||
open
|
||||
onOpenChange={(open, details) => {
|
||||
if (open) return;
|
||||
if (busy) {
|
||||
details.cancel();
|
||||
return;
|
||||
}
|
||||
onClose();
|
||||
}}
|
||||
>
|
||||
<DialogContent
|
||||
showCloseButton={false}
|
||||
className="flex max-h-[min(760px,calc(100%-2rem))] w-[560px] flex-col gap-0 overflow-hidden rounded-2xl p-0 sm:max-h-[min(760px,calc(100%-5rem))] sm:max-w-[calc(100%-5rem)]"
|
||||
>
|
||||
{body}
|
||||
</DialogContent>
|
||||
</Dialog>
|
||||
);
|
||||
}
|
||||
|
||||
@ -262,8 +262,6 @@ export function SettingsOverlay({
|
||||
) : null}
|
||||
{section === "memory" ? (
|
||||
<MemorySettingsOverlay
|
||||
embedded
|
||||
onClose={requestClose}
|
||||
config={memoryConfig}
|
||||
onConfigChange={onMemoryConfigChange}
|
||||
onBusyChange={setMemoryBusy}
|
||||
|
||||
@ -17,7 +17,6 @@ export interface MemoryProviderSettingsFormProps {
|
||||
export interface MemoryProviderSettingsRegistration {
|
||||
id: string;
|
||||
name: string;
|
||||
description: string;
|
||||
SettingsForm: ComponentType<MemoryProviderSettingsFormProps>;
|
||||
connectedLabel: (config: SpaceMemoryConfig) => string;
|
||||
}
|
||||
@ -26,7 +25,6 @@ export const MEMORY_PROVIDER_SETTINGS: readonly MemoryProviderSettingsRegistrati
|
||||
{
|
||||
id: "supermemory",
|
||||
name: "Supermemory",
|
||||
description: "Add semantic recall alongside native MEMORY.md memory.",
|
||||
SettingsForm: SupermemorySettingsForm,
|
||||
connectedLabel: (config) =>
|
||||
config.settings.mode === "cloud" ? "Supermemory Cloud" : `Local · ${config.settings.baseUrl}`,
|
||||
@ -34,7 +32,6 @@ export const MEMORY_PROVIDER_SETTINGS: readonly MemoryProviderSettingsRegistrati
|
||||
{
|
||||
id: "serenity",
|
||||
name: "Serenity",
|
||||
description: "Self-hosted Serenity brain for durable memory.",
|
||||
SettingsForm: SerenitySettingsForm,
|
||||
connectedLabel: (config) => {
|
||||
const label = config.settings.brainLabel?.trim();
|
||||
@ -46,7 +43,6 @@ export const MEMORY_PROVIDER_SETTINGS: readonly MemoryProviderSettingsRegistrati
|
||||
{
|
||||
id: "builtin",
|
||||
name: "Built-in",
|
||||
description: "Semantic recall stored on this server.",
|
||||
SettingsForm: BuiltinSettingsForm,
|
||||
connectedLabel: (config) =>
|
||||
`Built-in · ${config.settings.model ?? ""} · ${config.settings.baseUrl ?? ""}`,
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user