- Hide tool result messages (role: user) from chat display
They're internal API messages, not actual user input
- Improve pattern matching to catch all tool result formats
- Clean up "Tool execution results:" and "Called tool:" text
- Detect and hide HTML garbage from failed fetch attempts
- Add fetch result type with proper styling
- Improve text visibility in fallback displays
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
ToolCallDisplay improvements:
- Tool-specific icons and gradient colors (location, search, fetch, time, calc)
- Human-readable argument formatting instead of raw JSON
- Collapsible details with expand/collapse animation
- Contextual summaries (e.g., "Searching: query")
New ToolResultDisplay component:
- Beautiful location results with city/country display
- Web search results as clickable cards with ranks
- Error states with distinct red styling
- Automatic JSON detection and formatting
MessageContent improvements:
- Detect and parse tool results in message content
- Hide redundant "Called tool:" text (shown via ToolCallDisplay)
- Clean separation of text, code, and tool results
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Complete Ollama Web UI implementation featuring:
Frontend (SvelteKit + Svelte 5 + Tailwind CSS + Skeleton UI):
- Chat interface with streaming responses and markdown rendering
- Message tree with branching support (edit creates branches)
- Vision model support with image upload/paste
- Code syntax highlighting with Shiki
- Built-in tools: get_current_time, calculate, fetch_url
- Function model middleware (functiongemma) for tool routing
- IndexedDB storage with Dexie.js
- Context window tracking with token estimation
- Knowledge base with embeddings (RAG support)
- Keyboard shortcuts and responsive design
- Export conversations as Markdown/JSON
Backend (Go + Gin + SQLite):
- RESTful API for conversations and messages
- SQLite persistence with branching message tree
- Sync endpoints for IndexedDB ↔ SQLite synchronization
- URL proxy endpoint for CORS-bypassed web fetching
- Health check endpoint
- Docker support with host network mode
Infrastructure:
- Docker Compose for development and production
- Vite proxy configuration for Ollama and backend APIs
- Hot reload development setup
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>