Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -141,7 +141,7 @@ _A large feature release — a full visual refresh plus smarter, more responsive
- **Enable session history:** Toggle whether to save agent session history.
- **Plugin state folder:** Choose the folder within your vault to store plugin data (agent sessions and custom prompts).
- **Custom Prompts:**
- **Allow System Prompt Override:** Legacy toggle, currently non-functional — a prompt's own `override_system_prompt: true` frontmatter controls the replacement regardless of this setting. See the [Custom Prompts Guide](docs/guide/custom-prompts.md#system-prompt-override).
- **System Prompt Override:** Set `override_system_prompt: true` in a custom prompt's frontmatter to replace the built-in system instructions. There is no global toggle. See the [Custom Prompts Guide](docs/guide/custom-prompts.md#system-prompt-override).
- **UI Settings:**
- **Enable streaming:** Toggle streaming responses for a more interactive chat experience.
- **Advanced Settings:** (Click "Show advanced settings" to reveal)
Expand Down
4 changes: 2 additions & 2 deletions docs/guide/custom-prompts.md
Original file line number Diff line number Diff line change
Expand Up @@ -165,8 +165,8 @@ For advanced users who want complete control:
1. Set `override_system_prompt: true` in your prompt file
2. Your prompt will completely replace the default system instructions

The frontmatter field alone controls this — the "Allow system prompt override" toggle in
plugin settings does not currently gate it.
The frontmatter field alone controls this; no plugin setting is required. Omit it or set it to
`false` to add your instructions to the built-in system prompt instead of replacing it.

**Warning:** Use with caution as this removes built-in safety features and Obsidian-specific knowledge.

Expand Down
10 changes: 4 additions & 6 deletions docs/reference/settings.md
Original file line number Diff line number Diff line change
Expand Up @@ -210,13 +210,11 @@ Because each provider uses its own settings fields, re-routing a feature between

Custom prompts allow you to create reusable AI instruction templates that modify how the AI behaves for specific sessions.

### Allow System Prompt Override (legacy, currently non-functional)
### System Prompt Override

- **Setting**: `allowSystemPromptOverride`
- **Type**: Boolean
- **Default**: `false`
- **Description**: Intended to gate whether custom prompts can completely replace the default system prompt. **Currently has no effect**: any prompt with `override_system_prompt: true` in its frontmatter replaces the system prompt regardless of this setting. Toggling it on or off does not change that behavior.
- **Warning**: Because the frontmatter flag alone controls the override, a custom prompt with `override_system_prompt: true` can break expected functionality if it doesn't include essential instructions — this setting will not prevent that.
A custom prompt replaces the default system instructions only when its frontmatter sets `override_system_prompt: true`. There is no global override toggle. Without that flag, the prompt adds instructions to the built-in system prompt.

