diff --git a/website/docs/developer-guide/plugins/index.md b/website/docs/developer-guide/plugins/index.md index ad241b350f..3ba389c4e0 100644 --- a/website/docs/developer-guide/plugins/index.md +++ b/website/docs/developer-guide/plugins/index.md @@ -253,6 +253,25 @@ config keys (`plugins.entries..allow_tool_override`, …) still work but are deprecated — declare capabilities instead so users get a single, auditable consent screen. Capabilities are consent + audit, **not a sandbox**: they gate host API surfaces, nothing more. + +**Pip-distributed plugins** have no `plugin.yaml` directory once installed, +so declare capabilities in distribution metadata instead, via the companion +`hermes_agent.plugin_capabilities` entry-point group. Each declaration is +named `.` and points at the same object as your +`hermes_agent.plugins` entry point: + +```toml +[project.entry-points."hermes_agent.plugins"] +calculator = "my_pkg:register" + +[project.entry-points."hermes_agent.plugin_capabilities"] +"calculator.tools.override" = "my_pkg:register" +``` + +Hermes reads these from installed metadata without importing your code, so +`hermes plugins capabilities` and the consent flow stay accurate for pip +installs. + ### Manifest v2 reference `plugin.yaml` also supports an additive **v2 schema** (#64165). Every field is