v2.55.5
Compare: v2.55.4...v2.55.5
Highlights
Unified Embeddings And Hybrid Retrieval
- Cloud and local modes now share one 768-dimensional EmbeddingGemma contract through the immutable
bigsk1/jarvis-embedding:bf16-v1Ollama artifact. Jarvis verifies the exact model digest and input fingerprint before persisted vectors are used. - Semantic retrieval fails closed on incompatible namespaces instead of mixing providers, dimensions, model revisions, or synthetic fallback vectors. Memory retains its lexical recovery path when Ollama is unavailable.
- New health, rebuild, and namespace metadata tooling makes every Memory, Tool RAG, and Intelligence vector set auditable and safely rebuildable through the configured Ollama hosts.
- Tool RAG now combines dense and tightly gated FTS5/BM25 evidence, then applies an adaptive shortlist. This reduces unrelated tool schemas while preserving related tool clusters, explicit hints, ghost tools, and
tool_searchdiscovery. - Memory semantic recall gains conservative hybrid retrieval, truthful retrieval labels, and usable relevance values for keyword-only results. Auto-memory keeps dense and exact-keyword lanes separate so lexical hits are not mistaken for cosine scores.
Scoped Response Preferences
- Addressing, response style, language, and tone are canonical preference slots with deterministic
persistent,session, and expiringtemporaryscopes. - Current-turn instructions override active scoped preferences, which override the Profile Card baseline. Newer values win within the same slot and scope, while expired or other-session rows remain searchable for cleanup but cannot leak into automatic context.
- All four active canonical slots can be injected on every turn without consuming the separate Intel/keyword/semantic retrieval budget.
- The
rememberAPI and tool contract now carry scope, session, expiry, and TTL fields; memory follow-up surfaces expose exact IDs for safe ID-only update and forget operations.
Ollama Helper And Docker
- The optional MiniCPM5 helper tier is now distributed as
bigsk1/jarvis-helper:minicpm5-1b-q4_k_m-v1and pulled directly through Ollama; native setup no longer downloads or builds the model from Hugging Face. JARVIS_HELPER_LLM_BASE_URLremains an optional dedicated override and otherwise falls back to the requiredOLLAMA_BASE_URL. Status, stash-summary, and long-text roles still opt in independently.- Docker can reach the embedding and helper daemon through mode ENV settings or explicit
JARVIS_DOCKER_*overrides. Ollama and model weights stay outside the Jarvis container.
Web, Models, And Operations
- Web gains an explicit Chat-only mode, a mode-aware Profile Card editor, an animated processing signal, credential/proxy health status, and clearer active TTS model and voice reporting.
- xAI updates include Grok 4.6 defaults, Grok Imagine Image 2.0, and the full supported speech-tag vocabulary.
- Added SerpApi Google Events plus the GPU Hot monitor, alert path, and status tool. Local-services routing, YouTube transcript fallback, document OCR results, workflow tool-card ordering, and movie-night server-side tools were also hardened.
- Router and Intelligence guidance now respect explicit tool hints more reliably, gate negative learned insights by request triggers, and keep Chat-only pinned above normal tool suggestions.
Upgrade Notes
Native installs
Cloud mode now also requires a reachable Ollama daemon for embeddings, even when OpenAI, xAI, or Anthropic provides chat. Review both mode ENV files, pull the pinned artifact on every configured OLLAMA_BASE_URL host, then rebuild existing vector namespaces. The rebuild command creates database backups under data/backups/ before replacing vectors.
cd ~/jarvis-voice
git fetch --tags
git pull
git checkout v2.55.5 # optional if you want the exact release tag
ollama pull bigsk1/jarvis-embedding:bf16-v1
./bin/check-embeddings-health.py --both --runtime-only
source ~/jarvis-venv/bin/activate
./bin/rebuild-embeddings both
./bin/sync-tools.py cloud --force
./bin/sync-tools.py local --force
./bin/start --stop && ./bin/startThe helper model remains optional. To enable it, set its provider roles in the selected mode ENV and run ./bin/setup-helper-llm --mode cloud or --mode local.
Docker installs
Docker does not install Ollama. Pull the embedding model on the external host or LAN daemon first, and use JARVIS_DOCKER_OLLAMA_BASE_URL when the mode ENV address is not reachable from containers. Rebuild because Compose, shared mounts, UI assets, and ENV plumbing changed.
cd ~/jarvis-voice
git fetch --tags
git pull
docker compose down
docker compose build --pull
docker compose --profile extras up -d --force-recreate
docker compose exec jarvis-api python bin/rebuild-embeddings both
docker compose exec jarvis-api python bin/sync-tools.py cloud --force
docker compose exec jarvis-api python bin/sync-tools.py local --forceFresh databases initialize with the new fingerprint automatically. Existing databases must be rebuilt as above or removed for clean initialization; Jarvis will not mix the previous embedding namespaces with bf16-v1.
Review env examples before copying
git diff v2.55.4..v2.55.5 -- \
config/cloud.env.example \
config/local.env.example \
config/cloud.openai.env.example \
docker.env.exampleOptional cleanup previews
./bin/cleanup-all --dry-run
./bin/cleanup-web-conversations --days 90 --dry-run
./bin/cleanup-generated-images --days 120 --dry-runChange Summary
- Commits: 35
- Files changed: 248
- Insertions: 19,110
- Deletions: 4,436
Full Commit List
3c5ad64feat(tools): add SerpApi Google Eventsa08fbc0docs(readme): refresh August roadmap and features5ac7816docs(readme): align setup and current capabilitiesd8c3742fix(youtube): harden transcript fallback and summaries83f3a10feat(web): animate processing signal coreb0aa669feat(tts): expose full xAI speech tag vocabulary319d9e8Add explicit Chat-only modefb630f3Prioritize explicit tool hints over learned avoidance31a4e4aGate negative insights by request triggersc8763c2Document Web Chat-only modeeb7b1d3docs(stash): clarify quotas and streaming roadmapef8464bImprove document OCR result handlingf943e92Add Grok 4.6 as xAI defaulta65be91Fix mixed workflow tool card orderingddecd01Pin Chat only atop tool suggestionsf9f0315use server side tools in movie night workflow68fb8caAdd Grok Imagine Image 2.0 catalog entryaf5e2afAdd credential and proxy health status UI00e5954Show TTS model and voice in AI settingsee7c7edfeat(web): add mode-aware user profile editor20b109csmall router context tweak337abf4remove provider specific phrase for imagesf734d46update status phrases example text in envs7353c94fix(tools): improve local services routing and diagnosticsdcdb84bupdate tracked jarvis intel tool doc417a57dfeat(monitoring): add GPU Hot alerts and status tool9b4e971Clarify request-scoped native tool availabilitybb9fd6cadd stash to ghost tool cloud envs36d2a5cfeat(llm): add native MiniCPM helper tier9a43669feat: unify embeddings on pinned Ollama modelb551227feat: simplify Ollama helper distribution437ac2ffeat: support external Ollama helper in Dockerba6e5cdfeat: add hybrid retrieval for tools and memory1fe5832feat: add scoped response preference lifecycle94a4a98v2.55.5
Files Added Or Notable New Paths
bin/benchmark-helper-llmbin/check-embeddings-health.pybin/check-intelligence-health.pybin/debug-tool-rag.pybin/jarvis-apibin/jarvis-servicesbin/re-embed-experiencebin/re-embed-insightbin/re-embed-memorybin/rebuild-embeddingsbin/setup-helper-llmbin/sync-intelligence-db.pybin/sync-memory-db.pybin/sync-tools.pydocs/ollama/JARVIS_EMBEDDING_MODEL.mddocs/tools/google-events-tool/README.mdjarvis-web/server/services/user_profile_service.pylib/embedding_inputs.pylib/embedding_metadata.pylib/embeddings.pylib/gpu_hot_client.pylib/hybrid_retrieval.pylib/intelligence.pylib/intelligence_hooks.pylib/llm_provider.pylib/memory_db.pylib/model_catalog.pylib/ollama_utils.pylib/openai_responses_adapter.pylib/provider_tool_policy.pylib/self_play.pylib/serpapi_client.pylib/status_llm.pylib/tool_logger.pylib/tool_schema.pylib/tool_search_runtime.pylib/user_profile.pylib/xai_oauth.pyorchestrator/router_prompts/README.mdorchestrator/router_prompts/v2.pyorchestrator/router_prompts/v3.pyorchestrator/router_prompts/v4.pyservices/gpu-hot-monitor/.gitignoreservices/gpu-hot-monitor/README.mdservices/gpu-hot-monitor/config.env.exampleservices/gpu-hot-monitor/gpu-hot-monitor.serviceservices/gpu-hot-monitor/gpu_hot_monitor.pyskills/gpu_hot_status.pyskills/gpu_hot_status.tool.jsonskills/serpapi_google_events.pyskills/serpapi_google_events.tool.jsontests/test_api_intel_mode_ingest.pytests/test_chat_only_mode.pytests/test_cloud_env_example.pytests/test_deep_memory_search_hybrid.pytests/test_embedding_metadata.pytests/test_gpu_hot_client.pytests/test_gpu_hot_monitor.pytests/test_gpu_hot_status.pytests/test_hybrid_retrieval.pytests/test_memory_api_hybrid_search.pytests/test_memory_hybrid_search.pytests/test_preference_lifecycle.pytests/test_serpapi_google_events.pytests/test_setup_helper_llm.pytests/test_tool_fts_integrity.pytests/test_tool_logger_retrieval.pytests/test_update_memory_tool.pytests/test_web_proxy_status.pytests/test_web_user_profile.py
Links
- Previous release: https://github.com/bigsk1/jarvis-voice/releases/tag/v2.55.4
- Compare: v2.55.4...v2.55.5
- Full changelog file: https://github.com/bigsk1/jarvis-voice/blob/main/docs/README.md