Skip to content

AI Chat UI: streaming, markdown, code blocks, history, settings (v0.2.0)#12

Merged
s1rry merged 1 commit into
mainfrom
feature/ai-chat-ui
Jul 4, 2026
Merged

AI Chat UI: streaming, markdown, code blocks, history, settings (v0.2.0)#12
s1rry merged 1 commit into
mainfrom
feature/ai-chat-ui

Conversation

@s1rry

@s1rry s1rry commented Jul 4, 2026

Copy link
Copy Markdown
Owner

What

Milestone (v0.2.0): you can now chat with your repository. Sub-step 8b completes AI Chat.

  • AI Chat view: repository-aware conversation with the configured provider.
    • Streaming replies token by token via a Tauri IPC Channel<String>.
    • Markdown rendering (react-markdown + remark-gfm) with syntax-highlighted code blocks (rehype-highlight + highlight.js).
    • Conversation history in a Zustand store, sent with each turn.
    • Choose a project folder to chat about; clear the conversation; "Thinking…" while the first token is pending.
  • Provider settings screen: pick provider (Ollama, Claude, OpenAI, Gemini) and model; enter API keys (masked password field, persisted via the backend settings store; Ollama needs none).
  • Typed lib/ipc wrappers: chat (Channel streaming) and settings (get/set).

All backend access flows through lib/ipc; new features/ai-chat and features/settings slices with their own stores.

Verification

  • pnpm build (tsc strict + vite): clean, no any.
  • Rendered live in the Vite preview: seeded a conversation showing a user bubble and a streamed assistant reply with bold, inline code, a bullet list and a highlighted Rust code block; and the settings screen with provider dropdown, model and a masked API key. No console errors. Screenshots captured.

Live streaming runs against the backend (chat command) in pnpm tauri dev.

This closes the AI Chat feature (8a backend, 8b UI) and the initial AI phase.

🤖 Generated with Claude Code

…ngs (v0.2.0)

Sub-step 8b — completes AI Chat. Repository-aware chat view: streams reply
tokens over a Tauri IPC Channel, renders Markdown with syntax-highlighted
code blocks (react-markdown + rehype-highlight), keeps conversation history,
and lets the user pick a project folder and clear the chat. Provider settings
screen: choose provider (Ollama/Claude/OpenAI/Gemini) and model, enter API
keys (masked, persisted via the backend settings store). Typed lib/ipc for
chat (Channel) and settings.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@s1rry s1rry merged commit e5034a1 into main Jul 4, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant