Files
Zportal-Wiki-VectorDB-Chat/CHANGELOG.md
2026-06-03 11:16:11 +00:00

2.5 KiB

Changelog

v2.0.0 (2026-06-03) — Odysseus UI + Multi-Provider + RAG

Added

  • Complete Odysseus-style UI with Tokyo Night color palette
  • Multi-provider LLM support (OpenAI, Anthropic, Ollama, OpenRouter, Groq, custom)
  • RAG pipeline: dual-source context from Wiki KB (:8097) + VectorDB (:8099)
  • Per-session RAG toggles (Wiki KB / VectorDB enable/disable)
  • Chat modes: Chat, Code, Brainstorm with mode-specific system prompts
  • Session history with localStorage persistence (up to 50 sessions)
  • Save AI answers as new Q&A entries to Wiki KB
  • Message action buttons: Copy, Redo, Save-to-Wiki on AI responses
  • Markdown rendering in AI replies (bold, italic, code blocks, lists)
  • Provider management: CRUD for custom providers, preset forking with API keys
  • SSE streaming with format detection (OpenAI vs Anthropic)
  • Model picker dropdown in input bar
  • Manage Providers modal with select/edit/delete
  • Quick action chips on welcome screen
  • Mobile responsive layout with sidebar drawer

Backend (wiki-vector-chat.py)

  • FastAPI service on port 8770
  • Shared API token auth from /opt/blog/.wiki-api-token
  • build_rag_context() with per-source toggle support
  • call_llm_stream() with format auto-detection
  • Anthropic SSE parsing (content_block_delta, message_stop)
  • POST /chat/save-to-wiki writes directly to wiki-kb.json
  • ChatMessage model extended with rag_wiki, rag_vector, mode fields

Fixed

  • VectorDB search read wrong field (text vs content) - all results were empty strings
  • VectorDB author/channel are top-level, not nested under metadata
  • Missing API key showed cryptic HTTP 401 instead of helpful guidance
  • Added friendly error messages for HTTP 429/403 during streaming

Fixed (earlier)

  • "Save failed: fetch().json is not a function" — double await
  • RAG chevron toggle checked CSS class instead of state
  • addMessage wrong arguments (empty objects vs string roles)
  • SSE done not breaking outer loop — streamDone flag
  • Welcome screen never hidden — .hidden CSS class + toggle
  • Preset providers not editable — forking with custom- prefix
  • RAG not working — auth tokens for wiki-api and vector-db
  • Anthropic message format — {role, content} not {type, text}
  • Anthropic SSE parsing missing — added content_block_delta handler
  • LLM ignoring RAG context — improved system prompt instructions
  • Markdown showing raw tags in AI replies — renderMd() conversion

v1.0.0 (2026-05-28) — Initial

  • Basic chat UI embedded in wiki
  • Single-provider Z.ai GLM-4 proxy (wiki-chat-server.js on :8098)
  • Wiki KB search integration