mirror of
https://github.com/router-for-me/CLIProxyAPI.git
synced 2026-06-23 15:13:18 +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.
39 lines
1.5 KiB
Markdown
39 lines
1.5 KiB
Markdown
# 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
|
|
|
|
```bash
|
|
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.
|