文件最后提交记录最后更新时间
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 天前