diff options
| author | Adam <[email protected]> | 2026-01-02 12:36:31 -0600 |
|---|---|---|
| committer | Adam <[email protected]> | 2026-01-02 12:40:37 -0600 |
| commit | c51fa7cb24f184514be7964546083bf2378ca36b (patch) | |
| tree | 029eb20e5911ed34830d8bb98c4eb7cca9181bbd | |
| parent | a4c67515c9bae2acce90812d32b472322ddcfb97 (diff) | |
| download | opencode-c51fa7cb24f184514be7964546083bf2378ca36b.tar.gz opencode-c51fa7cb24f184514be7964546083bf2378ca36b.zip | |
feat: add /compact session command
| -rw-r--r-- | packages/app/src/pages/session.tsx | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/packages/app/src/pages/session.tsx b/packages/app/src/pages/session.tsx index 033259fde..0a0cd519f 100644 --- a/packages/app/src/pages/session.tsx +++ b/packages/app/src/pages/session.tsx @@ -555,6 +555,31 @@ export default function Page() { 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) => { |
