Files
InterviewAI/contexts/README.md
spiro-alvin-nyasimi 08118cc650 Add context windows, web search, streamed answers, overlay move/resize; overhaul docs
- Context windows (contexts/*.yaml) scope answers to a defined domain
- Optional DuckDuckGo web search behind ai.web_search.enabled (default off)
- Stream partial answers into the overlay at first-token time
- Default Whisper to local base.en (~9x faster); offline model loading
- Priority-ordered loopback detection (BlackHole > Teams device)
- Overlay: drag interior to move, edges to resize
- Stop tracking model binaries (models/ is gitignored)
- README/CLAUDE.md overhaul + tracked config.example.yaml

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 11:22:34 +03:00

1.5 KiB

Context windows

Each .yaml file here defines a context window — a well-defined scope the AI reads before answering, so it stays on topic instead of drifting. The active context is prepended to every question (spoken and on-screen) before it goes to the model.

Example: with python_flask_backend.yaml active, asking "what is STOMP" gets the Python/Flask-relevant answer first (the WebSocket sub-protocol you'd use from a Flask backend), then a short note on other meanings — rather than a generic or off-topic answer.

Format

name: Python / Flask — Senior Backend Engineer   # display name
scope: Senior backend engineering interview …    # one-line summary (optional)
active: true        # mark exactly one file active
strict: false       # false → answer in-context first, then variations
                    # true  → stay strictly in-scope, no variations
definition: |       # required: the scope + how to interpret questions
  Free-form text describing the context…

Choosing the active context

  1. If config.yaml sets ai.active_context: <filename-without-extension>, that file wins (e.g. ai.active_context: python_flask_backend).
  2. Otherwise, the first file with active: true is used.
  3. If none match, the assistant answers without a context (default behavior).

Files are reloaded when they change on disk, so editing a context takes effect without restarting the app. To switch contexts, set active: true on one file (and false on the others), or set ai.active_context in config.yaml.