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 000000000..7fc7af0e0 --- /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 fe9d97e18..bb1ceb7df 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 343d7d9a7..f97d138e2 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 de924ca3d..272577e7e 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,