| fix(plugins): remove unreachable hermes tools → Langfuse path
The langfuse plugin is hooks-only (no toolsets), so it never appears in
hermes tools — that menu iterates _get_effective_configurable_toolsets()
(= CONFIGURABLE_TOOLSETS + plugin-registered toolsets), and "langfuse"
is in neither. The TOOL_CATEGORIES["langfuse"] setup wizard (with its
post_setup: "langfuse" hook that pip-installs the SDK and writes
plugins.enabled) was reachable only when a toolset key "langfuse" got
enabled, which can't happen — so it's been dead code, and the docs that
promised "Setup (interactive): hermes tools → Langfuse Observability"
were silently broken.
Right home for that wizard is hermes plugins (e.g. auto-running a
plugin's post-setup hook on enable), which is a generic plugin-setup
mechanism worth designing properly rather than shoehorning langfuse
back into hermes tools. Until that exists, point users at the
working manual flow.
Code:
- Delete TOOL_CATEGORIES["langfuse"] (24 lines) — unreachable.
- Delete the post_setup_key == "langfuse" branch in _run_post_setup
(29 lines) — only caller was the deleted TOOL_CATEGORIES entry.
Docs / comments (point at the manual flow + interactive hermes plugins):
- plugins/observability/langfuse/README.md: collapse the two-option
setup section to the single working flow.
- plugins/observability/langfuse/plugin.yaml: update description.
- plugins/observability/langfuse/__init__.py: update module docstring.
- hermes_cli/config.py: update inline comment above the LANGFUSE_*
env-var allow-list.
- website/docs/user-guide/features/built-in-plugins.md: collapse
"Setup (interactive)" + "Setup (manual)" into one accurate block.
- website/docs/reference/environment-variables.md: update the
cross-reference in the Langfuse env-vars section.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
| 19 天前 |