mirror of
https://github.com/router-for-me/CLIProxyAPI.git
synced 2026-06-18 15:53:45 +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.
Standard Dynamic Library Plugin Examples
This directory contains standard dynamic library plugin examples for the CLIProxyAPI C ABI.
Layout
simple/: full provider-native skeleton that declares every supported capability.model/: model capability only.auth/: auth provider capability only.frontend-auth/: frontend auth provider capability only.executor/: executor capability only.protocol-format/: minimal executor focused on input/output format declarations.request-translator/: request translation capability only.request-normalizer/: request normalization capability only.response-translator/: response translation capability only.response-normalizer/: response normalization capability only.thinking/: thinking applier capability only.usage/: usage observer capability only.cli/: command-line capability only.management-api/: Management API capability only.host-callback/: minimal Management API route that demonstrates host callbacks.
Each example directory contains go/, c/, and rust/ subdirectories.
Build All Examples
make -C examples/plugin list
make -C examples/plugin build
Artifacts are written to examples/plugin/bin.
Notes
protocol-format uses a minimal executor because format declarations belong to executor capabilities.
host-callback uses a minimal Management API route because host callbacks are invoked from plugin methods and are not standalone capabilities.