Просмотр исходного кода

feat: add /compact session command

Adam 1 месяц назад
Родитель
Сommit
c51fa7cb24
1 измененных файлов с 25 добавлено и 0 удалено
  1. 25 0
      packages/app/src/pages/session.tsx

+ 25 - 0
packages/app/src/pages/session.tsx

@@ -555,6 +555,31 @@ export default function Page() {
         setActiveMessage(priorMsg)
         setActiveMessage(priorMsg)
       },
       },
     },
     },
+    {
+      id: "session.compact",
+      title: "Compact session",
+      description: "Summarize the session to reduce context size",
+      category: "Session",
+      slash: "compact",
+      disabled: !params.id || visibleUserMessages().length === 0,
+      onSelect: async () => {
+        const sessionID = params.id
+        if (!sessionID) return
+        const model = local.model.current()
+        if (!model) {
+          showToast({
+            title: "No model selected",
+            description: "Connect a provider to summarize this session",
+          })
+          return
+        }
+        await sdk.client.session.summarize({
+          sessionID,
+          modelID: model.id,
+          providerID: model.provider.id,
+        })
+      },
+    },
   ])
   ])
 
 
   const handleKeyDown = (event: KeyboardEvent) => {
   const handleKeyDown = (event: KeyboardEvent) => {