Skip to content

2.8.1

Choose a tag to compare

@csebold csebold released this 01 Apr 06:51
· 2560 commits to main since this release
2.8.1

Quilltap v2.8.1 Release Notes

Highlights

Built-in TF-IDF Embeddings - Semantic memory search now works out of the box with zero API keys required. The new built-in embedding provider uses TF-IDF with BM25 enhancement, running entirely offline.

First-Startup Seeding - Fresh installations now include a default character and embedding profile, making Quilltap immediately usable without configuration.

Ollama Quality-of-Life Improvements - Better defaults, auto-filled URLs, and fixes for common connection issues.


Major Features

Built-in TF-IDF Embedding Provider

  • New qtap-plugin-builtin-embeddings provides zero-dependency, offline embedding
  • Uses TF-IDF with BM25 enhancement and Porter stemming
  • Bigram support for improved phrase matching
  • Vocabulary automatically fits to your memory corpus
  • Debounced refitting when memories change (5-second debounce)
  • New database tables: tfidf_vocabularies, embedding_status
  • Background jobs: EMBEDDING_GENERATE, EMBEDDING_REFIT, EMBEDDING_REINDEX_ALL
  • API endpoints for manual refit and reindex operations
  • UI displays vocabulary stats and embedding progress indicators
  • Theme-aware provider badges via qt-badge-provider-* CSS classes

First-Startup Data Seeding

  • Default character "Ben" seeded on first startup when database is empty
  • Default "Built-in TF-IDF" embedding profile seeded and set as default
  • Enables semantic memory search immediately without configuration
  • Seeding runs as phase 1.25 after migrations in startup sequence
  • Safe to call multiple times—only seeds when no data exists

Improvements

Connection Profile UX

  • Auto-fill profile name with PROVIDER/MODEL_NAME when selecting a model
  • Auto-fill base URL when selecting a provider with defaults (e.g., Ollama → http://localhost:11434)
  • Connection test errors now display in the profile modal UI
  • Improved error logging shows messages directly

Provider Fixes

  • Ollama: Fixed 405 error caused by trailing slash in base URL creating double-slashes
  • Ollama: Cheap LLM fallback now uses current profile's model instead of hardcoded llama3.2:3b
  • Embedding providers: Fixed embedding-only providers not appearing in dropdown (plugin initialization now registers EMBEDDING_PROVIDER capability)

Bug Fixes

  • Memory extraction: Handles LLMs returning object instead of string for content/summary fields
  • Memory search: Regex metacharacters (*, ?, (), etc.) now escaped in fallback search, preventing crashes when semantic search unavailable