Use b) with a local datastore and attached LLM and it sounds like a great solution to me.
I would 100% give this a try if someone already has something rigged up on GitHub or try building it myself if not.
Should be easy to run on a modern machine and I hear open source LLMs are constantly improving.