Skip to content

feat: add custom environment keys in dashboard - #20808

Closed
CRMbyRSM wants to merge 2 commits into
NousResearch:mainfrom
CRMbyRSM:enhancement/custom-env-keys
Closed

feat: add custom environment keys in dashboard#20808
CRMbyRSM wants to merge 2 commits into
NousResearch:mainfrom
CRMbyRSM:enhancement/custom-env-keys

Conversation

@CRMbyRSM

@CRMbyRSM CRMbyRSM commented May 6, 2026

Copy link
Copy Markdown

Summary

  • Adds an “Add custom key” form to the dashboard Keys page for arbitrary environment variables.
  • Shows custom keys already present in .env in a dedicated Custom keys section.
  • Preserves existing curated provider/tool keys while marking unknown .env entries as custom metadata.
  • Adds duplicate-key warning and switches the action to Replace when a key already exists.

Why

The current Keys page only displays variables registered in OPTIONAL_ENV_VARS. That works for curated provider keys, but it makes valid user/plugin/tool environment variables invisible even though the backend can already save them.

This enhancement keeps the curated UX while allowing users to add project-specific or integration-specific keys from the WebUI.

Verification

  • python3 -m py_compile hermes_cli/web_server.py
  • cd web && source ~/.nvm/nvm.sh && nvm use 24 && npm run build

Note: the web build requires Node 20.19+ / 22.12+; Node 24 was used for verification.

@alt-glitch alt-glitch added type/feature New feature or request comp/cli CLI entry point, hermes_cli/, setup wizard P3 Low — cosmetic, nice to have labels May 6, 2026
@teknium1

Copy link
Copy Markdown
Contributor

Implemented on main; closing via automated hermes-sweeper review.

  • Commit 1c75e7c9d81230b8e1743e2ab626525c2231631f (feat(dashboard): list & add arbitrary custom .env keys on the Keys page) added the Custom Keys add-key form in web/src/pages/EnvPage.tsx:493 and is included in v2026.7.1.
  • hermes_cli/web_server.py:5985 now returns arbitrary non-channel-managed on-disk .env keys as masked custom rows, while hermes_cli/web_server.py:6001 persists values through the existing guarded PUT /api/env route.
  • tests/hermes_cli/test_env_custom_keys.py:31 covers custom-key listing and masking behavior.
  • The linked discussion on feat(dashboard): allow creating new env keys from Keys tab #49288 identified this PR as the earlier duplicate; feat(dashboard): list & add arbitrary custom .env keys on the Keys page #54552 supplied the merged implementation.

@teknium1 teknium1 closed this Jul 12, 2026
@teknium1 teknium1 added the sweeper:implemented-on-main Sweeper: behavior already present on current main label Jul 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp/cli CLI entry point, hermes_cli/, setup wizard comp/dashboard Web dashboard / control panel UI (dashboard/, landing) P3 Low — cosmetic, nice to have sweeper:implemented-on-main Sweeper: behavior already present on current main type/feature New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants