mirror of
https://gitcode.com/JianFeeeee/HomeAgent.git
synced 2026-09-21 09:28:14 +00:00
docs: 恢复内置插件中断投递 API 文档
PLUGIN_DEV.md 第二节保留公开 API (InjectText/InjectInterruptText/InjectTextNoMemory), 第四节新增"输入投递(内置插件)"小节展示 InjectInput/InjectInterrupt/InjectInputSync 等 内置插件专属方法,附注说明区分外部与内置插件 API 边界。
This commit is contained in:
@ -349,6 +349,26 @@ s.UnregisterChannel("mydevice")
|
||||
channels := s.ListChannels()
|
||||
```
|
||||
|
||||
#### Input Delivery (built-in plugins)
|
||||
|
||||
```go
|
||||
// Queued delivery (processed in order)
|
||||
s.InjectInput(source, channel, eventType string, payload map[string]interface{})
|
||||
|
||||
// Synchronous delivery (waits for response)
|
||||
resp := s.InjectInputSync(source, channel, eventType string, payload map[string]interface{})
|
||||
|
||||
// Interrupt delivery (can preempt current LLM processing)
|
||||
s.InjectInterrupt(source, channel, eventType string, payload map[string]interface{})
|
||||
|
||||
// Synchronous text shortcuts
|
||||
resp := s.InjectTextSync(source, channel, text string)
|
||||
resp := s.InjectTextSyncNoMemory(source, channel, text string)
|
||||
|
||||
// Get output channel
|
||||
outputCh := s.OutputChan()
|
||||
```
|
||||
|
||||
> **Note**: `Subscribe`, `Publish`, `RegisterChannel`, `UnregisterChannel`, `ListChannels`, `InjectInput`, `InjectInputSync`, `InjectInterrupt`, `InjectTextSync`, `InjectTextSyncNoMemory`, `OutputChan` are only available in built-in plugins (`internal/sdk` package). External dynamic plugins should use the public APIs: `InjectText`, `InjectInterruptText`, `InjectTextNoMemory`.
|
||||
|
||||
---
|
||||
|
||||
@ -350,6 +350,26 @@ s.UnregisterChannel("mydevice")
|
||||
channels := s.ListChannels()
|
||||
```
|
||||
|
||||
#### 输入投递(内置插件)
|
||||
|
||||
```go
|
||||
// 排队投递(按序处理)
|
||||
s.InjectInput(source, channel, eventType string, payload map[string]interface{})
|
||||
|
||||
// 同步投递(等待响应)
|
||||
resp := s.InjectInputSync(source, channel, eventType string, payload map[string]interface{})
|
||||
|
||||
// 中断投递(可打断当前 LLM 处理)
|
||||
s.InjectInterrupt(source, channel, eventType string, payload map[string]interface{})
|
||||
|
||||
// 同步文本投递(快捷方式)
|
||||
resp := s.InjectTextSync(source, channel, text string)
|
||||
resp := s.InjectTextSyncNoMemory(source, channel, text string)
|
||||
|
||||
// 获取输出通道
|
||||
outputCh := s.OutputChan()
|
||||
```
|
||||
|
||||
> **注意**:`Subscribe`、`Publish`、`RegisterChannel`、`UnregisterChannel`、`ListChannels`、`InjectInput`、`InjectInputSync`、`InjectInterrupt`、`InjectTextSync`、`InjectTextSyncNoMemory`、`OutputChan` 这些方法仅在内置插件中可用(`internal/sdk` 包),外部动态插件无法访问。外部插件请使用 `InjectText`、`InjectInterruptText`、`InjectTextNoMemory` 等公共 API。
|
||||
|
||||
---
|
||||
|
||||
Reference in New Issue
Block a user