bigwolfe
spec
e07f59c
|
raw
history blame
1.43 kB

Data Model: AI Chat Window

Entities

ChatMessage

Represents a single message in the conversation history.

Field Type Description
role enum user, assistant, system
content string The text content of the message
timestamp datetime ISO 8601 timestamp of creation

ChatRequest

The payload sent from Frontend to Backend to initiate/continue a chat.

Field Type Description
message string The new user message
history List[ChatMessage] Previous conversation context
persona string ID of the selected persona (e.g., "default", "auto-linker")
model string Optional: Specific OpenRouter model ID

ChatResponseChunk (SSE)

The streaming data format received by the frontend.

Field Type Description
type enum token (text chunk) or tool_call (tool execution status)
content string The text fragment or status message
done boolean True if generation is complete

Persistence (Markdown Format)

Saved in data/vaults/{user_id}/Chat Logs/{timestamp}.md

---
title: Chat Session - {timestamp}
date: {date}
tags: [chat-log, {persona}]
model: {model_id}
---

# Chat Session

## User ({time})
What is the summary of...

## Assistant ({time})
Based on your notes...