Previously any chat message containing an article URL triggered the
Blinkist FSM: Firecrawl extraction + LLM topic detection + 3-option
menu. Pasting a link as conversational context spammed the menu.
Now _check_for_url additionally requires an intent keyword (summary,
zusammenfassung, audio, mp3, blinkist, tldr, lies das, fasse zusammen,
discuss/diskutieren, etc.) before engaging. Without intent the URL
falls through to the normal AI handler.
Also bind-mount article_summary/ so future fixes survive container
recreate (matches the pattern used for bot.py/voice.py/agent.py).