diff --git a/.gitignore b/.gitignore index 81aa43e..caba830 100644 --- a/.gitignore +++ b/.gitignore @@ -36,6 +36,11 @@ third_party/homeagent-sdk/scripts/ third_party/homeagent-sdk/.gitignore third_party/homeagent-sdk/README* third_party/homeagent-sdk/example/ +# 文档站(mkdocs.yml + docs/ + 生成器)属于 SDK 仓,与 README* / tools/ 同理。 +# 注意 docs/ 带前导路径限定,够精确:本仓自己的 docs/ 不受影响。 +third_party/homeagent-sdk/docs/ +third_party/homeagent-sdk/mkdocs.yml +third_party/homeagent-sdk/site_build/ .codegraph/ # codegraph 本地索引配置(含嵌套 SDK 仓放行,仅本地生效) diff --git a/assets/docs/en/PLUGIN_DEV.md b/assets/docs/en/PLUGIN_DEV.md index d135b16..3b0063d 100644 --- a/assets/docs/en/PLUGIN_DEV.md +++ b/assets/docs/en/PLUGIN_DEV.md @@ -790,7 +790,14 @@ pmgr.ReloadPlugins() // Reload all plugins Internal: records are stored in SQLite `disabled_plugins` table (`name`, `disabled_at`, `disabled_by`). Disabling takes effect immediately (plugin stops receiving input); full removal requires a restart. -> **Note**: `PluginMgr()` is only available to built-in plugins; external dynamic plugins cannot call it directly. +> **Note**: `PluginMgr()` returns an interface with **only 3 methods** (`ReloadOne` / +> `ListLoadedPlugins` / `IsPluginDisabled`). Enable/disable/remove/reload-all +> (`EnablePlugin` / `DisablePlugin` / `RemovePlugin` / `ReloadPlugins`) and the +> built-in check (`IsBuiltinPlugin`) exist only on the kernel-internal +> `internal/sdk.PluginManager` — external plugins cannot reach them. To reload from +> an external plugin, use `ReloadOne`. +> The two interfaces have similar names but are **not the same**: +> `sdk.PluginMgrAPI` (public, 3 methods) vs `internal/sdk.PluginManager` (internal, 9). --- diff --git a/assets/docs/zh/PLUGIN_DEV.md b/assets/docs/zh/PLUGIN_DEV.md index 1004df4..ef7603f 100644 --- a/assets/docs/zh/PLUGIN_DEV.md +++ b/assets/docs/zh/PLUGIN_DEV.md @@ -783,7 +783,12 @@ pmgr.ReloadPlugins() // 重载所有插件 内部机制:禁用记录存储在 SQLite `disabled_plugins` 表(`name`, `disabled_at`, `disabled_by`),禁用立即生效(插件不再接收输入),完全卸载需重启内核。 -> **注意**:`PluginMgr()` 仅内置插件可用,外部动态插件无法直接调用。 +> **注意**:`PluginMgr()` 返回的接口**只有 3 个方法**(`ReloadOne` / `ListLoadedPlugins` / +> `IsPluginDisabled`)。启用/禁用/卸载/重载全部(`EnablePlugin` / `DisablePlugin` / +> `RemovePlugin` / `ReloadPlugins`)以及内置插件判定(`IsBuiltinPlugin`)只在内核内部 +> 的 `internal/sdk.PluginManager` 上,外部插件拿不到——需重载插件请调 `ReloadOne`。 +> 两个接口叫相似的名字但**不是同一个**:`sdk.PluginMgrAPI`(公开,3 方法)与 +> `internal/sdk.PluginManager`(内部,9 方法)。 ---