refactor(models): route tasks to chat vs worker per new architecture

Chat and background model roles effectively swapped during the
conversation+curator pivot, but call sites still used OLD routing.
This commit re-routes each call to the model whose new role fits.

Moved to background_model (worker — heavy, deliberate):
- services/journal_prep.py: daily prep generation.
- services/user_profile.py: observation consolidation.

Moved to default_model (chat — small, fast):
- services/chat.py save_response_as_note: note title generation.
- services/tag_suggestions.py: tag suggestions.

Already routed correctly (unchanged): curator, closeout, consolidation,
project summaries, history summarization.

SettingsView.vue: help text rewritten for both model fields to
describe new roles. Background Model UI label renamed to Worker
Model so the heavier role is visible from the picker. Warning copy
updated to recommend OLLAMA_MAX_LOADED_MODELS=2+ so chat and worker
can stay loaded simultaneously.

Schema names default_model and background_model unchanged on purpose
(renaming requires migration + touches ~50 call sites for UX-only gain).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-23 11:00:47 -04:00
parent 48b99b62be
commit 85b212fbf2
5 changed files with 46 additions and 11 deletions
+9 -1
View File
@@ -144,7 +144,15 @@ async def _consolidate_observations(user_id: int) -> str:
user_prompt += f"Existing summary:\n{existing_summary}\n\n"
user_prompt += f"New observations:\n{obs_text}"
model = await get_setting(user_id, "default_model", Config.OLLAMA_MODEL)
# Profile observation consolidation reasons over multiple documents to
# produce a coherent summary — closer to curator-shaped work than chat.
# Route to worker (background_model). Falls back to OLLAMA_MODEL only if
# neither setting nor BACKGROUND default is available.
model = (
await get_setting(user_id, "background_model", "")
or Config.OLLAMA_BACKGROUND_MODEL
or Config.OLLAMA_MODEL
)
try:
new_summary = (await generate_completion(
[