2.5 KiB
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 supportcall_llm_stream()with format auto-detection- Anthropic SSE parsing (content_block_delta, message_stop)
POST /chat/save-to-wikiwrites directly to wiki-kb.jsonChatMessagemodel 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