Streaming AI chat with live Comark rendering

How it works

  • server/api/chat.post.tsstreamText to stream the Markdown response from the model
  • app/pages/index.vueChat from @ai-sdk/vue + <Comark :streaming="isPartStreaming(part)" caret> for live per-part rendering

On the client, <Comark> parses and renders the Markdown response and receives :streaming="isPartStreaming(part)" for accurate per-part streaming state.

Setup

cp .env.example .env
# Add your AI_GATEWAY_API_KEY

pnpm install
pnpm dev