**Warning:** A full override removes built-in instructions and Obsidian-specific knowledge. See the [Custom Prompts Guide](/guide/custom-prompts#system-prompt-override) before enabling it.

### Creating Custom Prompts

Expand Down
8 changes: 2 additions & 6 deletions src/i18n/cs.ts
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,7 @@ export const cs: Partial<Record<TranslationKey, string>> = {
'Složka, kde jsou ukládána data pluginu. Relace agentů se ukládají do Agent-Sessions/, vlastní prompty do Prompts/, háčky do Hooks/, stav plánovaných úloh do Scheduled-Tasks/.',
'settings.general.showAdvancedName': 'Zobrazit pokročilá nastavení',
'settings.general.showAdvancedDesc':
'Zobrazit pokročilé sekce (Vlastní prompty, Konfigurace API, Oprávnění nástrojů, Detekce smyček nástrojů, MCP servery, Ladění) pro pokročilé uživatele.',
'Zobrazit pokročilé sekce (Konfigurace API, Oprávnění nástrojů, Detekce smyček nástrojů, MCP servery, Ladění) pro pokročilé uživatele.',
'settings.general.modelListUpdatedSingular': 'Seznam modelů aktualizován: {count} model.',
'settings.general.modelListUpdated': 'Seznam modelů aktualizován: {count} modelů.',
'settings.general.refreshSkippedOffline': 'Přeskočeno: offline',
Expand Down Expand Up @@ -178,11 +178,7 @@ export const cs: Partial<Record<TranslationKey, string>> = {
'Zastavit provádění agenta, pokud volání nástroje selže. Pokud je zakázáno, agent bude pokračovat v provádění dalších nástrojů.',
'settings.agentConfig.sectionTitle': 'Konfigurace agenta',
'settings.agentConfig.sectionDesc':
'Vylaďte, jak agent komunikuje s modelem: vlastní prompty, parametry opakování/generování, shrnutí konverzace a ochrana proti smyčkám.',
'settings.agentConfig.customPromptsHeading': 'Vlastní prompty',
'settings.agentConfig.systemPromptOverrideName': 'Povolit přepsání systémového promptu',
'settings.agentConfig.systemPromptOverrideDesc':
'VAROVÁNÍ: Umožňuje vlastním promptům zcela nahradit systémový prompt. To může narušit očekávanou funkčnost.',
'Vylaďte, jak agent komunikuje s modelem: parametry opakování/generování, shrnutí konverzace a ochrana proti smyčkám.',
'settings.agentConfig.apiConfigurationHeading': 'Konfigurace API',
'settings.agentConfig.logToFileName': 'Zapisovat do souboru protokolu',
'settings.agentConfig.logToFileDesc':
Expand Down
8 changes: 2 additions & 6 deletions src/i18n/da.ts
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ export const da: Partial<Record<TranslationKey, string>> = {
'Mappe, hvor plugindata gemmes. Agentsessioner ligger under Agent-Sessions/, brugerdefinerede prompts under Prompts/, hooks under Hooks/, planlagte opgavestatusser under Scheduled-Tasks/.',
'settings.general.showAdvancedName': 'Vis avancerede indstillinger',
'settings.general.showAdvancedDesc':
'Vis avancerede sektioner (Brugerdefinerede prompts, API-konfiguration, Værktøjstilladelser, Detektering af værktøjsløkker, MCP-servere, Fejlfinding) for avancerede brugere.',
'Vis avancerede sektioner (API-konfiguration, Værktøjstilladelser, Detektering af værktøjsløkker, MCP-servere, Fejlfinding) for avancerede brugere.',
'settings.general.modelListUpdatedSingular': 'Modelliste opdateret: {count} model.',
'settings.general.modelListUpdated': 'Modelliste opdateret: {count} modeller.',
'settings.general.refreshSkippedOffline': 'Sprunget over: offline',
Expand Down Expand Up @@ -177,11 +177,7 @@ export const da: Partial<Record<TranslationKey, string>> = {
'Stop agentafvikling, når et værktøjskald mislykkes. Hvis deaktiveret, vil agenten fortsætte med at afvikle efterfølgende værktøjer.',
'settings.agentConfig.sectionTitle': 'Agentkonfiguration',
'settings.agentConfig.sectionDesc':
'Juster, hvordan agenten taler med modellen: brugerdefinerede prompts, parametre for genforsøg/generering, samtale-resuméer og loop-beskyttelse.',
'settings.agentConfig.customPromptsHeading': 'Brugerdefinerede prompts',
'settings.agentConfig.systemPromptOverrideName': 'Tillad tilsidesættelse af system-prompt',
'settings.agentConfig.systemPromptOverrideDesc':
'ADVARSEL: Giver mulighed for, at brugerdefinerede prompts fuldstændigt erstatter system-prompten. Dette kan ødelægge forventet funktionalitet.',
'Juster, hvordan agenten taler med modellen: parametre for genforsøg/generering, samtale-resuméer og loop-beskyttelse.',
'settings.agentConfig.apiConfigurationHeading': 'API-konfiguration',
'settings.agentConfig.logToFileName': 'Log til fil',
'settings.agentConfig.logToFileDesc':
Expand Down
8 changes: 2 additions & 6 deletions src/i18n/de.ts
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,7 @@ export const de: Partial<Record<TranslationKey, string>> = {
'Ordner, in dem Plugin-Daten gespeichert werden. Agenten-Sitzungen befinden sich unter Agent-Sessions/, benutzerdefinierte Prompts unter Prompts/, Hooks unter Hooks/, geplante Aufgabenstatus unter Scheduled-Tasks/.',
'settings.general.showAdvancedName': 'Erweiterte Einstellungen anzeigen',
'settings.general.showAdvancedDesc':
'Erweiterte Abschnitte (Benutzerdefinierte Prompts, API-Konfiguration, Tool-Berechtigungen, Tool-Schleifenerkennung, MCP-Server, Debug) für Power-User anzeigen.',
'Erweiterte Abschnitte (API-Konfiguration, Tool-Berechtigungen, Tool-Schleifenerkennung, MCP-Server, Debug) für Power-User anzeigen.',
'settings.general.modelListUpdatedSingular': 'Modellliste aktualisiert: {count} Modell.',
'settings.general.modelListUpdated': 'Modellliste aktualisiert: {count} Modelle.',
'settings.general.refreshSkippedOffline': 'Übersprungen: offline',
Expand Down Expand Up @@ -185,11 +185,7 @@ export const de: Partial<Record<TranslationKey, string>> = {
'Stoppt die Ausführung des Agenten, wenn ein Tool-Aufruf fehlschlägt. Wenn deaktiviert, führt der Agent nachfolgende Tools weiterhin aus.',
'settings.agentConfig.sectionTitle': 'Agenten-Konfiguration',
'settings.agentConfig.sectionDesc':
'Passen Sie an, wie der Agent mit dem Modell kommuniziert: benutzerdefinierte Prompts, Wiederholungs-/Generierungsparameter, Konversationszusammenfassung und Schleifenschutz.',
'settings.agentConfig.customPromptsHeading': 'Benutzerdefinierte Prompts',
'settings.agentConfig.systemPromptOverrideName': 'Überschreiben des System-Prompts erlauben',
'settings.agentConfig.systemPromptOverrideDesc':
'WARNUNG: Ermöglicht es benutzerdefinierten Prompts, den System-Prompt vollständig zu ersetzen. Dies kann die erwartete Funktionalität beeinträchtigen.',
'Passen Sie an, wie der Agent mit dem Modell kommuniziert: Wiederholungs-/Generierungsparameter, Konversationszusammenfassung und Schleifenschutz.',
'settings.agentConfig.apiConfigurationHeading': 'API-Konfiguration',
'settings.agentConfig.logToFileName': 'In Datei protokollieren',
'settings.agentConfig.logToFileDesc':
Expand Down
17 changes: 2 additions & 15 deletions src/i18n/en.ts
Original file line number Diff line number Diff line change
Expand Up @@ -434,7 +434,7 @@ export const en = {
},
'settings.general.showAdvancedDesc': {
message:
'Reveal advanced sections (Custom prompts, API configuration, Tool permissions, Tool loop detection, MCP servers, Debug) for power users.',
'Reveal advanced sections (API configuration, Tool permissions, Tool loop detection, MCP servers, Debug) for power users.',
context:
'Settings field description for the show-advanced toggle. The parenthesized names are section titles elsewhere in settings; translate them consistently with those section titles.',
},
Expand Down Expand Up @@ -623,22 +623,9 @@ export const en = {
},
'settings.agentConfig.sectionDesc': {
message:
'Tune how the agent talks to the model: custom prompts, retry/generation parameters, conversation summarization, and loop guards.',
'Tune how the agent talks to the model: retry/generation parameters, conversation summarization, and loop guards.',
context: 'Description under the Agent Config settings section title.',
},
'settings.agentConfig.customPromptsHeading': {
message: 'Custom prompts',
context: 'Sub-heading inside Agent Config settings, above custom prompt options.',
},
'settings.agentConfig.systemPromptOverrideName': {
message: 'Allow system prompt override',
context: 'Settings toggle name allowing custom prompts to replace the built-in system prompt.',
},
'settings.agentConfig.systemPromptOverrideDesc': {
message:
'WARNING: Allows custom prompts to completely replace the system prompt. This may break expected functionality.',
context: 'Settings toggle description with a warning about replacing the AI system prompt.',
},
'settings.agentConfig.apiConfigurationHeading': {
message: 'API configuration',
context: 'Sub-heading inside Agent Config settings, above API retry/endpoint options.',
Expand Down
8 changes: 2 additions & 6 deletions src/i18n/es.ts
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,7 @@ export const es: Partial<Record<TranslationKey, string>> = {
'Carpeta donde se guardan los datos del plugin. Las sesiones del agente se encuentran en Agent-Sessions/, los prompts personalizados en Prompts/, los hooks en Hooks/ y el estado de las tareas programadas en Scheduled-Tasks/.',
'settings.general.showAdvancedName': 'Mostrar configuración avanzada',
'settings.general.showAdvancedDesc':
'Muestra las secciones avanzadas (Prompts personalizados, Configuración de la API, Permisos de herramientas, Detección de bucles de herramientas, Servidores MCP, Depuración) para usuarios avanzados.',
'Muestra las secciones avanzadas (Configuración de la API, Permisos de herramientas, Detección de bucles de herramientas, Servidores MCP, Depuración) para usuarios avanzados.',
'settings.general.modelListUpdatedSingular': 'Lista de modelos actualizada: {count} modelo.',
'settings.general.modelListUpdated': 'Lista de modelos actualizada: {count} modelos.',
'settings.general.refreshSkippedOffline': 'Omitido: sin conexión',
Expand Down Expand Up @@ -183,11 +183,7 @@ export const es: Partial<Record<TranslationKey, string>> = {
'Detiene la ejecución del agente cuando falla la llamada a una herramienta. Si está desactivado, el agente continuará ejecutando las herramientas siguientes.',
'settings.agentConfig.sectionTitle': 'Configuración del agente',
'settings.agentConfig.sectionDesc':
'Ajusta cómo se comunica el agente con el modelo: prompts personalizados, parámetros de reintento/generación, resumen de conversaciones y protecciones contra bucles.',
'settings.agentConfig.customPromptsHeading': 'Prompts personalizados',
'settings.agentConfig.systemPromptOverrideName': 'Permitir la sustitución del prompt del sistema',
'settings.agentConfig.systemPromptOverrideDesc':
'ADVERTENCIA: Permite que los prompts personalizados reemplacen por completo el prompt del sistema. Esto puede romper el funcionamiento esperado.',
'Ajusta cómo se comunica el agente con el modelo: parámetros de reintento/generación, resumen de conversaciones y protecciones contra bucles.',
'settings.agentConfig.apiConfigurationHeading': 'Configuración de la API',
'settings.agentConfig.logToFileName': 'Registrar en archivo',
'settings.agentConfig.logToFileDesc':
Expand Down
8 changes: 2 additions & 6 deletions src/i18n/fr.ts
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,7 @@ export const fr: Partial<Record<TranslationKey, string>> = {
"Dossier où sont stockées les données du plugin. Les sessions d'agent se trouvent sous Agent-Sessions/, les invites personnalisées sous Prompts/, les hooks sous Hooks/, et l'état des tâches planifiées sous Scheduled-Tasks/.",
'settings.general.showAdvancedName': 'Afficher les paramètres avancés',
'settings.general.showAdvancedDesc':
"Afficher les sections avancées (Prompts personnalisés, Configuration de l'API, Autorisations des outils, Détection de boucle d'outils, Serveurs MCP, Débogage) pour les utilisateurs expérimentés.",
"Afficher les sections avancées (Configuration de l'API, Autorisations des outils, Détection de boucle d'outils, Serveurs MCP, Débogage) pour les utilisateurs expérimentés.",
'settings.general.modelListUpdatedSingular': 'Liste des modèles mise à jour : {count} modèle.',
'settings.general.modelListUpdated': 'Liste des modèles mise à jour : {count} modèles.',
'settings.general.refreshSkippedOffline': 'Ignoré : hors ligne',
Expand Down Expand Up @@ -184,11 +184,7 @@ export const fr: Partial<Record<TranslationKey, string>> = {
"Arrêter l'exécution de l'agent lorsqu'un appel d'outil échoue. Si désactivé, l'agent continuera d'exécuter les outils suivants.",
'settings.agentConfig.sectionTitle': "Configuration de l'agent",
'settings.agentConfig.sectionDesc':
"Ajuster la façon dont l'agent communique avec le modèle : invites personnalisées, paramètres de tentative/génération, résumé de conversation et protections contre les boucles.",
'settings.agentConfig.customPromptsHeading': 'Prompts personnalisés',
'settings.agentConfig.systemPromptOverrideName': "Autoriser la surcharge de l'invite système",
'settings.agentConfig.systemPromptOverrideDesc':
"AVERTISSEMENT : Permet aux invites personnalisées de remplacer complètement l'invite système. Cela peut perturber le fonctionnement attendu.",
"Ajuster la façon dont l'agent communique avec le modèle : paramètres de tentative/génération, résumé de conversation et protections contre les boucles.",
'settings.agentConfig.apiConfigurationHeading': "Configuration de l'API",
'settings.agentConfig.logToFileName': 'Enregistrer dans un fichier',
'settings.agentConfig.logToFileDesc':
Expand Down
8 changes: 2 additions & 6 deletions src/i18n/id.ts
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ export const id: Partial<Record<TranslationKey, string>> = {
'Folder tempat data plugin disimpan. Sesi agen berada di bawah Agent-Sessions/, prompt kustom di bawah Prompts/, hook di bawah Hooks/, status tugas terjadwal di bawah Scheduled-Tasks/.',
'settings.general.showAdvancedName': 'Tampilkan pengaturan lanjutan',
'settings.general.showAdvancedDesc':
'Tampilkan bagian lanjutan (Prompt kustom, Konfigurasi API, Izin alat, Deteksi perulangan alat, Server MCP, Debug) untuk pengguna tingkat lanjut.',
'Tampilkan bagian lanjutan (Konfigurasi API, Izin alat, Deteksi perulangan alat, Server MCP, Debug) untuk pengguna tingkat lanjut.',
'settings.general.modelListUpdatedSingular': 'Daftar model diperbarui: {count} model.',
'settings.general.modelListUpdated': 'Daftar model diperbarui: {count} model.',
'settings.general.refreshSkippedOffline': 'Dilewati: offline',
Expand Down Expand Up @@ -177,11 +177,7 @@ export const id: Partial<Record<TranslationKey, string>> = {
'Hentikan eksekusi agen ketika panggilan alat gagal. Jika dinonaktifkan, agen akan terus mengeksekusi alat berikutnya.',
'settings.agentConfig.sectionTitle': 'Konfigurasi agen',
'settings.agentConfig.sectionDesc':
'Atur cara agen berbicara dengan model: prompt kustom, parameter percobaan ulang/generasi, peringkasan percakapan, dan pelindung perulangan.',
'settings.agentConfig.customPromptsHeading': 'Prompt kustom',
'settings.agentConfig.systemPromptOverrideName': 'Izinkan penimpaan prompt sistem',
'settings.agentConfig.systemPromptOverrideDesc':
'PERINGATAN: Mengizinkan prompt kustom untuk sepenuhnya menggantikan prompt sistem. Ini dapat merusak fungsionalitas yang diharapkan.',
'Atur cara agen berbicara dengan model: parameter percobaan ulang/generasi, peringkasan percakapan, dan pelindung perulangan.',
'settings.agentConfig.apiConfigurationHeading': 'Konfigurasi API',
'settings.agentConfig.logToFileName': 'Catat ke berkas',
'settings.agentConfig.logToFileDesc':
Expand Down
8 changes: 2 additions & 6 deletions src/i18n/it.ts
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,7 @@ export const it: Partial<Record<TranslationKey, string>> = {
"Cartella in cui sono memorizzati i dati del plugin. Le sessioni dell'agente si trovano in Agent-Sessions/, i prompt personalizzati in Prompts/, gli hook in Hooks/, lo stato delle attività pianificate in Scheduled-Tasks/.",
'settings.general.showAdvancedName': 'Mostra impostazioni avanzate',
'settings.general.showAdvancedDesc':
'Mostra le sezioni avanzate (Prompt personalizzati, Configurazione API, Permessi degli strumenti, Rilevamento loop degli strumenti, Server MCP, Debug) per utenti esperti.',
'Mostra le sezioni avanzate (Configurazione API, Permessi degli strumenti, Rilevamento loop degli strumenti, Server MCP, Debug) per utenti esperti.',
'settings.general.modelListUpdatedSingular': 'Elenco dei modelli aggiornato: {count} modello.',
'settings.general.modelListUpdated': 'Elenco dei modelli aggiornato: {count} modelli.',
'settings.general.refreshSkippedOffline': 'Ignorato: offline',
Expand Down Expand Up @@ -183,11 +183,7 @@ export const it: Partial<Record<TranslationKey, string>> = {
"Interrompe l'esecuzione dell'agente quando la chiamata a uno strumento fallisce. Se disabilitato, l'agente continuerà a eseguire gli strumenti successivi.",
'settings.agentConfig.sectionTitle': 'Configurazione agente',
'settings.agentConfig.sectionDesc':
"Regola il modo in cui l'agente comunica con il modello: prompt personalizzati, parametri di generazione/riprovo, riepilogo della conversazione e protezioni dai loop.",
'settings.agentConfig.customPromptsHeading': 'Prompt personalizzati',
'settings.agentConfig.systemPromptOverrideName': 'Consenti la sovrascrittura del prompt di sistema',
'settings.agentConfig.systemPromptOverrideDesc':
'ATTENZIONE: Consente ai prompt personalizzati di sostituire completamente il prompt di sistema. Ciò potrebbe compromettere le funzionalità previste.',
"Regola il modo in cui l'agente comunica con il modello: parametri di generazione/riprovo, riepilogo della conversazione e protezioni dai loop.",
'settings.agentConfig.apiConfigurationHeading': 'Configurazione API',
'settings.agentConfig.logToFileName': 'Registra su file',
'settings.agentConfig.logToFileDesc':
Expand Down
Loading
Loading