hermes-agent/web/src/pages
Teknium 914befa9aa feat(dashboard): profile-scoped skills & toolsets management
'Set as active' on the Profiles page only flips the sticky active_profile
file (future CLI/gateway runs) — it never retargets the running dashboard
process. The skills/toolsets endpoints called bare load_config()/
save_config(), so after 'activating' a profile in the web UI, deactivating
a skill silently wrote into the dashboard's own profile and the activated
profile was untouched.

Backend:
- _profile_scope() context manager on the skills/toolsets endpoints:
  context-local HERMES_HOME override for call-time config resolution +
  cron-style locked swap of tools.skills_tool's import-time SKILLS_DIR
- profile param on /api/skills, /api/skills/toggle, /api/tools/toolsets*
  (list/toggle/config/provider/env), hub sources/search installed-state
- hub install/uninstall/update spawn 'hermes -p <profile> skills ...' so
  the child rebinds skills_hub.SKILLS_DIR at import (the override cannot
  reach import-time globals); profile validated -> 404/400 before spawn

Frontend:
- Skills page: profile selector (deep-linkable /skills?profile=<name>),
  amber banner naming the managed profile, threaded through skill toggles,
  toolset drawer, and hub browser
- Profiles page: 'Manage skills & tools' action per card; 'Set as active'
  toast now says it applies to new CLI/gateway runs only

Omitted profile keeps legacy behavior (dashboard's own profile).
2026-06-10 20:34:53 -07:00
..
AnalyticsPage.tsx feat(dashboard): nous-blue theme, bulk sessions, schedule picker (#37383) 2026-06-02 12:37:40 -04:00
ChannelsPage.tsx fix: dedupe concurrent gateway restarts + surface restart outcome in onboarding UI 2026-06-10 01:35:12 -07:00
ChatPage.tsx fix(dashboard): explain WHY a chat WS connection was refused (#38743) 2026-06-04 00:36:03 -07:00
ConfigPage.tsx Merge remote-tracking branch 'origin/main' into refactor/use-ds-primitives 2026-05-28 14:20:49 -04:00
CronPage.tsx fix(dashboard): populate cron delivery dropdown from configured platforms (#40218) 2026-06-05 20:23:54 -07:00
DocsPage.tsx fix(web): force light color-scheme on docs iframe 2026-05-07 04:55:47 -07:00
EnvPage.tsx feat(dashboard): enrich profiles dashboard and de-dupe channel env vars (#37872) 2026-06-03 10:37:36 -04:00
FilesPage.tsx Move folder creation into dialog 2026-06-10 09:53:12 -07:00
LogsPage.tsx Merge remote-tracking branch 'origin/main' into refactor/use-ds-primitives 2026-05-28 14:20:49 -04:00
McpPage.tsx feat(dashboard): complete admin panel — MCP catalog, enable/disable toggles, hook creation, system stats (#36736) 2026-06-02 00:16:11 -04:00
ModelsPage.tsx fix(model): require confirmation for expensive model selections 2026-06-10 00:24:06 -07:00
PairingPage.tsx feat(dashboard): full administration panel — MCP, pairing, webhooks, credentials, memory, gateway, ops (#36704) 2026-06-01 02:58:02 -07:00
PluginsPage.tsx feat(plugins): install from a subdirectory within a repo (#42963) 2026-06-09 13:42:51 -04:00
ProfileBuilderPage.tsx feat(dashboard): full-featured profile builder (model + skills + MCPs) (#39084) 2026-06-10 09:18:32 -07:00
ProfilesPage.tsx feat(dashboard): profile-scoped skills & toolsets management 2026-06-10 20:34:53 -07:00
SessionsPage.tsx feat(dashboard): nous-blue theme, bulk sessions, schedule picker (#37383) 2026-06-02 12:37:40 -04:00
SkillsPage.tsx feat(dashboard): profile-scoped skills & toolsets management 2026-06-10 20:34:53 -07:00
SystemPage.tsx feat(dashboard): add Debug Share to the System page (#38600) 2026-06-03 19:37:04 -07:00
WebhooksPage.tsx fix(dashboard): point webhook-disabled hint at Channels page (#43324) 2026-06-09 22:41:52 -07:00