← Back to Kontasks
Session History Feature - Architecture Plan
Planning the session history feature for browsing past Claude conversations
Output
Session History Feature - Architecture
Current State
Konsole already stores rich session data:
- Sessions:
/konnectvol/konsole/data/sessions/ - Kontexts:
/konnectvol/konsole/data/kontexts/(last 10 per session) - User mapping:
/konnectvol/konui/data/konsole-sessions/{user}.txt
Sample session: ses_78b1f9c5-c3e has 38 kontexts, linked to Claude session 2a140d3b-88a0-44dd-a7a9-443c3a340f66
Proposed Architecture
| Component | Changes |
|---|---|
| Konsole API | Add GET /sessions/:id/kontexts - list all kontexts with paginationAdd GET /sessions/:id/kontexts/:ktxId - get single kontext details |
| Konui API | Add GET /api/history - list user's sessions with metadataAdd user→session mapping from konsole-sessions files |
| Konui UI | New /history page with session listSession detail view with kontext timeline Kontext detail modal with prompt + output |
| Storage | Increase MAX_KONTEXTS_PER_SESSION (currently 10, maybe 50?) Optional: Archive old kontexts to JSONL |
UI Mockup
┌─────────────────────────────────────────────────┐ │ Session History │ ├─────────────────────────────────────────────────┤ │ [Today] │ │ └ ses_78b1f9c5 • johnathon • 38 kontexts │ │ │ │ [Yesterday] │ │ └ ses_abc12345 • stephanie • 12 kontexts │ │ │ │ [Dec 30] │ │ └ ses_def67890 • johnathon • 5 kontexts │ └─────────────────────────────────────────────────┘ ┌─ Session: ses_78b1f9c5 ─────────────────────────┐ │ Created: Jan 1, 2026 19:40 • User: johnathon │ ├─────────────────────────────────────────────────┤ │ [22:06] "Not seeing it" → 92s │ │ [22:08] "test-bulk-delete" → 45s │ │ [22:10] "commit-bulk-actions" → 120s │ │ ... │ └─────────────────────────────────────────────────┘
Implementation Steps
- Konsole API - Add kontexts list endpoint with pagination
- Konui API - Add /api/history with session→user mapping
- Session List UI - New /history page with grouped sessions
- Session Detail - Kontext timeline with expandable items
- Optional - Increase kontext retention, add search
Decision needed: Should session history show all users (like kontasks) or be per-user?
Quick Actions
Original Request
No layout configured
Details
Type
General
Status
Completed
Scope
vibetools
Tags
konsoleui
Created
2 Jan 2026, 8:32 am
Updated
2 Jan 2026, 8:32 am
Created By
claude
Raw Data
{
"id": "4ba1420f-2be0-488d-8403-dba785b19d4e",
"type": "general",
"status": "completed",
"title": "Session History Feature - Architecture Plan",
"description": "Planning the session history feature for browsing past Claude conversations",
"context": {
"output": "<div style=\"background:#1e1e1e;color:#e0e0e0;padding:20px;border-radius:8px;font-family:sans-serif;\"><h2 style=\"color:#fff;margin:0 0 16px 0;\">Session History Feature - Architecture</h2><div style=\"background:#2d2d2d;padding:16px;border-radius:6px;margin-bottom:16px;\"><h3 style=\"color:#98c379;margin:0 0 12px 0;\">Current State</h3><p style=\"margin:0 0 8px 0;\">Konsole already stores rich session data:</p><ul style=\"margin:0;padding-left:20px;line-height:1.8;\"><li><strong>Sessions</strong>: <code>/konnectvol/konsole/data/sessions/</code></li><li><strong>Kontexts</strong>: <code>/konnectvol/konsole/data/kontexts/</code> (last 10 per session)</li><li><strong>User mapping</strong>: <code>/konnectvol/konui/data/konsole-sessions/{user}.txt</code></li></ul><p style=\"margin:12px 0 0 0;\">Sample session: <code>ses_78b1f9c5-c3e</code> has 38 kontexts, linked to Claude session <code>2a140d3b-88a0-44dd-a7a9-443c3a340f66</code></p></div><div style=\"background:#2d2d2d;padding:16px;border-radius:6px;margin-bottom:16px;\"><h3 style=\"color:#61afef;margin:0 0 12px 0;\">Proposed Architecture</h3><table style=\"width:100%;border-collapse:collapse;\"><tr style=\"border-bottom:1px solid #444;\"><th style=\"text-align:left;padding:8px;color:#e5c07b;\">Component</th><th style=\"text-align:left;padding:8px;color:#e5c07b;\">Changes</th></tr><tr style=\"border-bottom:1px solid #444;\"><td style=\"padding:8px;\"><strong>Konsole API</strong></td><td style=\"padding:8px;\">Add <code>GET /sessions/:id/kontexts</code> - list all kontexts with pagination<br>Add <code>GET /sessions/:id/kontexts/:ktxId</code> - get single kontext details</td></tr><tr style=\"border-bottom:1px solid #444;\"><td style=\"padding:8px;\"><strong>Konui API</strong></td><td style=\"padding:8px;\">Add <code>GET /api/history</code> - list user's sessions with metadata<br>Add user→session mapping from konsole-sessions files</td></tr><tr style=\"border-bottom:1px solid #444;\"><td style=\"padding:8px;\"><strong>Konui UI</strong></td><td style=\"padding:8px;\">New <code>/history</code> page with session list<br>Session detail view with kontext timeline<br>Kontext detail modal with prompt + output</td></tr><tr><td style=\"padding:8px;\"><strong>Storage</strong></td><td style=\"padding:8px;\">Increase MAX_KONTEXTS_PER_SESSION (currently 10, maybe 50?)<br>Optional: Archive old kontexts to JSONL</td></tr></table></div><div style=\"background:#2d2d2d;padding:16px;border-radius:6px;margin-bottom:16px;\"><h3 style=\"color:#c678dd;margin:0 0 12px 0;\">UI Mockup</h3><pre style=\"background:#1a1a1a;padding:12px;border-radius:4px;font-family:monospace;font-size:0.85rem;overflow-x:auto;\">┌─────────────────────────────────────────────────┐\n│ Session History │\n├─────────────────────────────────────────────────┤\n│ [Today] │\n│ └ ses_78b1f9c5 • johnathon • 38 kontexts │\n│ │\n│ [Yesterday] │\n│ └ ses_abc12345 • stephanie • 12 kontexts │\n│ │\n│ [Dec 30] │\n│ └ ses_def67890 • johnathon • 5 kontexts │\n└─────────────────────────────────────────────────┘\n\n┌─ Session: ses_78b1f9c5 ─────────────────────────┐\n│ Created: Jan 1, 2026 19:40 • User: johnathon │\n├─────────────────────────────────────────────────┤\n│ [22:06] \"Not seeing it\" → 92s │\n│ [22:08] \"test-bulk-delete\" → 45s │\n│ [22:10] \"commit-bulk-actions\" → 120s │\n│ ... │\n└─────────────────────────────────────────────────┘</pre></div><div style=\"background:#2d2d2d;padding:16px;border-radius:6px;margin-bottom:16px;\"><h3 style=\"color:#e5c07b;margin:0 0 12px 0;\">Implementation Steps</h3><ol style=\"margin:0;padding-left:20px;line-height:2;\"><li><strong>Konsole API</strong> - Add kontexts list endpoint with pagination</li><li><strong>Konui API</strong> - Add /api/history with session→user mapping</li><li><strong>Session List UI</strong> - New /history page with grouped sessions</li><li><strong>Session Detail</strong> - Kontext timeline with expandable items</li><li><strong>Optional</strong> - Increase kontext retention, add search</li></ol></div><div style=\"background:#3d3d3d;padding:12px;border-radius:6px;border-left:3px solid #98c379;\"><p style=\"margin:0;color:#abb2bf;\"><strong>Decision needed:</strong> Should session history show <em>all users</em> (like kontasks) or be <em>per-user</em>?</p></div></div>",
"requestId": "fd7edaa5-7efc-4bcc-a8a6-f39e16ba50a2",
"requestedAt": "2026-01-02T08:35:00.000Z",
"choices": [
{
"label": "All users (admin view)",
"value": "all-users"
},
{
"label": "Per-user only",
"value": "per-user"
},
{
"label": "Both (filter toggle)",
"value": "both",
"primary": true
}
]
},
"createdBy": "claude",
"createdAt": "2026-01-01T22:32:38.150Z",
"updatedAt": "2026-01-01T22:32:38.280Z",
"requestId": "fd7edaa5-7efc-4bcc-a8a6-f39e16ba50a2",
"scope": "vibetools",
"tags": [
"konsole",
"ui"
],
"targetUser": "claude"
}