diff --git a/packages/backend/server/src/data/migrations/1713864641056-update-prompt.ts b/packages/backend/server/src/data/migrations/1713864641056-update-prompt.ts new file mode 100644 index 0000000000..7fc7af0e0a --- /dev/null +++ b/packages/backend/server/src/data/migrations/1713864641056-update-prompt.ts @@ -0,0 +1,13 @@ +import { PrismaClient } from '@prisma/client'; + +import { refreshPrompts } from './utils/prompts'; + +export class UpdatePrompt1713864641056 { + // do the migration + static async up(db: PrismaClient) { + await refreshPrompts(db); + } + + // revert the migration + static async down(_db: PrismaClient) {} +} diff --git a/packages/backend/server/src/data/migrations/utils/prompts.ts b/packages/backend/server/src/data/migrations/utils/prompts.ts index fe9d97e18f..bb1ceb7df9 100644 --- a/packages/backend/server/src/data/migrations/utils/prompts.ts +++ b/packages/backend/server/src/data/migrations/utils/prompts.ts @@ -250,6 +250,21 @@ export const prompts: Prompt[] = [ }, ], }, + { + name: 'Expand mind map', + action: 'Expand mind map', + model: 'gpt-4-turbo-preview', + messages: [ + { + role: 'assistant', + content: `An existing mind map is displayed as a markdown list: + + {{mindmap}}. + + Please expand the node “{{content}}", adding more essential details and subtopics to the existing mind map in the same markdown list format. Only output the expand part without the original mind map. No need to include any additional text or explanation`, + }, + ], + }, { name: 'Improve writing for it', action: 'Improve writing for it', diff --git a/packages/frontend/core/src/components/blocksuite/block-suite-editor/ai/prompt.ts b/packages/frontend/core/src/components/blocksuite/block-suite-editor/ai/prompt.ts index 343d7d9a75..f97d138e24 100644 --- a/packages/frontend/core/src/components/blocksuite/block-suite-editor/ai/prompt.ts +++ b/packages/frontend/core/src/components/blocksuite/block-suite-editor/ai/prompt.ts @@ -21,6 +21,7 @@ export const promptKeys = [ 'Change tone to', 'Brainstorm ideas about this', 'Brainstorm mindmap', + 'Expand mind map', 'Improve writing for it', 'Improve grammar for it', 'Fix spelling for it', diff --git a/packages/frontend/core/src/components/blocksuite/block-suite-editor/ai/provider.ts b/packages/frontend/core/src/components/blocksuite/block-suite-editor/ai/provider.ts index de924ca3dd..272577e7e1 100644 --- a/packages/frontend/core/src/components/blocksuite/block-suite-editor/ai/provider.ts +++ b/packages/frontend/core/src/components/blocksuite/block-suite-editor/ai/provider.ts @@ -252,6 +252,14 @@ export function setupAIProvider() { }); }); + provideAction('expandMindmap', options => { + return textToText({ + ...options, + content: options.input, + promptName: 'Expand mind map', + }); + }); + provideAction('explain', options => { return textToText({ ...options,