Skip to content

Commit c7bfeb5

Browse files
committed
feat: add current file into context
1 parent 359e34b commit c7bfeb5

2 files changed

Lines changed: 14 additions & 2 deletions

File tree

packages/ai-native/src/browser/chat/chat-model.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -311,7 +311,7 @@ export class ChatModel extends Disposable implements IChatModel {
311311
addRequest(message: IChatRequestMessage): ChatRequestModel {
312312
const msg = message;
313313
// first msg
314-
if (ChatModel.requestIdPool === 0 && this.provideContextPrompt) {
314+
if (this.provideContextPrompt) {
315315
msg.prompt = this.provideContextPrompt(msg.prompt);
316316
}
317317

packages/ai-native/src/common/prompts/context-prompt-provider.ts

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
import { Injectable } from '@opensumi/di';
1+
import { Autowired, Injectable } from '@opensumi/di';
2+
import { WorkbenchEditorService } from '@opensumi/ide-editor/lib/browser/types';
23

34
import { SerializedContext } from '../llm-context';
45

@@ -14,7 +15,13 @@ export interface ChatAgentPromptProvider {
1415

1516
@Injectable()
1617
export class DefaultChatAgentPromptProvider implements ChatAgentPromptProvider {
18+
@Autowired(WorkbenchEditorService)
19+
protected readonly workbenchEditorService: WorkbenchEditorService;
20+
1721
provideContextPrompt(context: SerializedContext, userMessage: string): string {
22+
const editor = this.workbenchEditorService.currentEditor;
23+
const currentModel = editor?.currentDocumentModel;
24+
currentModel
1825
return `
1926
<additional_data>
2027
Below are some potentially helpful/relevant pieces of information for figuring out to respond
@@ -36,6 +43,11 @@ ${context.recentlyViewFiles.map((file, idx) => ` ${idx + 1}: ${file}`).join('
3643
`,
3744
)}
3845
</attached_files>
46+
${currentModel ? `<current_opened_file>
47+
\`\`\`${currentModel.languageId} ${currentModel.uri.toString()}
48+
${currentModel.getText()}
49+
\`\`\`
50+
</current_opened_file>` : ''}
3951
</additional_data>
4052
<user_query>
4153
${userMessage}

0 commit comments

Comments
 (0)