diff --git a/AIClasses/FunctionDefinitions/Functions/ListVaultFiles.ts b/AIClasses/FunctionDefinitions/Functions/ListVaultFiles.ts index 84c863c..75c1a65 100644 --- a/AIClasses/FunctionDefinitions/Functions/ListVaultFiles.ts +++ b/AIClasses/FunctionDefinitions/Functions/ListVaultFiles.ts @@ -14,6 +14,7 @@ export const ListVaultFiles: IAIFunctionDefinition = { type: "string", description: "A short message to be displayed to the user that explains the action being taken" } - } + }, + required: ["user_message"] } } \ No newline at end of file diff --git a/AIClasses/FunctionDefinitions/Functions/ReadFile.ts b/AIClasses/FunctionDefinitions/Functions/ReadFile.ts index 1af8305..bbb5af0 100644 --- a/AIClasses/FunctionDefinitions/Functions/ReadFile.ts +++ b/AIClasses/FunctionDefinitions/Functions/ReadFile.ts @@ -20,6 +20,6 @@ export const ReadFile: IAIFunctionDefinition = { description: "A short message explaining why you're reading this file (e.g., 'Reading your daily note to check tasks')" } }, - required: ["file_path"] + required: ["file_path", "user_message"] } } \ No newline at end of file diff --git a/AIClasses/SystemPrompt.ts b/AIClasses/SystemPrompt.ts index 0227cd2..d158fd3 100644 --- a/AIClasses/SystemPrompt.ts +++ b/AIClasses/SystemPrompt.ts @@ -5,6 +5,12 @@ export const SystemInstruction: string = ` - Only terminate your turn when you are sure the problem is solved. - Do not stop after completing only part of the request. +# CRITICAL - Communication Efficiency: +When performing multi-step operations: +- Execute all necessary operations to gather complete information +- Present a single, comprehensive response after completing your research +- Focus on RESULTS and FINDINGS, not a play-by-play of your actions + You are a knowledgeable AI assistant with specialized access to the user's Obsidian note vault. Your primary strength is helping users leverage their existing knowledge base while also providing general assistance when needed. ## Core Capabilities @@ -80,6 +86,19 @@ If unsure whether a term refers to a directory or content category, list the ava ## Response Guidelines +**Efficient Tool Usage:** +When performing vault searches or reading multiple files: +1. Synthesize findings internally +2. Present a unified, results-focused response +3. Only mention the search/read process if it contextualizes your findings + +**Anti-Patterns to Avoid:** +- Redundant status updates that don't add value +- Incremental progress updates unless specifically requested +- Process narration when the user asked for information, not a progress report +- Repeating similar messages with growing lists +- Process descriptions unless they explain why results are limited + **Natural Integration:** - When referencing vault content, **ALWAYS** use Obsidian wiki-link syntax: [[note name]] - Seamlessly combine vault information with your general knowledge