dev
Extracted from Cyrene main repo (backend/pkg/plugins + backend/plugin-manager). Contains SDK interfaces (Plugin/Tool/HostAPI), 13 built-in plugins, ToolRegistry with call log ring buffer, and Plugin Manager REST API service. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Cyrene Plugins
Cyrene AI 的插件系统:社区可扩展工具 SDK + Plugin Manager 服务。
结构
├── sdk/ # 插件 SDK (Plugin, Tool, HostAPI 接口 + 类型定义)
├── manager/ # ToolRegistry (调用日志环形缓冲区) + PluginManager (生命周期管理)
├── calculator/ # 内置插件 (13 个)
├── crypto/ # - 加密/哈希
├── datetime/ # - 日期时间
├── file/ # - 文件操作
├── http/ # - HTTP 请求
├── iot_control/ # - IoT 设备控制
├── iot_query/ # - IoT 设备查询
├── json/ # - JSON 处理
├── markdown/ # - Markdown 渲染
├── random/ # - 随机数生成
├── text/ # - 文本处理
├── web_fetch/ # - 网页抓取
├── web_search/ # - 网页搜索
├── cmd/
│ └── plugin-manager/ # Plugin Manager 服务 (REST API, 端口 8094)
└── go.mod
快速开始
git clone git@git.yeij.top:AskaEth/Cyrene-Plugins.git
cd Cyrene-Plugins
go build ./...
运行 Plugin Manager
go run ./cmd/plugin-manager/
# 监听 :8094,提供 REST API 管理插件
API 端点
| 方法 | 路径 | 说明 |
|---|---|---|
| GET | /api/v1/plugins |
列出所有插件 |
| GET | /api/v1/plugins/:id |
插件详情 |
| POST | /api/v1/plugins/:id/enable |
启用插件 |
| POST | /api/v1/plugins/:id/disable |
禁用插件 |
| POST | /api/v1/plugins/:id/reload |
热重载 |
| DELETE | /api/v1/plugins/:id |
卸载 |
| GET | /api/v1/plugins/:id/tools |
列出插件工具 |
| GET | /api/v1/tools |
列出所有工具 |
| POST | /api/v1/tools/:id/execute |
执行工具 |
| GET | /api/v1/health |
健康检查 |
开发插件
实现 sdk.Plugin 接口(Metadata, Init, Start, Stop, Health, Tools),然后在 cmd/plugin-manager/main.go 中注册。
import "git.yeij.top/AskaEth/Cyrene-Plugins/sdk"
type MyPlugin struct{}
func (p *MyPlugin) Metadata() sdk.PluginMetadata {
return sdk.PluginMetadata{Name: "my-plugin", Version: "1.0.0"}
}
// ... 实现其余接口
与 Cyrene 主项目的集成
主项目 ai-core 通过 go.mod replace 指令引用本仓库进行本地开发:
replace git.yeij.top/AskaEth/Cyrene-Plugins => ../../../cyrene-plugins
许可证
MIT
Description