[Feature]: Manage LLM API keys from the web UI instead of .env
Feature Description
Currently, Open Notebook requires users to define their LLM-related API keys (for services like OpenAI, Anthropic, or Ollama) through environment variables in the .env file.
While this works technically, it makes configuration less accessible and requires rebuilding or restarting the container whenever a change is needed.
A better approach would be to integrate API key management directly into the web interface.
This could include a dedicated “LLM Settings” page where users can enter, update, or remove their keys through a secure form.
The values would then be stored in the internal database or configuration directory instead of relying on static environment variables.
This would make setup and maintenance much more intuitive and reduce the dependency on manual configuration or command-line access.
Why would this be helpful?
This would make setup and maintenance much easier for all users — especially those without technical experience.
It would also improve flexibility by allowing secure key management and updates directly in the UI without restarting the app.
Additional Context
A dedicated Settings section in the web UI could let users:
- View and update API keys for supported LLM providers
- Switch between different models
- Persist keys securely in the internal database or a config file under
/app/data/
This approach would make Open Notebook more user-friendly and better suited for a variety of self-hosting environments. 🚀
Yes man! That is something I've been planning to do for a while.. I had to get the frontend rollout out of the way first since it was getting too complex. Now, it's about time we start looking at this.
Yeah, that’s definitely going to make things a lot smoother once it’s in place. 💪🏻