From f8a1ca31c6497ce2b348c115656d70458e44491a Mon Sep 17 00:00:00 2001 From: teknium1 <127238744+teknium1@users.noreply.github.com> Date: Sat, 3 Oct 2026 14:16:46 -0700 Subject: [PATCH] docs: left-core migration table in plugins/AGENTS.md; HA tools sit behind Tool Search like every plugin tool --- plugins/AGENTS.md | 6 ++++++ website/docs/user-guide/messaging/homeassistant.md | 4 ++-- .../current/user-guide/messaging/homeassistant.md | 4 ++-- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/plugins/AGENTS.md b/plugins/AGENTS.md index 2da52d73a5..d29966cda0 100644 --- a/plugins/AGENTS.md +++ b/plugins/AGENTS.md @@ -25,6 +25,12 @@ command. A hook with no concrete consumer is speculative infrastructure and is r `plugins.memory.import_provider_module`, never a `plugins.memory.` import. New backends ship as standalone repos implementing the same `MemoryProvider` ABC, discovered through the same path, integrated via `hermes memory setup` / `post_setup()`. +- **Other features that leave core** (Home Assistant platform + toolset, Oct 2026 → + `plugin-catalog/homeassistant.yaml`) keep their names/config/env and get a row in + `hermes_cli/left_core_migration.py::LEFT_CORE` (catalog plugin + read-only "this home uses it" + predicate); `hermes update` and agent/gateway start install the plugin for homes that used it. + Core special cases become `PlatformEntry` seams the plugin sets (`trusted_inbound`, + `display_tier`, `shared_env_prefixes`), never a name check. - **No new third-party-product plugins (June 2026).** Observability/metrics backends, vendor SaaS connectors, analytics dashboards, paid-service tie-ins ship as standalone plugin repos (`~/.hermes/plugins/` or pip entry point) promoted in Discord `#plugins-skills-and-skins`. Reason: diff --git a/website/docs/user-guide/messaging/homeassistant.md b/website/docs/user-guide/messaging/homeassistant.md index 8cb03c2740..6eda6f8d77 100644 --- a/website/docs/user-guide/messaging/homeassistant.md +++ b/website/docs/user-guide/messaging/homeassistant.md @@ -27,9 +27,9 @@ hermes -p plugins install homeassistant The plugin declares its own Python dependency (`aiohttp`), so there is no pip extra to install. The old `hermes-agent[homeassistant]` extra has been removed. :::info Upgrading from a release that bundled Home Assistant -Nothing to do. Every profile that was already using Home Assistant — `HASS_TOKEN` in its `.env`, `platforms.homeassistant` enabled or configured in `config.yaml`, or the `homeassistant` toolset listed in `platform_toolsets` — gets the plugin installed automatically from the catalog by `hermes update` (for all profiles sharing the install). If that step could not run, Hermes installs it the first time the profile starts (agent or gateway start; this honours `security.allow_lazy_installs`). The outcome is reported in the terminal, the Desktop app and chat. +Nothing to do. Every profile that was already using Home Assistant — `HASS_TOKEN` in its `.env`, `platforms.homeassistant` enabled (or given a `token`) in `config.yaml`, or the `homeassistant` toolset listed in `platform_toolsets` — gets the plugin installed automatically from the catalog by `hermes update` (for all profiles sharing the install). If that step could not run, Hermes installs it the first time the profile starts (agent or gateway start; this honours `security.allow_lazy_installs`). The outcome is reported in the terminal, the Desktop app and chat. -Your configuration carries over unchanged: the same `HASS_TOKEN` / `HASS_URL` variables, the same `homeassistant` platform name and `platforms.homeassistant` keys, the same `homeassistant` toolset and tool names, and the same cron `deliver: homeassistant:` syntax. +Your configuration carries over unchanged: the same `HASS_TOKEN` / `HASS_URL` variables, the same `homeassistant` platform name and `platforms.homeassistant` keys, the same `homeassistant` toolset and tool names, and the same cron `deliver: homeassistant:` syntax. One difference: like every plugin tool, the `ha_*` tools sit behind [Tool Search](../features/tools.md) (`tool_search` / `tool_call`) when it is on, instead of being listed directly. ::: ## Setup diff --git a/website/i18n/zh-Hans/docusaurus-plugin-content-docs/current/user-guide/messaging/homeassistant.md b/website/i18n/zh-Hans/docusaurus-plugin-content-docs/current/user-guide/messaging/homeassistant.md index 9735bfcaef..44c22d9466 100644 --- a/website/i18n/zh-Hans/docusaurus-plugin-content-docs/current/user-guide/messaging/homeassistant.md +++ b/website/i18n/zh-Hans/docusaurus-plugin-content-docs/current/user-guide/messaging/homeassistant.md @@ -27,9 +27,9 @@ hermes -p plugins install homeassistant 插件自行声明其 Python 依赖(`aiohttp`),因此无需安装 pip extra。旧的 `hermes-agent[homeassistant]` extra 已被移除。 :::info 从内置 Home Assistant 的版本升级 -无需任何操作。每个已在使用 Home Assistant 的 profile(`.env` 中有 `HASS_TOKEN`、`config.yaml` 中启用或配置了 `platforms.homeassistant`,或 `platform_toolsets` 中列出了 `homeassistant` 工具集)都会在 `hermes update` 时自动从插件目录安装该插件(覆盖共享同一安装的所有 profile)。若该步骤未能执行,Hermes 会在该 profile 首次启动时(agent 启动或 gateway 启动)安装插件,此行为遵循 `security.allow_lazy_installs`。安装结果会显示在终端、Desktop 应用和聊天中。 +无需任何操作。每个已在使用 Home Assistant 的 profile(`.env` 中有 `HASS_TOKEN`、`config.yaml` 中启用了 `platforms.homeassistant`(或为其设置了 `token`),或 `platform_toolsets` 中列出了 `homeassistant` 工具集)都会在 `hermes update` 时自动从插件目录安装该插件(覆盖共享同一安装的所有 profile)。若该步骤未能执行,Hermes 会在该 profile 首次启动时(agent 启动或 gateway 启动)安装插件,此行为遵循 `security.allow_lazy_installs`。安装结果会显示在终端、Desktop 应用和聊天中。 -您的配置保持不变:相同的 `HASS_TOKEN` / `HASS_URL` 变量、相同的 `homeassistant` 平台名称和 `platforms.homeassistant` 配置键、相同的 `homeassistant` 工具集和工具名称,以及相同的 cron `deliver: homeassistant:` 语法。 +您的配置保持不变:相同的 `HASS_TOKEN` / `HASS_URL` 变量、相同的 `homeassistant` 平台名称和 `platforms.homeassistant` 配置键、相同的 `homeassistant` 工具集和工具名称,以及相同的 cron `deliver: homeassistant:` 语法。唯一的区别:与所有插件工具一样,启用 [Tool Search](../features/tools.md) 时,`ha_*` 工具通过 `tool_search` / `tool_call` 调用,而不是直接列出。 ::: ## 配置