diff options
| -rw-r--r-- | src/App.tsx | 9 | ||||
| -rw-r--r-- | src/ollama.tsx | 24 |
2 files changed, 32 insertions, 1 deletions
diff --git a/src/App.tsx b/src/App.tsx index f9592a3..b902629 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -1,6 +1,11 @@ import React, { useEffect, useRef, useState } from "react"; import { OllamaCommandPallete } from "./components/OllamaCommandPallete"; -import { convertToFlashCardFromEvent, DivideTaskIntoSubTasksFromEvent, ollamaUI, summarizeBlockFromEvent } from "./ollama"; +import { convertToFlashCardFromEvent, + DivideTaskIntoSubTasksFromEvent, + ollamaUI, + summarizeBlockFromEvent, + promptFromBlockEvent, + expandBlockEvent } from "./ollama"; import { useAppVisible } from "./utils"; const options = [ @@ -43,6 +48,8 @@ function App() { logseq.Editor.registerBlockContextMenuItem("Create a flash card", convertToFlashCardFromEvent) logseq.Editor.registerBlockContextMenuItem("Summarize block", summarizeBlockFromEvent) logseq.Editor.registerBlockContextMenuItem("Divide into subtasks", DivideTaskIntoSubTasksFromEvent) + logseq.Editor.registerBlockContextMenuItem("Ollama: Prompt from Block", promptFromBlockEvent) + logseq.Editor.registerBlockContextMenuItem("Ollama: Expand Block", expandBlockEvent) logseq.App.registerCommandShortcut( { "binding": logseq.settings.shortcut }, ollamaUI diff --git a/src/ollama.tsx b/src/ollama.tsx index f5eaae7..945d2cb 100644 --- a/src/ollama.tsx +++ b/src/ollama.tsx @@ -149,6 +149,30 @@ export async function summarizeBlock() { } } +export async function promptFromBlockEvent(b: IHookEvent) { + try { + const currentBlock = await logseq.Editor.getBlock(b.uuid) + const answerBlock = await logseq.Editor.insertBlock(currentBlock!.uuid, '⌛Generating ...', { before: false }) + const response = await promptLLM(`${currentBlock!.content}`); + await logseq.Editor.updateBlock(answerBlock!.uuid, `${response}`) + } catch (e: any) { + logseq.UI.showMsg(e.toString(), 'warning') + console.error(e) + } +} + +export async function expandBlockEvent(b: IHookEvent) { + try { + const currentBlock = await logseq.Editor.getBlock(b.uuid) + const answerBlock = await logseq.Editor.insertBlock(currentBlock!.uuid, '⌛Generating ...', { before: false }) + const response = await promptLLM(`Expand: ${currentBlock!.content}`); + await logseq.Editor.updateBlock(answerBlock!.uuid, `${response}`) + } catch(e: any) { + logseq.UI.showMsg(e.toString(), 'warning') + console.error(e) + } +} + export async function askAI(prompt: string, context: string) { await delay(300) try { |
