- Add curated prompt templates with categories (coding, writing, analysis,
creative, assistant) that users can browse and add to their library
- Add "Browse Templates" tab to the Prompts page with category filtering
and preview functionality
- Add Design Brief Generator tool template for creating structured design
briefs from project requirements
- Add Color Palette Generator tool template for generating harmonious
color schemes from a base color
Prompts included: Code Reviewer, Refactoring Expert, Debug Assistant,
API Designer, SQL Expert, Technical Writer, Marketing Copywriter,
UI/UX Advisor, Security Auditor, Data Analyst, Creative Brainstormer,
Storyteller, Concise Assistant, Patient Teacher, Devil's Advocate,
Meeting Summarizer
Adds the ability to test HTTP endpoint custom tools directly in the
editor, matching the existing test functionality for Python and
JavaScript tools. Closes #6.
- Add postinstall script to copy worker to static/
- Update Dockerfile to copy worker during build
- Update file-processor to try local worker first, fallback to CDN
- Bump version to 0.4.11
- Add capability verification for installed models using /api/show
- SyncModels now updates real capabilities when fetchDetails=true
- Model browser shows verified/unverified badges for capabilities
- Add info notice that capabilities are sourced from ollama.com
- Fix incorrect capability data (e.g., deepseek-r1 "tools" badge)
Capabilities from ollama.com website may be inaccurate. Once a model
is installed, Vessel fetches actual capabilities from Ollama runtime
and displays a "verified" badge in the model details panel.
- Add size filter (≤3B, 4-13B, 14-70B, >70B) based on model tags
- Add model family filter dropdown with dynamic family list
- Display last updated date on model cards (scraped from ollama.com)
- Add /api/v1/models/remote/families endpoint
- Convert relative time strings ("2 weeks ago") to timestamps during sync
- Add CodeMirror editor with syntax highlighting for JavaScript and Python
- Add 8 starter templates (4 JS, 4 Python) for common tool patterns
- Add inline documentation panel with language-specific guidance
- Add tool testing UI to run tools with sample inputs before saving
- Add Python tool execution via backend API with 30s timeout
- Add POST /api/v1/tools/execute endpoint for backend tool execution
- Update Dockerfile to include Python 3 for tool execution
- Bump version to 0.4.0
Backend:
- Add /api/v1/version endpoint returning current and latest version
- Fetch latest release from GitHub API with 1-hour cache
- Semver comparison to detect available updates
- Configurable via GITHUB_REPO env var (default: vikingowl/vessel)
Frontend:
- Add VersionState store with 12-hour periodic checking
- Check on app load and periodically for new versions
- Persist dismissed versions in localStorage
- Add UpdateBanner component with teal styling
- Slide-in animation from top, dismissible
The notification appears below TopNav when a new version is available
and remembers dismissals per-version across sessions.
- Add install.sh for one-line installation (Linux/macOS)
- Detects local Ollama and lets user choose system vs Docker
- Generates docker-compose.override.yml for system Ollama mode
- Supports --update and --uninstall flags
- Fix backend not reading OLLAMA_URL from environment variable
- Add getEnvOrDefault() helper for PORT, DB_PATH, OLLAMA_URL
- Update Dockerfile to use env vars instead of hardcoded flags
- Update README with new Quick Start instructions
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Update package.json name to "vessel"
- Update storage keys (vessel-settings, vessel IndexedDB)
- Update Go module to vessel-backend with new imports
- Update database path to vessel.db
- Add new Vessel "V" icon (favicon + app icons)
- Update all user-facing branding (titles, sidebar, settings)
- Update docker-compose files with vessel naming and network
- Change accent color from emerald to violet
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add github.com/ollama/ollama/api dependency (v0.13.5)
- Create OllamaService wrapper with typed handlers for all endpoints
- Implement streaming support for chat, generate, and pull operations
- Add dedicated handlers: ListModels, ShowModel, Chat, Generate, Embed,
PullModel, DeleteModel, CopyModel, Version, Heartbeat
- Keep fallback proxy for any unhandled endpoints
- Update routes to use new typed API endpoints
- Upgrade Go version to 1.24.1
Benefits:
- Type-safe request/response handling
- Built-in NDJSON streaming with 512KB buffer
- Proper tool call types (ToolCall, ToolCallFunction)
- Thinking mode support (ThinkValue)
- Future compatibility with Ollama updates
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Backend:
- Add unified URL fetcher with fallback chain: curl → wget → native Go → headless Chrome
- Implement JS-rendered page detection for sites like docs.rs
- Add chromedp dependency for headless browser support
- Log fetch method on server startup
Frontend:
- Store tool results in structured ToolCall.result field instead of message content
- Show tool results collapsed by default in ToolCallDisplay
- Add expandable results section with truncation for large outputs
- Add Message.hidden flag for internal messages (tool context)
- Separate visibleMessages (UI) from allMessages (API) to fix infinite loop
- Fix tool result messages not being sent to model
🤖 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>