feat(server): improve context management (#15448)

#### PR Dependency Tree


* **PR #15448** 👈

This tree was auto-generated by
[Charcoal](https://github.com/danerwilliams/charcoal)

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Added workspace artifact upload, browsing, removal, deduplication, and
library ownership support.
* Copilot now supports scoped document and artifact search, canvas
reading, live editor context, and frontend tools.
* Added scope and focus selectors with source-resolution receipts in
chat.
* Added embedding health, progress, synchronization, and retrieval
capabilities.
* Added BYOK policy visibility, provider restrictions, endpoint dialect
selection, and validation.
* Added delegated editor interactions and userdata document
authorization.

* **Bug Fixes**
* Improved attachment handling, cancellation, access control, retrieval
fallbacks, workspace synchronization, and configuration validation.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
This commit is contained in:
DarkSky
2026-08-10 09:27:58 +08:00
committed by GitHub
parent 42322d13fe
commit ee899a267b
311 changed files with 20468 additions and 14806 deletions
@@ -1,28 +1,28 @@
{
"ar": 90,
"ca": 88,
"ar": 89,
"ca": 86,
"da": 3,
"de": 98,
"el-GR": 86,
"de": 96,
"el-GR": 85,
"en": 100,
"es-AR": 87,
"es-CL": 88,
"es": 86,
"fa": 86,
"fr": 90,
"es-AR": 85,
"es-CL": 86,
"es": 85,
"fa": 85,
"fr": 89,
"hi": 1,
"it": 88,
"ja": 86,
"kk": 93,
"ko": 87,
"nb-NO": 43,
"pl": 88,
"pt-BR": 86,
"ru": 88,
"sv-SE": 87,
"tr": 93,
"uk": 86,
"ur": 93,
"zh-Hans": 97,
"zh-Hant": 88
"it": 86,
"ja": 85,
"kk": 92,
"ko": 86,
"nb-NO": 42,
"pl": 86,
"pt-BR": 85,
"ru": 87,
"sv-SE": 85,
"tr": 92,
"uk": 85,
"ur": 92,
"zh-Hans": 96,
"zh-Hant": 87
}
+207 -40
View File
@@ -878,6 +878,175 @@ export function useAFFiNEI18N(): {
done: string;
total: string;
}>): string;
/**
* `Local workspaces don't support attachments or references.`
*/
["com.affine.ai.chat-panel.local-workspace-context-unavailable"](): string;
/**
* `Reading canvas`
*/
["com.affine.ai.chat-panel.tool.canvas.reading"](): string;
/**
* `Read canvas of "{{title}}"`
*/
["com.affine.ai.chat-panel.tool.canvas.read"](options: {
readonly title: string;
}): string;
/**
* `Read canvas`
*/
["com.affine.ai.chat-panel.tool.canvas.read-untitled"](): string;
/**
* `Canvas read failed`
*/
["com.affine.ai.chat-panel.tool.canvas.failed"](): string;
/**
* `Canvas content`
*/
["com.affine.ai.chat-panel.tool.canvas.content"](): string;
/**
* `Current document`
*/
["com.affine.ai.chat-panel.tool.live.current-document"](): string;
/**
* `Checking editor state`
*/
["com.affine.ai.chat-panel.tool.live.state-checking"](): string;
/**
* `Checked editor state`
*/
["com.affine.ai.chat-panel.tool.live.state-checked"](): string;
/**
* `Reading selection`
*/
["com.affine.ai.chat-panel.tool.live.selection-reading"](): string;
/**
* `Read selection`
*/
["com.affine.ai.chat-panel.tool.live.selection-read"](): string;
/**
* `Reading editor content`
*/
["com.affine.ai.chat-panel.tool.live.content-reading"](): string;
/**
* `Read editor content`
*/
["com.affine.ai.chat-panel.tool.live.content-read"](): string;
/**
* `Reading outline of "{{title}}"`
*/
["com.affine.ai.chat-panel.tool.live.outline-reading"](options: {
readonly title: string;
}): string;
/**
* `Read outline of "{{title}}"`
*/
["com.affine.ai.chat-panel.tool.live.outline-read"](options: {
readonly title: string;
}): string;
/**
* `Reading canvas of "{{title}}"`
*/
["com.affine.ai.chat-panel.tool.live.canvas-reading"](options: {
readonly title: string;
}): string;
/**
* `Read canvas of "{{title}}"`
*/
["com.affine.ai.chat-panel.tool.live.canvas-read"](options: {
readonly title: string;
}): string;
/**
* `This view is not available in the current editor mode`
*/
["com.affine.ai.chat-panel.tool.live.view-unavailable"](): string;
/**
* `Live editor read failed`
*/
["com.affine.ai.chat-panel.tool.live.failed"](): string;
/**
* `{{mode}} mode`
*/
["com.affine.ai.chat-panel.tool.live.mode"](options: {
readonly mode: string;
}): string;
/**
* `{{count}} blocks`
*/
["com.affine.ai.chat-panel.tool.live.blocks"](options: {
readonly count: string;
}): string;
/**
* `{{count}} elements`
*/
["com.affine.ai.chat-panel.tool.live.elements"](options: {
readonly count: string;
}): string;
/**
* `Document`
*/
["com.affine.ai.chat-panel.scope.document"](): string;
/**
* `Tag`
*/
["com.affine.ai.chat-panel.scope.tag"](): string;
/**
* `Collection`
*/
["com.affine.ai.chat-panel.scope.collection"](): string;
/**
* `Favorites`
*/
["com.affine.ai.chat-panel.scope.favorite"](): string;
/**
* `Attachment`
*/
["com.affine.ai.chat-panel.scope.artifact"](): string;
/**
* `{{count}} sources`
*/
["com.affine.ai.chat-panel.scope.sources"](options: {
readonly count: string;
}): string;
/**
* `Your selected sources are still processing. Try again shortly.`
*/
["com.affine.ai.error.selectedSourcesProcessing"](): string;
/**
* `Some selected sources could not be processed. Try again; if the problem continues, remove them and send a new message.`
*/
["com.affine.ai.error.selectedSourcesFailed"](): string;
/**
* `One or more selected sources are unavailable. Check the sources or workspace AI indexing settings, then retry.`
*/
["com.affine.ai.error.selectedSourcesUnavailable"](): string;
/**
* `Too many sources or too much content was selected. Select fewer sources and send a new message.`
*/
["com.affine.ai.error.selectedSourcesLimitExceeded"](): string;
/**
* `Retry`
*/
["com.affine.ai.error.retry"](): string;
/**
* `Working… · {{count}} actions`
*/
["com.affine.ai.chat-panel.tool-group.running"](options: {
readonly count: string;
}): string;
/**
* `Completed {{count}} actions`
*/
["com.affine.ai.chat-panel.tool-group.completed"](options: {
readonly count: string;
}): string;
/**
* `Completed {{count}} actions · {{failed}} failed`
*/
["com.affine.ai.chat-panel.tool-group.failed"](options: Readonly<{
count: string;
failed: string;
}>): string;
/**
* `Delete this history?`
*/
@@ -6186,6 +6355,10 @@ export function useAFFiNEI18N(): {
* `Endpoint`
*/
["com.affine.settings.workspace.byok.field.endpoint"](): string;
/**
* `API dialect`
*/
["com.affine.settings.workspace.byok.field.dialect"](): string;
/**
* `Model ID`
*/
@@ -6210,10 +6383,22 @@ export function useAFFiNEI18N(): {
* `Search models…`
*/
["com.affine.settings.workspace.byok.placeholder.search-models"](): string;
/**
* `Select an API dialect`
*/
["com.affine.settings.workspace.byok.placeholder.dialect"](): string;
/**
* `Use a custom API-compatible endpoint`
*/
["com.affine.settings.workspace.byok.endpoint.use-custom"](): string;
/**
* `Responses API`
*/
["com.affine.settings.workspace.byok.dialect.responses"](): string;
/**
* `Chat Completions API`
*/
["com.affine.settings.workspace.byok.dialect.chat-completions"](): string;
/**
* `Include an image generation request when testing (provider charges may apply)`
*/
@@ -10044,40 +10229,6 @@ export function useAFFiNEI18N(): {
kind: string;
message: string;
}>): string;
/**
* `Invalid copilot context {{contextId}}.`
*/
["error.COPILOT_INVALID_CONTEXT"](options: {
readonly contextId: string;
}): string;
/**
* `File {{fileName}} is not supported to use as context: {{message}}`
*/
["error.COPILOT_CONTEXT_FILE_NOT_SUPPORTED"](options: Readonly<{
fileName: string;
message: string;
}>): string;
/**
* `Failed to modify context {{contextId}}: {{message}}`
*/
["error.COPILOT_FAILED_TO_MODIFY_CONTEXT"](options: Readonly<{
contextId: string;
message: string;
}>): string;
/**
* `Failed to match context {{contextId}} with "%7B%7Bcontent%7D%7D": {{message}}`
*/
["error.COPILOT_FAILED_TO_MATCH_CONTEXT"](options: Readonly<{
contextId: string;
message: string;
}>): string;
/**
* `Failed to match context in workspace {{workspaceId}} with "%7B%7Bcontent%7D%7D": {{message}}`
*/
["error.COPILOT_FAILED_TO_MATCH_GLOBAL_CONTEXT"](options: Readonly<{
workspaceId: string;
message: string;
}>): string;
/**
* `Embedding feature is disabled, please contact the administrator to enable it in the workspace settings.`
*/
@@ -10086,6 +10237,28 @@ export function useAFFiNEI18N(): {
* `Embedding feature not available, you may need to install pgvector extension to your database`
*/
["error.COPILOT_EMBEDDING_UNAVAILABLE"](): string;
/**
* `Selected sources are still processing. Try again shortly.`
*/
["error.COPILOT_SELECTED_SOURCES_PROCESSING"](): string;
/**
* `Selected sources could not be processed. Remove the failed source or try again.`
*/
["error.COPILOT_SELECTED_SOURCES_FAILED"](): string;
/**
* `Selected sources are not available for AI retrieval.`
*/
["error.COPILOT_SELECTED_SOURCES_UNAVAILABLE"](): string;
/**
* `Too many or too much content was selected. Select fewer sources and try again.`
*/
["error.COPILOT_SELECTED_SOURCES_LIMIT_EXCEEDED"](): string;
/**
* `Failed to add workspace artifact: {{message}}`
*/
["error.COPILOT_FAILED_TO_ADD_WORKSPACE_ARTIFACT"](options: {
readonly message: string;
}): string;
/**
* `Transcription job already exists`
*/
@@ -10098,12 +10271,6 @@ export function useAFFiNEI18N(): {
* `Audio not provided.`
*/
["error.COPILOT_TRANSCRIPTION_AUDIO_NOT_PROVIDED"](): string;
/**
* `Failed to add workspace file embedding: {{message}}`
*/
["error.COPILOT_FAILED_TO_ADD_WORKSPACE_FILE_EMBEDDING"](options: {
readonly message: string;
}): string;
/**
* `You have exceeded your blob size quota.`
*/
@@ -2139,10 +2139,7 @@
"error.COPILOT_FAILED_TO_CREATE_MESSAGE": "فشل في إنشاء رسالة الدردشة.",
"error.COPILOT_FAILED_TO_GENERATE_EMBEDDING": "فشل في إنشاء تضمين بـ {{provider}}: {{message}}",
"error.COPILOT_FAILED_TO_GENERATE_TEXT": "فشل في توليد النص.",
"error.COPILOT_FAILED_TO_MATCH_CONTEXT": "فشل في مطابقة السياق {{contextId}} مع \"%7B%7Bcontent%7D%7D\": {{message}}",
"error.COPILOT_FAILED_TO_MATCH_GLOBAL_CONTEXT": "فشل في مطابقة السياق في مساحة العمل {{workspaceId}} مع \"%7B%7Bcontent%7D%7D\": {{message}}",
"error.COPILOT_FAILED_TO_MODIFY_CONTEXT": "فشل في تعديل السياق {{contextId}}: {{message}}",
"error.COPILOT_INVALID_CONTEXT": "سياق الزميل غير صالح {{contextId}}.",
"error.COPILOT_MESSAGE_NOT_FOUND": "لم يتم العثور على رسالة Copilot {{messageId}}.",
"error.COPILOT_PROMPT_INVALID": "الموجه غير صالح من Copilot.",
"error.COPILOT_PROMPT_NOT_FOUND": "لم يتم العثور على موجه Copilot {{name}}.",
@@ -1984,10 +1984,7 @@
"error.COPILOT_FAILED_TO_CREATE_MESSAGE": "Error en crear un missatge de xat.",
"error.COPILOT_FAILED_TO_GENERATE_EMBEDDING": "Error en generar la incrustació amb {{provider}}: {{message}}",
"error.COPILOT_FAILED_TO_GENERATE_TEXT": "Error en generar el text.",
"error.COPILOT_FAILED_TO_MATCH_CONTEXT": "Error en emparellar el context {{contextId}} amb \"%7B%7Bcontent%7D%7D\": {{message}}",
"error.COPILOT_FAILED_TO_MATCH_GLOBAL_CONTEXT": "Error en emparellar el context a l'espai de treball {{workspaceId}} amb \"%7B%7Bcontent%7D%7D\": {{message}}",
"error.COPILOT_FAILED_TO_MODIFY_CONTEXT": "Error en modificar el context {{contextId}}: {{message}}",
"error.COPILOT_INVALID_CONTEXT": "Context de copilot no vàlid {{contextId}}.",
"error.COPILOT_MESSAGE_NOT_FOUND": "Missatge Copilot {{messageId}} no trobat.",
"error.COPILOT_PROMPT_INVALID": "Sol·licitud Copilot no vàlida.",
"error.COPILOT_PROMPT_NOT_FOUND": "Sol·licitud Copilot {{name}} no trobada.",
@@ -2418,10 +2418,7 @@
"error.COPILOT_PROMPT_INVALID": "Copilot-Eingabeaufforderung ist ungültig.",
"error.COPILOT_PROVIDER_NOT_SUPPORTED": "Copilot-Anbieter {{provider}} unterstützt den Ausgabe-Typ {{kind}} nicht",
"error.COPILOT_PROVIDER_SIDE_ERROR": "Anbieter {{provider}} schlug mit dem Fehler {{kind}} fehl: {{message}}",
"error.COPILOT_INVALID_CONTEXT": "Ungültiger Copilot-Kontext {{contextId}}.",
"error.COPILOT_CONTEXT_FILE_NOT_SUPPORTED": "Datei {{fileName}} wird nicht unterstützt, um als Kontext verwendet zu werden: {{message}}",
"error.COPILOT_FAILED_TO_MODIFY_CONTEXT": "Fehler beim Ändern des Kontexts {{contextId}}: {{message}}",
"error.COPILOT_FAILED_TO_MATCH_CONTEXT": "Fehler beim Abgleichen des Kontexts {{contextId}} mit \"%7B%7Bcontent%7D%7D\": {{message}}",
"error.COPILOT_FAILED_TO_MATCH_GLOBAL_CONTEXT": "Fehler beim Abgleichen des Kontexts in Workspace {{workspaceId}} mit \"%7B%7Bcontent%7D%7D\": {{message}}",
"error.COPILOT_EMBEDDING_DISABLED": "Die Einbetten-Funktion ist deaktiviert. Wende dich an den Administrator, um sie in den Workspace-Einstellungen zu aktivieren.",
"error.COPILOT_EMBEDDING_UNAVAILABLE": "Einbettungsfunktion nicht verfügbar, möglicherweise musst du die pgvector-Erweiterung in deiner Datenbank installieren",
@@ -2124,10 +2124,7 @@
"error.COPILOT_PROMPT_INVALID": "Η προτροπή του Copilot δεν είναι έγκυρη.",
"error.COPILOT_PROVIDER_NOT_SUPPORTED": "Ο πάροχος Copilot {{provider}} δεν υποστηρίζει τον τύπο εξόδου {{kind}}",
"error.COPILOT_PROVIDER_SIDE_ERROR": "Ο πάροχος {{provider}} απέτυχε με σφάλμα {{kind}}: {{message}}",
"error.COPILOT_INVALID_CONTEXT": "Μη έγκυρο πλαίσιο συνομιλητή {{contextId}}.",
"error.COPILOT_CONTEXT_FILE_NOT_SUPPORTED": "Το αρχείο {{fileName}} δεν υποστηρίζεται ως πλαίσιο: {{message}}",
"error.COPILOT_FAILED_TO_MODIFY_CONTEXT": "Αποτυχία τροποποίησης του πλαισίου {{contextId}}: {{message}}",
"error.COPILOT_FAILED_TO_MATCH_CONTEXT": "Αποτυχία αντιστοίχισης του πλαισίου {{contextId}} με \"%7B%7Bcontent%7D%7D\": {{message}}",
"error.COPILOT_FAILED_TO_MATCH_GLOBAL_CONTEXT": "Αποτυχία αντιστοίχισης του πλαισίου στον χώρο εργασίας {{workspaceId}} με \"%7B%7Bcontent%7D%7D\": {{message}}",
"error.COPILOT_EMBEDDING_DISABLED": "Η λειτουργία ενσωμάτωσης έχει απενεργοποιηθεί, παρακαλώ επικοινωνήστε με τον διαχειριστή για να την ενεργοποιήσει στις ρυθμίσεις του χώρου εργασίας.",
"error.COPILOT_EMBEDDING_UNAVAILABLE": "Η δυνατότητα ενσωμάτωσης δεν είναι διαθέσιμη, ίσως χρειαστεί να εγκαταστήσετε την επέκταση pgvector στη βάση δεδομένων σας",
+45 -6
View File
@@ -208,6 +208,42 @@
"com.affine.ai.chat-panel.title": "AFFiNE AI",
"com.affine.ai.chat-panel.loading-history": "AFFiNE AI is loading history...",
"com.affine.ai.chat-panel.embedding-progress": "Embedding {{done}}/{{total}}",
"com.affine.ai.chat-panel.local-workspace-context-unavailable": "Local workspaces don't support attachments or references.",
"com.affine.ai.chat-panel.tool.canvas.reading": "Reading canvas",
"com.affine.ai.chat-panel.tool.canvas.read": "Read canvas of \"{{title}}\"",
"com.affine.ai.chat-panel.tool.canvas.read-untitled": "Read canvas",
"com.affine.ai.chat-panel.tool.canvas.failed": "Canvas read failed",
"com.affine.ai.chat-panel.tool.canvas.content": "Canvas content",
"com.affine.ai.chat-panel.tool.live.current-document": "Current document",
"com.affine.ai.chat-panel.tool.live.state-checking": "Checking editor state",
"com.affine.ai.chat-panel.tool.live.state-checked": "Checked editor state",
"com.affine.ai.chat-panel.tool.live.selection-reading": "Reading selection",
"com.affine.ai.chat-panel.tool.live.selection-read": "Read selection",
"com.affine.ai.chat-panel.tool.live.content-reading": "Reading editor content",
"com.affine.ai.chat-panel.tool.live.content-read": "Read editor content",
"com.affine.ai.chat-panel.tool.live.outline-reading": "Reading outline of \"{{title}}\"",
"com.affine.ai.chat-panel.tool.live.outline-read": "Read outline of \"{{title}}\"",
"com.affine.ai.chat-panel.tool.live.canvas-reading": "Reading canvas of \"{{title}}\"",
"com.affine.ai.chat-panel.tool.live.canvas-read": "Read canvas of \"{{title}}\"",
"com.affine.ai.chat-panel.tool.live.view-unavailable": "This view is not available in the current editor mode",
"com.affine.ai.chat-panel.tool.live.failed": "Live editor read failed",
"com.affine.ai.chat-panel.tool.live.mode": "{{mode}} mode",
"com.affine.ai.chat-panel.tool.live.blocks": "{{count}} blocks",
"com.affine.ai.chat-panel.tool.live.elements": "{{count}} elements",
"com.affine.ai.chat-panel.scope.document": "Document",
"com.affine.ai.chat-panel.scope.tag": "Tag",
"com.affine.ai.chat-panel.scope.collection": "Collection",
"com.affine.ai.chat-panel.scope.favorite": "Favorites",
"com.affine.ai.chat-panel.scope.artifact": "Attachment",
"com.affine.ai.chat-panel.scope.sources": "{{count}} sources",
"com.affine.ai.error.selectedSourcesProcessing": "Your selected sources are still processing. Try again shortly.",
"com.affine.ai.error.selectedSourcesFailed": "Some selected sources could not be processed. Try again; if the problem continues, remove them and send a new message.",
"com.affine.ai.error.selectedSourcesUnavailable": "One or more selected sources are unavailable. Check the sources or workspace AI indexing settings, then retry.",
"com.affine.ai.error.selectedSourcesLimitExceeded": "Too many sources or too much content was selected. Select fewer sources and send a new message.",
"com.affine.ai.error.retry": "Retry",
"com.affine.ai.chat-panel.tool-group.running": "Working… · {{count}} actions",
"com.affine.ai.chat-panel.tool-group.completed": "Completed {{count}} actions",
"com.affine.ai.chat-panel.tool-group.failed": "Completed {{count}} actions · {{failed}} failed",
"com.affine.ai.chat-panel.session.delete.confirm.title": "Delete this history?",
"com.affine.ai.chat-panel.session.delete.confirm.message": "Do you want to delete this AI conversation history? Once deleted, it cannot be recovered.",
"com.affine.ai.chat-panel.session.delete.toast.success": "History deleted",
@@ -1544,13 +1580,17 @@
"com.affine.settings.workspace.byok.field.provider-enabled": "Provider enabled",
"com.affine.settings.workspace.byok.field.api-key": "API key",
"com.affine.settings.workspace.byok.field.endpoint": "Endpoint",
"com.affine.settings.workspace.byok.field.dialect": "API dialect",
"com.affine.settings.workspace.byok.field.model-id": "Model ID",
"com.affine.settings.workspace.byok.endpoint.custom-disabled": "Custom endpoints are disabled by the server administrator. In Self-hosted Admin, enable copilot.byok.allowCustomEndpoint.",
"com.affine.settings.workspace.byok.endpoint.private-disabled": "Private network endpoints additionally require the server administrator to enable copilot.byok.allowPrivateEndpoint.",
"com.affine.settings.workspace.byok.placeholder.keep-current-key": "Leave blank to keep the current key",
"com.affine.settings.workspace.byok.placeholder.model-id": "Model ID",
"com.affine.settings.workspace.byok.placeholder.search-models": "Search models…",
"com.affine.settings.workspace.byok.placeholder.dialect": "Select an API dialect",
"com.affine.settings.workspace.byok.endpoint.use-custom": "Use a custom API-compatible endpoint",
"com.affine.settings.workspace.byok.dialect.responses": "Responses API",
"com.affine.settings.workspace.byok.dialect.chat-completions": "Chat Completions API",
"com.affine.settings.workspace.byok.probe.include-image": "Include an image generation request when testing (provider charges may apply)",
"com.affine.settings.workspace.byok.probe.verified": "Connection verified",
"com.affine.settings.workspace.byok.probe.failed": "Connection failed",
@@ -2481,17 +2521,16 @@
"error.COPILOT_PROMPT_INVALID": "Copilot prompt is invalid.",
"error.COPILOT_PROVIDER_NOT_SUPPORTED": "Copilot provider {{provider}} does not support output type {{kind}}",
"error.COPILOT_PROVIDER_SIDE_ERROR": "Provider {{provider}} failed with {{kind}} error: {{message}}",
"error.COPILOT_INVALID_CONTEXT": "Invalid copilot context {{contextId}}.",
"error.COPILOT_CONTEXT_FILE_NOT_SUPPORTED": "File {{fileName}} is not supported to use as context: {{message}}",
"error.COPILOT_FAILED_TO_MODIFY_CONTEXT": "Failed to modify context {{contextId}}: {{message}}",
"error.COPILOT_FAILED_TO_MATCH_CONTEXT": "Failed to match context {{contextId}} with \"%7B%7Bcontent%7D%7D\": {{message}}",
"error.COPILOT_FAILED_TO_MATCH_GLOBAL_CONTEXT": "Failed to match context in workspace {{workspaceId}} with \"%7B%7Bcontent%7D%7D\": {{message}}",
"error.COPILOT_EMBEDDING_DISABLED": "Embedding feature is disabled, please contact the administrator to enable it in the workspace settings.",
"error.COPILOT_EMBEDDING_UNAVAILABLE": "Embedding feature not available, you may need to install pgvector extension to your database",
"error.COPILOT_SELECTED_SOURCES_PROCESSING": "Selected sources are still processing. Try again shortly.",
"error.COPILOT_SELECTED_SOURCES_FAILED": "Selected sources could not be processed. Remove the failed source or try again.",
"error.COPILOT_SELECTED_SOURCES_UNAVAILABLE": "Selected sources are not available for AI retrieval.",
"error.COPILOT_SELECTED_SOURCES_LIMIT_EXCEEDED": "Too many or too much content was selected. Select fewer sources and try again.",
"error.COPILOT_FAILED_TO_ADD_WORKSPACE_ARTIFACT": "Failed to add workspace artifact: {{message}}",
"error.COPILOT_TRANSCRIPTION_JOB_EXISTS": "Transcription job already exists",
"error.COPILOT_TRANSCRIPTION_JOB_NOT_FOUND": "Transcription job not found.",
"error.COPILOT_TRANSCRIPTION_AUDIO_NOT_PROVIDED": "Audio not provided.",
"error.COPILOT_FAILED_TO_ADD_WORKSPACE_FILE_EMBEDDING": "Failed to add workspace file embedding: {{message}}",
"error.BLOB_QUOTA_EXCEEDED": "You have exceeded your blob size quota.",
"error.STORAGE_QUOTA_EXCEEDED": "You have exceeded your storage quota.",
"error.MEMBER_QUOTA_EXCEEDED": "You have exceeded your workspace member quota.",
@@ -2126,10 +2126,7 @@
"error.COPILOT_PROMPT_INVALID": "Solicitud Copilot no válida.",
"error.COPILOT_PROVIDER_NOT_SUPPORTED": "El proveedor de Copilot {{provider}} no soporta el tipo de salida {{kind}}",
"error.COPILOT_PROVIDER_SIDE_ERROR": "El proveedor {{provider}} falló con el error {{kind}}: {{message}}",
"error.COPILOT_INVALID_CONTEXT": "Contexto de copiloto inválido {{contextId}}.",
"error.COPILOT_CONTEXT_FILE_NOT_SUPPORTED": "El archivo {{fileName}} no se admite para usar como contexto: {{message}}",
"error.COPILOT_FAILED_TO_MODIFY_CONTEXT": "Error al modificar el contexto {{contextId}}: {{message}}",
"error.COPILOT_FAILED_TO_MATCH_CONTEXT": "Error al emparejar el contexto {{contextId}} con \"%7B%7Bcontent%7D%7D\": {{message}}",
"error.COPILOT_FAILED_TO_MATCH_GLOBAL_CONTEXT": "Error al emparejar el contexto en el espacio de trabajo {{workspaceId}} con \"%7B%7Bcontent%7D%7D\": {{message}}",
"error.COPILOT_EMBEDDING_DISABLED": "La función de incrustación está deshabilitada, comuníquese con el administrador para habilitarla en la configuración del espacio de trabajo.",
"error.COPILOT_EMBEDDING_UNAVAILABLE": "Función de embeber no disponible, puede que necesites instalar la extensión pgvector en tu base de datos",
@@ -2124,10 +2124,7 @@
"error.COPILOT_PROMPT_INVALID": "پیشنهاد Copilot نامعتبر است.",
"error.COPILOT_PROVIDER_NOT_SUPPORTED": "ارائه‌دهنده Copilot {{provider}} از نوع خروجی {{kind}} پشتیبانی نمی‌کند",
"error.COPILOT_PROVIDER_SIDE_ERROR": "ارائه‌دهنده {{provider}} با خطای {{kind}} ناموفق: {{message}}",
"error.COPILOT_INVALID_CONTEXT": "زمینه نادرست {{contextId}}.",
"error.COPILOT_CONTEXT_FILE_NOT_SUPPORTED": "فایل {{fileName}} برای استفاده به عنوان زمینه پشتیبانی نمی‌شود: {{message}}",
"error.COPILOT_FAILED_TO_MODIFY_CONTEXT": "عدم موفقیت در اصلاح زمینه {{contextId}}: {{message}}",
"error.COPILOT_FAILED_TO_MATCH_CONTEXT": "عدم موفقیت در تطابق زمینه {{contextId}} با \"%7B%7Bcontent%7D%7D\": {{message}}",
"error.COPILOT_FAILED_TO_MATCH_GLOBAL_CONTEXT": "عدم موفقیت در تطابق زمینه در فضای کاری {{workspaceId}} با \"%7B%7Bcontent%7D%7D\": {{message}}",
"error.COPILOT_EMBEDDING_DISABLED": "ویژگی تعبیه غیرفعال است، لطفاً با مدیر تماس بگیرید تا آن را در تنظیمات فضای کاری فعال کند.",
"error.COPILOT_EMBEDDING_UNAVAILABLE": "ویژگی جاسازی در دسترس نیست، ممکن است نیاز به نصب افزونه pgvector در پایگاه داده خود داشته باشید",
@@ -2155,10 +2155,7 @@
"error.COPILOT_PROMPT_INVALID": "L'invite copilote est invalide.",
"error.COPILOT_PROVIDER_NOT_SUPPORTED": "Le fournisseur de copilote {{provider}} ne prend pas en charge le type de sortie {{kind}}",
"error.COPILOT_PROVIDER_SIDE_ERROR": "Le fournisseur {{provider}} a échoué avec une erreur de type {{kind}} : {{message}}",
"error.COPILOT_INVALID_CONTEXT": "Contexte du copilote invalide {{contextId}}.",
"error.COPILOT_CONTEXT_FILE_NOT_SUPPORTED": "Le fichier {{fileName}} ne peut pas être utilisé comme contexte : {{message}}",
"error.COPILOT_FAILED_TO_MODIFY_CONTEXT": "Impossible de modifier le contexte {{contextId}} : {{message}}",
"error.COPILOT_FAILED_TO_MATCH_CONTEXT": "Impossible de faire correspondre le contexte {{contextId}} avec \"%7B%7Bcontent%7D%7D\": {{message}}",
"error.COPILOT_FAILED_TO_MATCH_GLOBAL_CONTEXT": "Échec du contexte correspondant dans l'espace de travail {{workspaceId}} avec \"%7B%7Bcontent%7D%7D\": {{message}}",
"error.COPILOT_EMBEDDING_DISABLED": "La fonction d'intégration est désactivée, veuillez contacter l'administrateur pour l'activer dans les paramètres de l'espace de travail.",
"error.COPILOT_EMBEDDING_UNAVAILABLE": "Fonction d'intégration non disponible, vous devrez peut-être installer l'extension pgvector sur votre base de données",
@@ -2156,10 +2156,7 @@
"error.COPILOT_PROMPT_INVALID": "Prompt Copilot non valido.",
"error.COPILOT_PROVIDER_NOT_SUPPORTED": "Il fornitore Copilot {{provider}} non supporta il tipo di output {{kind}}",
"error.COPILOT_PROVIDER_SIDE_ERROR": "Il fornitore {{provider}} ha avuto un errore di tipo {{kind}}: {{message}}",
"error.COPILOT_INVALID_CONTEXT": "Contesto copilot non valido {{contextId}}.",
"error.COPILOT_CONTEXT_FILE_NOT_SUPPORTED": "Il file {{fileName}} non è supportato come contesto: {{message}}",
"error.COPILOT_FAILED_TO_MODIFY_CONTEXT": "Impossibile modificare il contesto {{contextId}}: {{message}}",
"error.COPILOT_FAILED_TO_MATCH_CONTEXT": "Impossibile abbinare il contesto {{contextId}} con \"%7B%7Bcontent%7D%7D\": {{message}}",
"error.COPILOT_FAILED_TO_MATCH_GLOBAL_CONTEXT": "Impossibile abbinare il contesto nello spazio di lavoro {{workspaceId}} con \"%7B%7Bcontent%7D%7D\": {{message}}",
"error.COPILOT_EMBEDDING_DISABLED": "La funzione di incorporamento è disabilitata, contatta l'amministratore per abilitarla nelle impostazioni dello spazio di lavoro.",
"error.COPILOT_EMBEDDING_UNAVAILABLE": "Funzione di incorporamento non disponibile, potrebbe essere necessario installare l'estensione pgvector nel tuo database",
@@ -2124,10 +2124,7 @@
"error.COPILOT_PROMPT_INVALID": "Copilotプロンプトが無効です。",
"error.COPILOT_PROVIDER_NOT_SUPPORTED": "コパイロットプロバイダー{{provider}}は出力タイプ{{kind}}をサポートしていません",
"error.COPILOT_PROVIDER_SIDE_ERROR": "プロバイダー{{provider}}で{{kind}}エラーが発生しました:{{message}}",
"error.COPILOT_INVALID_CONTEXT": "無効なコパイロットのコンテキスト {{contextId}}。",
"error.COPILOT_CONTEXT_FILE_NOT_SUPPORTED": "ファイル {{fileName}} はコンテキストとして使用するのはサポートされていません: {{message}}",
"error.COPILOT_FAILED_TO_MODIFY_CONTEXT": "コンテキスト {{contextId}} の修正に失敗しました: {{message}}",
"error.COPILOT_FAILED_TO_MATCH_CONTEXT": "\"%7B%7Bcontent%7D%7D\" とのコンテキスト {{contextId}} の一致に失敗しました: {{message}}",
"error.COPILOT_FAILED_TO_MATCH_GLOBAL_CONTEXT": "ワークスペース{{workspaceId}}に\"%7B%7Bcontent%7D%7D\"とのコンテキスト一致に失敗しました: {{message}}",
"error.COPILOT_EMBEDDING_DISABLED": "埋め込み機能が無効になっています。ワークスペース設定で管理者に無効化を依頼してください。",
"error.COPILOT_EMBEDDING_UNAVAILABLE": "埋め込み機能は利用できません。pgvector拡張機能をデータベースにインストールする必要があるかもしれません",
@@ -2298,10 +2298,7 @@
"error.COPILOT_PROMPT_INVALID": "Copilot промпты жарамсыз.",
"error.COPILOT_PROVIDER_NOT_SUPPORTED": "{{provider}} Copilot провайдері {{kind}} шығару түрін қолдамайды",
"error.COPILOT_PROVIDER_SIDE_ERROR": "{{provider}} провайдерінде {{kind}} қатесі шықты: {{message}}",
"error.COPILOT_INVALID_CONTEXT": "Жарамсыз Copilot мәнмәтіні: {{contextId}}.",
"error.COPILOT_CONTEXT_FILE_NOT_SUPPORTED": "{{fileName}} файлын мәнмәтін ретінде пайдалануға қолдау көрсетілмейді: {{message}}",
"error.COPILOT_FAILED_TO_MODIFY_CONTEXT": "{{contextId}} мәнмәтінін өзгерту сәтсіз аяқталды: {{message}}",
"error.COPILOT_FAILED_TO_MATCH_CONTEXT": "{{contextId}} мәнмәтінін \"%7B%7Bcontent%7D%7D\"-мен сәйкестендіру сәтсіз аяқталды: {{message}}",
"error.COPILOT_FAILED_TO_MATCH_GLOBAL_CONTEXT": "{{workspaceId}} жұмыс кеңістігіндегі мәнмәтінді \"%7B%7Bcontent%7D%7D\"-мен сәйкестендіру сәтсіз аяқталды: {{message}}",
"error.COPILOT_EMBEDDING_DISABLED": "Ендіру функциясы өшірілген, оны жұмыс кеңістігінің баптауларында қосу үшін әкімшіге хабарлас.",
"error.COPILOT_EMBEDDING_UNAVAILABLE": "Ендіру функциясы қолжетімсіз, дерекқорыңа pgvector кеңейтімін орнату қажет болуы мүмкін",
@@ -2144,10 +2144,7 @@
"error.COPILOT_PROMPT_INVALID": "코파일럿 프롬프트가 잘못되었습니다.",
"error.COPILOT_PROVIDER_NOT_SUPPORTED": "코파일럿 제공자 {{provider}}가 출력 유형 {{kind}}을(를) 지원하지 않습니다",
"error.COPILOT_PROVIDER_SIDE_ERROR": "제공자 {{provider}}가 {{kind}} 오류로 실패했습니다: {{message}}",
"error.COPILOT_INVALID_CONTEXT": "잘못된 코파일럿 컨텍스트 {{contextId}}입니다.",
"error.COPILOT_CONTEXT_FILE_NOT_SUPPORTED": "파일 {{fileName}}은(는) 컨텍스트로 사용할 수 없습니다: {{message}}",
"error.COPILOT_FAILED_TO_MODIFY_CONTEXT": "컨텍스트 {{contextId}} 수정에 실패했습니다: {{message}}",
"error.COPILOT_FAILED_TO_MATCH_CONTEXT": "컨텍스트 {{contextId}}을(를) \"%7B%7Bcontent%7D%7D\"와(과) 일치시키는 데 실패했습니다: {{message}}",
"error.COPILOT_FAILED_TO_MATCH_GLOBAL_CONTEXT": "워크스페이스 {{workspaceId}}의 컨텍스트를 \"%7B%7Bcontent%7D%7D\"와(과) 일치시키는 데 실패했습니다: {{message}}",
"error.COPILOT_EMBEDDING_DISABLED": "임베딩 기능이 비활성화되었습니다. 워크스페이스 설정에서 활성화하려면 관리자에게 문의하세요.",
"error.COPILOT_EMBEDDING_UNAVAILABLE": "임베딩 기능을 사용할 수 없습니다. 데이터베이스에 pgvector 확장을 설치해야 할 수 있습니다",
@@ -2157,10 +2157,7 @@
"error.COPILOT_PROMPT_INVALID": "Polecenie Copilot jest nieprawidłowe.",
"error.COPILOT_PROVIDER_NOT_SUPPORTED": "Dostawca Copilot {{provider}} nie obsługuje typu wyjściowego {{kind}}",
"error.COPILOT_PROVIDER_SIDE_ERROR": "Dostawca {{provider}} zakończył się niepowodzeniem z błędem {{kind}}: {{message}}",
"error.COPILOT_INVALID_CONTEXT": "Nieprawidłowy kontekst copilot {{contextId}}.",
"error.COPILOT_CONTEXT_FILE_NOT_SUPPORTED": "Plik {{fileName}} nie jest obsługiwany jako kontekst: {{message}}",
"error.COPILOT_FAILED_TO_MODIFY_CONTEXT": "Nie udało się zmodyfikować kontekstu {{contextId}}: {{message}}",
"error.COPILOT_FAILED_TO_MATCH_CONTEXT": "Nie udało się dopasować kontekstu {{contextId}} z \"%7B%7Bcontent%7D%7D\": {{message}}",
"error.COPILOT_FAILED_TO_MATCH_GLOBAL_CONTEXT": "Nie udało się dopasować kontekstu w przestrzeni roboczej {{workspaceId}} z \"%7B%7Bcontent%7D%7D\": {{message}}",
"error.COPILOT_EMBEDDING_DISABLED": "Funkcja osadzania jest wyłączona, skontaktuj się z administratorem, aby ją włączyć w ustawieniach przestrzeni roboczej.",
"error.COPILOT_EMBEDDING_UNAVAILABLE": "Funkcja osadzania niedostępna, może być potrzebna instalacja rozszerzenia pgvector do Twojej bazy danych",
@@ -2124,10 +2124,7 @@
"error.COPILOT_PROMPT_INVALID": "Prompt do Copilot é inválido.",
"error.COPILOT_PROVIDER_NOT_SUPPORTED": "O provedor Copilot {{provider}} não suporta tipo de saída {{kind}}",
"error.COPILOT_PROVIDER_SIDE_ERROR": "Provedor {{provider}} falhou com erro {{kind}}: {{message}}",
"error.COPILOT_INVALID_CONTEXT": "Contexto de copiloto inválido {{contextId}}.",
"error.COPILOT_CONTEXT_FILE_NOT_SUPPORTED": "O arquivo {{fileName}} não é suportado como contexto: {{message}}",
"error.COPILOT_FAILED_TO_MODIFY_CONTEXT": "Falha ao modificar o contexto {{contextId}}: {{message}}",
"error.COPILOT_FAILED_TO_MATCH_CONTEXT": "Falha ao casar o contexto {{contextId}} com \"%7B%7Bcontent%7D%7D\": {{message}}",
"error.COPILOT_FAILED_TO_MATCH_GLOBAL_CONTEXT": "Falha ao casar o contexto no espaço de trabalho {{workspaceId}} com \"%7B%7Bcontent%7D%7D\": {{message}}",
"error.COPILOT_EMBEDDING_DISABLED": "O recurso de incorporação está desativado, por favor contate o administrador para ativá-lo nas configurações do espaço de trabalho.",
"error.COPILOT_EMBEDDING_UNAVAILABLE": "Recurso de incorporação não disponível, você pode precisar instalar a extensão pgvector no seu banco de dados",
@@ -2176,10 +2176,7 @@
"error.COPILOT_PROMPT_INVALID": "Запрос Copilot недействителен.",
"error.COPILOT_PROVIDER_NOT_SUPPORTED": "Провайдер Copilot {{provider}} не поддерживает тип вывода {{kind}}",
"error.COPILOT_PROVIDER_SIDE_ERROR": "Провайдер {{provider}} завершился с ошибкой {{kind}}: {{message}}",
"error.COPILOT_INVALID_CONTEXT": "Недействительный контекст копилота {{contextId}}.",
"error.COPILOT_CONTEXT_FILE_NOT_SUPPORTED": "Файл {{fileName}} не поддерживается для использования в качестве контекста: {{message}}",
"error.COPILOT_FAILED_TO_MODIFY_CONTEXT": "Не удалось изменить контекст {{contextId}}: {{message}}",
"error.COPILOT_FAILED_TO_MATCH_CONTEXT": "Не удалось сопоставить контекст {{contextId}} с \"%7B%7Bcontent%7D%7D\": {{message}}",
"error.COPILOT_FAILED_TO_MATCH_GLOBAL_CONTEXT": "Не удалось сопоставить контекст в рабочем пространстве {{workspaceId}} с \"%7B%7Bcontent%7D%7D\": {{message}}",
"error.COPILOT_EMBEDDING_DISABLED": "Функция встраивания отключена, пожалуйста, свяжитесь с администратором, чтобы включить её в настройках рабочего пространства.",
"error.COPILOT_EMBEDDING_UNAVAILABLE": "Функция внедрения недоступна, возможно, вам нужно установить расширение pgvector в вашу базу данных",
@@ -2131,10 +2131,7 @@
"error.COPILOT_PROMPT_INVALID": "Copilot-prompt är ogiltig.",
"error.COPILOT_PROVIDER_NOT_SUPPORTED": "Copilot-leverantör {{provider}} stöder inte utmatningstyp {{kind}}",
"error.COPILOT_PROVIDER_SIDE_ERROR": "Leverantör {{provider}} misslyckades med {{kind}} fel: {{message}}",
"error.COPILOT_INVALID_CONTEXT": "Ogiltigt copilot-kontekst {{contextId}}.",
"error.COPILOT_CONTEXT_FILE_NOT_SUPPORTED": "Fil {{fileName}} stöds inte för användning som kontekst: {{message}}",
"error.COPILOT_FAILED_TO_MODIFY_CONTEXT": "Misslyckades med att ändra kontekst {{contextId}}: {{message}}",
"error.COPILOT_FAILED_TO_MATCH_CONTEXT": "Misslyckades med att matcha kontekst {{contextId}} med \"%7B%7Bcontent%7D%7D\": {{message}}",
"error.COPILOT_FAILED_TO_MATCH_GLOBAL_CONTEXT": "Misslyckades med att matcha kontekst i arbetsyta {{workspaceId}} med \"%7B%7Bcontent%7D%7D\": {{message}}",
"error.COPILOT_EMBEDDING_DISABLED": "Inbäddningsfunktionen är avaktiverad, vänligen kontakta administratören för att aktivera den i arbetsyteinställningarna.",
"error.COPILOT_EMBEDDING_UNAVAILABLE": "Inbäddningsfunktionen är inte tillgänglig, du kan behöva installera pgvector-tillägg till din databas",
@@ -2298,10 +2298,7 @@
"error.COPILOT_PROMPT_INVALID": "Yardımcı pilot istemi geçersiz.",
"error.COPILOT_PROVIDER_NOT_SUPPORTED": "Yardımcı pilot sağlayıcısı {{provider}}, {{kind}} çıktı türünü desteklemiyor",
"error.COPILOT_PROVIDER_SIDE_ERROR": "{{provider}} sağlayıcısı {{kind}} hatasıyla başarısız oldu: {{message}}",
"error.COPILOT_INVALID_CONTEXT": "Geçersiz yardımcı pilot bağlamı {{contextId}}.",
"error.COPILOT_CONTEXT_FILE_NOT_SUPPORTED": "{{fileName}} dosyasının bağlam olarak kullanılması desteklenmiyor: {{message}}",
"error.COPILOT_FAILED_TO_MODIFY_CONTEXT": "Bağlam değiştirilemedi {{contextId}}: {{message}}",
"error.COPILOT_FAILED_TO_MATCH_CONTEXT": "{{contextId}} bağlamı \"%7B%7Bcontent%7D%7D\" ile eşleştirilemedi: {{message}}",
"error.COPILOT_FAILED_TO_MATCH_GLOBAL_CONTEXT": "{{workspaceId}} çalışma alanındaki bağlam \"%7B%7Bcontent%7D%7D\" ile eşleştirilemedi: {{message}}",
"error.COPILOT_EMBEDDING_DISABLED": "Katıştırma özelliği devre dışı bırakıldı. Çalışma alanı ayarlarında bu özelliği etkinleştirmek için lütfen yöneticiyle iletişime geçin.",
"error.COPILOT_EMBEDDING_UNAVAILABLE": "Gömme özelliği mevcut değil, veritabanınıza pgvector uzantısını yüklemeniz gerekebilir",
@@ -2124,10 +2124,7 @@
"error.COPILOT_PROMPT_INVALID": "Запит Copilot недійсний.",
"error.COPILOT_PROVIDER_NOT_SUPPORTED": "Провайдер Copilot {{provider}} не підтримує тип виходу {{kind}}",
"error.COPILOT_PROVIDER_SIDE_ERROR": "Постачальник {{provider}} зазнав невдачі з помилкою {{kind}}: {{message}}",
"error.COPILOT_INVALID_CONTEXT": "Недійсний контекст копілота {{contextId}}.",
"error.COPILOT_CONTEXT_FILE_NOT_SUPPORTED": "Файл {{fileName}} не підтримується як контекст: {{message}}",
"error.COPILOT_FAILED_TO_MODIFY_CONTEXT": "Не вдалося змінити контекст {{contextId}}: {{message}}",
"error.COPILOT_FAILED_TO_MATCH_CONTEXT": "Не вдалося зіставити контекст {{contextId}} з \"%7B%7Bcontent%7D%7D\": {{message}}",
"error.COPILOT_FAILED_TO_MATCH_GLOBAL_CONTEXT": "Не вдалося зіставити контекст у робочому просторі {{workspaceId}} з \"%7B%7Bcontent%7D%7D\": {{message}}",
"error.COPILOT_EMBEDDING_DISABLED": "Функція вбудовування відключена, будь ласка, зверніться до адміністратора для її увімкнення в налаштуваннях робочого простору.",
"error.COPILOT_EMBEDDING_UNAVAILABLE": "Функція вставки недоступна, можливо, вам потрібно встановити розширення pgvector у вашу базу даних",
@@ -2214,10 +2214,7 @@
"error.COPILOT_FAILED_TO_CREATE_MESSAGE": "چیٹ پیغام بنانے میں ناکام۔",
"error.COPILOT_FAILED_TO_GENERATE_EMBEDDING": "{{provider}} کے ساتھ سرایت پیدا کرنے میں ناکام: {{message}}",
"error.COPILOT_FAILED_TO_GENERATE_TEXT": "متن بنانے میں ناکام۔",
"error.COPILOT_FAILED_TO_MATCH_CONTEXT": "سیاق و سباق {{contextId}} کو \"%7B%7Bcontent%7D%7D\" کے ساتھ ملانے میں ناکام: {{message}}",
"error.COPILOT_FAILED_TO_MATCH_GLOBAL_CONTEXT": "ورک اسپیس {{workspaceId}} میں سیاق و سباق کو \"%7B%7Bcontent%7D%7D\" کے ساتھ ملانے میں ناکام: {{message}}",
"error.COPILOT_FAILED_TO_MODIFY_CONTEXT": "سیاق و سباق میں ترمیم کرنے میں ناکام {{contextId}}: {{message}}",
"error.COPILOT_INVALID_CONTEXT": "غلط copilot سیاق و سباق {{contextId}}۔",
"error.COPILOT_MESSAGE_NOT_FOUND": "copilot پیغام {{messageId}} نہیں ملا۔",
"error.COPILOT_PROMPT_INVALID": "کوپائلٹ پرامپٹ غلط ہے۔",
"error.COPILOT_PROMPT_NOT_FOUND": "copilot prompt {{name}} نہیں ملا۔",
@@ -208,6 +208,14 @@
"com.affine.ai.chat-panel.title": "AFFiNE AI",
"com.affine.ai.chat-panel.loading-history": "AFFiNE AI 正在加载历史记录...",
"com.affine.ai.chat-panel.embedding-progress": "嵌入 {{done}}/{{total}}",
"com.affine.ai.chat-panel.local-workspace-context-unavailable": "本地工作区暂不支持附件或引用。",
"com.affine.ai.chat-panel.tool.canvas.reading": "正在读取画布",
"com.affine.ai.chat-panel.tool.canvas.read": "已读取“{{title}}”的画布",
"com.affine.ai.chat-panel.tool.canvas.read-untitled": "已读取画布",
"com.affine.ai.chat-panel.tool.canvas.failed": "画布读取失败",
"com.affine.ai.chat-panel.tool-group.running": "正在处理… · {{count}} 个操作",
"com.affine.ai.chat-panel.tool-group.completed": "已完成 {{count}} 个操作",
"com.affine.ai.chat-panel.tool-group.failed": "已完成 {{count}} 个操作 · {{failed}} 个失败",
"com.affine.ai.chat-panel.session.delete.confirm.title": "删除此历史记录?",
"com.affine.ai.chat-panel.session.delete.confirm.message": "确定要删除这段 AI 对话历史记录吗?删除后无法恢复。",
"com.affine.ai.chat-panel.session.delete.toast.success": "已删除历史记录",
@@ -2401,10 +2409,7 @@
"error.COPILOT_PROMPT_INVALID": "Copilot 提示无效。",
"error.COPILOT_PROVIDER_NOT_SUPPORTED": "{{provider}} 的 Copilot 提供商不支持输出类型 {{kind}}",
"error.COPILOT_PROVIDER_SIDE_ERROR": "提供者 {{provider}} 遇到 {{kind}} 错误:{{message}}",
"error.COPILOT_INVALID_CONTEXT": "无效的协作机器人上下文 {{contextId}}。",
"error.COPILOT_CONTEXT_FILE_NOT_SUPPORTED": "文件 {{fileName}} 不支持用作上下文:{{message}}",
"error.COPILOT_FAILED_TO_MODIFY_CONTEXT": "修改上下文 {{contextId}} 失败: {{message}}",
"error.COPILOT_FAILED_TO_MATCH_CONTEXT": "未能使用 \"%7B%7Bcontent%7D%7D\" 匹配上下文 {{contextId}}{{message}}",
"error.COPILOT_FAILED_TO_MATCH_GLOBAL_CONTEXT": "未能在工作区 {{workspaceId}} 中使用 \"%7B%7Bcontent%7D%7D\" 匹配上下文:{{message}}",
"error.COPILOT_EMBEDDING_DISABLED": "嵌入功能已禁用,请联系管理员在工作区设置中启用它。",
"error.COPILOT_EMBEDDING_UNAVAILABLE": "嵌入功能不可用,您可能需要在数据库中安装 pgvector 扩展",
@@ -207,6 +207,14 @@
"com.affine.ai.chat-panel.title": "AFFiNE AI",
"com.affine.ai.chat-panel.loading-history": "AFFiNE AI 正在載入歷史記錄...",
"com.affine.ai.chat-panel.embedding-progress": "嵌入 {{done}}/{{total}}",
"com.affine.ai.chat-panel.local-workspace-context-unavailable": "本機工作區暫不支援附件或引用。",
"com.affine.ai.chat-panel.tool.canvas.reading": "正在讀取畫布",
"com.affine.ai.chat-panel.tool.canvas.read": "已讀取「{{title}}」的畫布",
"com.affine.ai.chat-panel.tool.canvas.read-untitled": "已讀取畫布",
"com.affine.ai.chat-panel.tool.canvas.failed": "畫布讀取失敗",
"com.affine.ai.chat-panel.tool-group.running": "正在處理… · {{count}} 個操作",
"com.affine.ai.chat-panel.tool-group.completed": "已完成 {{count}} 個操作",
"com.affine.ai.chat-panel.tool-group.failed": "已完成 {{count}} 個操作 · {{failed}} 個失敗",
"com.affine.ai.chat-panel.session.delete.confirm.title": "刪除此歷史記錄?",
"com.affine.ai.chat-panel.session.delete.confirm.message": "確定要刪除這段 AI 對話歷史記錄嗎?刪除後無法復原。",
"com.affine.ai.chat-panel.session.delete.toast.success": "已刪除歷史記錄",
@@ -2177,10 +2185,7 @@
"error.COPILOT_PROMPT_INVALID": "Copilot 提示無效。",
"error.COPILOT_PROVIDER_NOT_SUPPORTED": "{{provider}} 的 Copilot 提供商不支持輸出類型 {{kind}}",
"error.COPILOT_PROVIDER_SIDE_ERROR": "提供者 {{provider}} 遇到 {{kind}} 錯誤:{{message}}",
"error.COPILOT_INVALID_CONTEXT": "無效的協作機器人上下文 {{contextId}}。",
"error.COPILOT_CONTEXT_FILE_NOT_SUPPORTED": "文件 {{fileName}} 不支持用作上下文:{{message}}",
"error.COPILOT_FAILED_TO_MODIFY_CONTEXT": "修改上下文 {{contextId}} 失敗: {{message}}",
"error.COPILOT_FAILED_TO_MATCH_CONTEXT": "未能使用 \"%7B%7Bcontent%7D%7D\" 匹配上下文 {{contextId}}{{message}}",
"error.COPILOT_FAILED_TO_MATCH_GLOBAL_CONTEXT": "未能在工作區 {{workspaceId}} 中使用 \"%7B%7Bcontent%7D%7D\" 匹配上下文:{{message}}",
"error.COPILOT_EMBEDDING_DISABLED": "嵌入功能已禁用,請聯系管理員在工作區設置中啟用它。",
"error.COPILOT_EMBEDDING_UNAVAILABLE": "嵌入功能不可用,您可能需要安裝 pgvector 擴展到您的數據庫",