mirror of
https://gitcode.com/JianFeeeee/HomeAgent.git
synced 2026-11-05 16:57:32 +00:00
refactor(plugin): clawhubadapter 迁出为外部插件
## 为什么迁
它是唯一还留在内核仓的「兼容层」插件,而它的全部工作都是对接**外部生态**
(ClawHub/OpenClaw 的包格式),跟内核版本无关。留在仓里有两个实际问题:
· 外部生态的新包格式跟进要走内核发版
· 它必须跟着内核一起重新编译,而它并不依赖内核内部实现
## 迁移改动(逻辑一行没动,只换接口形态)
package clawhubadapter → package main
init()+RegisterFactory → NewPluginFactory(proc 运行时按名调用)
internal/sdk → hologramagentsdk/sdk
internal/safeclose.Safe → 自写 safeClose[T](泛型覆盖 3 种 channel)
InjectInputSync(4 参) → InjectInputSync(3 参, 返回 string)
s.Events().Publish → 删除(外部插件拿不到,也不需要)
## 为什么删掉 Events().Publish 而不是找替代
原实现靠它把纯 SKILL 条目移交 skillmgr。查清后发现**不需要**:
pluginmgr 在安装与每次启动时扫 `<插件目录>/skill/` 自己发 skill_detected
(internal/plugins/pluginmgr/skill_handout.go)。外部插件带 skill 走
工程根 skill/ 目录,与插件能不能发事件是两件事。
链路上没有一行来自插件自身,实测日志:
[pluginmgr] clawhubadapter: handed off skill clawhub-tools to skillmgr
[skillmgr] registered via skill_detected event: clawhub-tools
[plugin] loaded SKILL: clawhub-tools v1.0.0
## 验证
迁移工程 /home/program/clawhubadapter-plugin/clawhubadapter
go vet / gofmt 干净
go test -race ok(20 条原有 + 4 条外部形态判据)
hmapdev build packaged clawhubadapter_bundle.hmap
变异验证 4 条判据全部真红
隔离实例端到端(真实安装路径,非模拟):
registering tool: clawhubadapter_* × 10
[plugin] loaded: clawhubadapter
[plugin] loaded SKILL: clawhub-tools v1.0.0
内核仓:go build / vet / gofmt / go test -race 全绿,62 包
## 生产切换的注意点
本 commit 只删源码,**不改生产**。生产 homed 里仍编着内置版;
要真切换必须先装 .hmap 再重编 homed,否则等于把这个插件弄没了。
This commit is contained in:
@ -37,7 +37,7 @@ package plugins
|
||||
// pluginmgr failback 恢复链必需(webui/pluginmgr/recoverydiag)
|
||||
// seq ToolAPI(工具表直接操作)
|
||||
// remotedevice RegisterChannel(内核 IO 通道注册面)
|
||||
// clawhubadapter InjectInputSync(OC 主动注入)
|
||||
// clawhubadapter 已迁出为外部插件(HologramAgent/clawhubadapter,2026-11-04)
|
||||
// agentcli ★ EventPublish —— 见下
|
||||
// cfgmgr / skillmgr / seemedia (保留)
|
||||
//
|
||||
@ -94,7 +94,6 @@ package plugins
|
||||
import (
|
||||
_ "github.com/JianFeeeee/HologramAgent/internal/plugins/agentcli"
|
||||
_ "github.com/JianFeeeee/HologramAgent/internal/plugins/cfgmgr"
|
||||
_ "github.com/JianFeeeee/HologramAgent/internal/plugins/clawhubadapter"
|
||||
_ "github.com/JianFeeeee/HologramAgent/internal/plugins/cli"
|
||||
_ "github.com/JianFeeeee/HologramAgent/internal/plugins/healthcheck"
|
||||
_ "github.com/JianFeeeee/HologramAgent/internal/plugins/kbtree"
|
||||
|
||||
Reference in New Issue
Block a user