Skip to content

Releases: zj-rrissh/omniown

OmniOwn v0.1.4

Choose a tag to compare

@github-actions github-actions released this 01 Jul 09:07

OmniOwn v0.1.4 Release Notes

Release Date: 2026-06-25

Overview

v0.1.4 introduces a two-stage AI search pipeline with intelligent query analysis and strategy selection. Enhanced search accuracy through LLM-powered query understanding, combined with structured validation and document library context awareness.

Key Features

🤖 Two-Stage AI Search Pipeline

  • Stage 1 (Query Analysis): LLM-powered preprocessing that rewrites queries, extracts keywords, and detects intent, category preferences, filetype filters, and time-range constraints
  • Stage 2 (Strategy Selection): Intelligent strategy selection with JSON Schema validation via Zod, ensuring only valid strategies are executed

🔍 Enhanced Search Context

  • Document Stats Cache: Total document count and category distribution injected into the v2 prompt system
  • 60-second TTL Cache: Automatically invalidated on import and watch events
  • Tiered Result Merging: FTS results prioritized; non-FTS results capped at 5 when FTS exists to reduce noise

🌐 Improved Internationalization

  • All system prompts converted to English instructions with mixed CN/EN few-shot examples
  • Better JSON compliance for LLM outputs
  • Modularized prompt architecture for easier maintenance and reuse

Changes

Added

  • Query Analysis Prompt Module (server/src/prompts/query-analysis.prompt.ts)

    • Two-phase LLM query understanding: rewrite + intent/category/filetype/time-range detection
    • Structured JSON output for programmatic processing
  • Zod JSON Schema Validation

    • Strategy selection output validated against StrategyResponseSchema
    • Enum-checked strategy names, minimum 1 strategy requirement
    • Descriptive error messages on validation failure
  • Document Library Context

    • getDocumentStats() service for gathering library metadata
    • Automatic cache invalidation on document changes
    • Context injection into v2 prompt as [Document Library Info] block

Fixed

  • v2 Context Never Injected: getDocumentStats() now properly called in selectStrategies when variant is 'v2'
  • Search context availability verified and properly passed through the pipeline

Improved

  • Prompt Modularization: Prompts extracted from ai.service.ts into dedicated prompts/ module

    • search-strategy.prompt.ts with v1/v2 variants
    • 6 few-shot examples per strategy
    • Context injection and intelligent fallback
    • index.ts barrel exports for clean imports
  • Result Quality: Tiered result merging reduces noise while preserving browsing capabilities

Technical Improvements

  • ✅ Replaced bare as StrategyCall[] type assertions with proper Zod validation
  • ✅ Cache invalidation integrated with import and watch workflows
  • ✅ Prompt system isolation enables easier testing and maintenance
  • ✅ Better error messages for debugging search issues

Breaking Changes

None — This release maintains backward compatibility with v0.1.3.

Migration Guide

No action required. Simply upgrade to v0.1.4 and enjoy improved search accuracy.

Performance

  • Query analysis adds ~200-500ms depending on LLM endpoint
  • Document stats cache reduces overhead on repeated queries
  • Result filtering improves UI responsiveness with large document sets

Related Documentation

Known Limitations

  • LLM query analysis depends on API availability
  • Category detection accuracy varies by document naming conventions
  • Time-range extraction requires ISO 8601 or common date formats

OmniOwn v0.1.3

Choose a tag to compare

@github-actions github-actions released this 15 Jun 13:34
Release v0.1.3

OmniOwn v0.1.2

Choose a tag to compare

@github-actions github-actions released this 09 Jun 09:32

🎉 OmniOwn v0.1.2 — Windows Installer Refresh

This release keeps the v0.1.1 Windows watcher/config fixes and adds both Windows installer formats, matching the Windows assets style from v0.1.0.

📦 Windows Downloads

  • OmniOwn_0.1.2_x64-setup.exe — NSIS setup installer for quick Windows installation.
  • OmniOwn_0.1.2_x64_en-US.msi — MSI installer for Windows deployment workflows.

🐛 Fixes Included

  • Fix packaged startup config generation so default Windows library paths are TOML-safe.
  • Restart the file watcher after saving path settings so custom library directories take effect.
  • Ensure packaged omniown watch receives the configured library path instead of falling back to .\library.

🔄 Changes Since v0.1.1

  • Release packaging now builds both Windows MSI and NSIS setup.exe installers.
  • This release intentionally publishes only Windows installer assets.

OmniOwn v0.1.1

Choose a tag to compare

@github-actions github-actions released this 09 Jun 08:50
OmniOwn v0.1.1

OmniOwn v0.1.0

Choose a tag to compare

@zj-rrissh zj-rrissh released this 04 Jun 14:37

🎉 Omniown v0.1.0 — First Release

This is the initial release of Omniown, a local-first personal knowledge base with AI-powered search, built as a three-tier full-stack application.

🏗️ Architecture

Rust CLI (text extraction + file pipeline + MCP) → Node.js API (Express + Prisma) → Vue 3 frontend + Tauri v2 desktop shell

✨ Highlights

  • FTS5 Full-text Search — SQLite FTS5 virtual tables with automatic trigger-based sync, delivering millisecond-level queries.
  • AI Multi-Strategy Search — LLM-driven intent analysis selects the optimal combination from 8 search strategies, executed in parallel with deduplication.
  • MCP Server — Exposes 4 tools (search_documents, get_document, list_documents, get_status), allowing AI clients to directly access your local knowledge base.
  • Multi-Format Text Extraction — Supports plain text, Markdown, HTML, code, JSON/YAML/TOML/CSV, PDF, DOCX, and XLSX.
  • File Import Pipeline — SHA256 deduplication, auto-classification (public/private), and interactive same-name conflict resolution.
  • Tauri v2 Desktop App — System tray + floating panel, auto-spawns a Node.js child process as the API backend.

📦 What's Included

  • CLI text extraction & import pipeline
  • Node.js REST API (Express 5 + Prisma 5, TypeScript strict)
  • Vue 3 frontend (Pinia stores, Vite 6)
  • Tauri v2 desktop shell (system tray + floating panel)
  • MCP server for AI client integration
  • TOML-based configuration (inbox/library paths, LLM API settings)

🔄 Changes Since Pre-release

  • Architecture refactored from a Rust monolith to a three-tier full-stack design
  • Database module streamlined — migration, classifier, and storage logic inlined
  • Frontend refactored from direct API calls to Pinia stores + service layer
  • API response fields converted from snake_case to camelCase (matching Prisma native output)

❌ Removed

  • Embedding-based vector search (replaced by AI multi-strategy search)
  • File-watching sentinel mode (replaced by Node.js API + manual CLI import)

🐛 Fixes

  • Frontend/backend API response format mismatch (wrapper + field naming)
  • CI package-lock.json gitignore causing npm ci to fail
  • Release CI sidecar path mismatch due to missing --target flag on tauri-action
  • macOS x86_64 build switched to macos-15-intel runner
  • GitHub Actions upgraded (Node.js 20 deprecation): checkout@v6, upload-artifact@v7, download-artifact@v8, setup-node@v6
  • Release CI: write permissions, artifactPath, and packaging type configuration fixes