mirror of
https://github.com/router-for-me/CLIProxyAPI.git
synced 2026-06-22 06:57:37 +08:00
- Removed `examples/plugin/main.go` and `internal/pluginhost/loader_plugin.go` after migrating to a more modular system. - Introduced `streamBridge` in `internal/pluginhost/stream_bridge.go` for efficient stream handling and communication. - Added examples of `thinking` plugins written in both Rust and Go under `examples/plugin/thinking`. - Enhanced test coverage for plugin host system changes, including stream chunk translation and thinking logic. - Improved API compatibility and ensured backward-compatible upgrades for plugin execution.
19 lines
356 B
Go
19 lines
356 B
Go
package pluginhost
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/router-for-me/CLIProxyAPI/v7/sdk/pluginabi"
|
|
)
|
|
|
|
const pluginHostABIVersion = pluginabi.ABIVersion
|
|
|
|
type pluginClient interface {
|
|
Call(ctx context.Context, method string, request []byte) ([]byte, error)
|
|
Shutdown()
|
|
}
|
|
|
|
type pluginLoader interface {
|
|
Open(path string, host *Host) (pluginClient, error)
|
|
}
|