mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-07-06 12:52:11 +00:00
GET /api/tools/toolsets returns the full CONFIGURABLE_TOOLSETS set with no desktop curation, so the Skills & Tools → Toolsets list shows entries that don't belong in a flat per-user toggle: platform-coupled toolsets (discord, discord_admin, yuanbao — which `hermes tools` already platform-restricts off the CLI) and internal plumbing (context_engine, moa). `hermes tools` curates these out; the desktop didn't. Add a small documented block-list + predicate (mirroring desktop-slash-commands.ts) and apply it in the toolset list filter. Hiding a row is cosmetic — enabled state and runtime gating are untouched.
24 lines
1 KiB
TypeScript
24 lines
1 KiB
TypeScript
// Curation for the desktop "Skills & Tools → Toolsets" list.
|
|
//
|
|
// `GET /api/tools/toolsets` returns the full CONFIGURABLE_TOOLSETS set with no
|
|
// desktop-specific filter — so it surfaces entries that don't belong in a flat
|
|
// per-user toggle list on the desktop: platform-coupled toolsets (which
|
|
// `hermes tools` already platform-restricts on the CLI) and internal plumbing
|
|
// that isn't a user-facing capability. Mirror the curation approach used for
|
|
// slash commands (`desktop-slash-commands.ts`): one documented block-list, one
|
|
// predicate. Hiding a toolset only removes its row — its enabled state and
|
|
// runtime gating are untouched.
|
|
const DESKTOP_HIDDEN_TOOLSETS = new Set([
|
|
// Platform-coupled — only meaningful when that platform is the active
|
|
// adapter; `hermes tools` restricts these off the CLI too.
|
|
'discord',
|
|
'discord_admin',
|
|
'yuanbao',
|
|
// Internal plumbing, not a user capability toggle.
|
|
'context_engine',
|
|
'moa'
|
|
])
|
|
|
|
export function isDesktopToolsetVisible(name: string): boolean {
|
|
return !DESKTOP_HIDDEN_TOOLSETS.has(name)
|
|
}
|