mirror of
https://gitcode.com/JianFeeeee/homeagent-sdk.git
synced 2026-09-20 00:48:12 +00:00
fix(plugindev): bridge 模板补 dispatchIO.SetToolBlocks,修复外部插件无法编译
SDK v0.9.2(68497b4)给 IOInjector 加了 SetToolBlocks,但 plugindev 的
C ABI bridge 模板(tmplLinuxBridge)未同步,导致任何外部插件在当前 SDK 下
编译失败:
z_bridge_gen.go:97: cannot use dispatchIO{} as sdk.IOInjector value in
argument to base.SetIOInjector: dispatchIO does not implement
sdk.IOInjector (missing method SetToolBlocks)
补空实现满足接口。SetToolBlocks 是 Go 原生(进程内 IOManager)的多模态注入,
跨 ABI 无对应 method id 与内核桥接,故不做 callVoid 转发。
实测:example/qq 用重建后的 plugindev build --target linux/amd64 构建通过,
产出 .hmap 经 plugin_install 安装、重启后 20 个工具全部注册成功。
This commit is contained in:
@ -540,6 +540,9 @@ func (dispatchIO) InjectInterruptText(s, c, t string) { callVoid(6, s, c, t, 0,
|
||||
func (dispatchIO) InjectText(s, c, t string) { callVoid(5, s, c, t, 0, 0) }
|
||||
func (dispatchIO) InjectTextNoMemory(s, c, t string) { callVoid(7, s, c, t, 0, 0) }
|
||||
func (dispatchIO) InjectInputSync(s, c, t string) string { r, _ := callString(47, s, c, t, 0, 0); return r }
|
||||
// SetToolBlocks 是 Go 原生(非 ABI)的多模态注入;跨 ABI 的外部插件无对应内核桥接,
|
||||
// 故为空实现(满足接口即可)。需要多模态块时用插件内自持 SDK,不走 ABI。
|
||||
func (dispatchIO) SetToolBlocks([]sdk.ContentBlock) {}
|
||||
|
||||
type dispatchMemory struct{}
|
||||
func (dispatchMemory) Recall(q []string, d int) ([]sdk.Entity, []sdk.Relation, error) {
|
||||
|
||||
Reference in New Issue
Block a user