فهرست منبع

feat: add other useful variables to the custom system prompt (#2879)

Daniel 8 ماه پیش
والد
کامیت
970ccd7879
2فایلهای تغییر یافته به همراه9 افزوده شده و 0 حذف شده
  1. 4 0
      src/core/prompts/sections/custom-system-prompt.ts
  2. 5 0
      src/core/prompts/system.ts

+ 4 - 0
src/core/prompts/sections/custom-system-prompt.ts

@@ -5,6 +5,10 @@ import { fileExistsAtPath } from "../../../utils/fs"
 
 
 export type PromptVariables = {
 export type PromptVariables = {
 	workspace?: string
 	workspace?: string
+	mode?: string
+	language?: string
+	shell?: string
+	operatingSystem?: string
 }
 }
 
 
 function interpolatePromptContent(content: string, variables: PromptVariables): string {
 function interpolatePromptContent(content: string, variables: PromptVariables): string {

+ 5 - 0
src/core/prompts/system.ts

@@ -14,6 +14,7 @@ import { DiffStrategy } from "../../shared/tools"
 import { McpHub } from "../../services/mcp/McpHub"
 import { McpHub } from "../../services/mcp/McpHub"
 import { getToolDescriptionsForMode } from "./tools"
 import { getToolDescriptionsForMode } from "./tools"
 import * as vscode from "vscode"
 import * as vscode from "vscode"
+import * as os from "os"
 import {
 import {
 	getRulesSection,
 	getRulesSection,
 	getSystemInfoSection,
 	getSystemInfoSection,
@@ -128,6 +129,10 @@ export const SYSTEM_PROMPT = async (
 	// Try to load custom system prompt from file
 	// Try to load custom system prompt from file
 	const variablesForPrompt: PromptVariables = {
 	const variablesForPrompt: PromptVariables = {
 		workspace: cwd,
 		workspace: cwd,
+		mode: mode,
+		language: language ?? formatLanguage(vscode.env.language),
+		shell: vscode.env.shell,
+		operatingSystem: os.type(),
 	}
 	}
 	const fileCustomSystemPrompt = await loadSystemPromptFile(cwd, mode, variablesForPrompt)
 	const fileCustomSystemPrompt = await loadSystemPromptFile(cwd, mode, variablesForPrompt)