From a2c825fa2c0fe14dd909aa2d6144c4421df78cfe Mon Sep 17 00:00:00 2001 From: Giorgi Bagdavadze Date: Fri, 25 Apr 2025 10:33:34 +0400 Subject: [PATCH 1/5] feat: modify and store system prompt in the local storage --- packages/frontend/src/app.tsx | 35 ++++++++++++++++++++++++++------- packages/frontend/src/index.css | 13 ++++++------ 2 files changed, 35 insertions(+), 13 deletions(-) diff --git a/packages/frontend/src/app.tsx b/packages/frontend/src/app.tsx index 93989bd..f3b3a2f 100644 --- a/packages/frontend/src/app.tsx +++ b/packages/frontend/src/app.tsx @@ -13,12 +13,19 @@ const providerMetadata = { }, }, } - +const systemPrompt = { + get: () => { + return localStorage.getItem("systemPrompt") ?? SYSTEM_PROMPT + }, + set: (value: string) => { + localStorage.setItem("systemPrompt", value) + }, +} // Define initial system messages once const getInitialPrompt = (): LanguageModelV1Prompt => [ { role: "system", - content: SYSTEM_PROMPT, + content: systemPrompt.get(), providerMetadata: { anthropic: { cacheControl: { @@ -215,6 +222,17 @@ export function App() { textarea?.focus() } + const modifySystemPrompt = () => { + const newPrompt = prompt( + "⚠️ This is going to reset chat history.\nEnter new system prompt:", + systemPrompt.get(), + ) + if (newPrompt !== null) { + systemPrompt.set(newPrompt) + setStore("prompt", getInitialPrompt()) + } + } + return (
@@ -292,13 +310,16 @@ export function App() {
- {store.prompt.length > 2 && !store.isProcessing && ( -
- + {store.prompt.length > 2 && !store.isProcessing && ( + -
- )} + )} +