@elevo-ai/plugin-sdk
v0.5.0
Published
Elevo Plugin SDK - Build plugins for the Elevo platform
Maintainers
Readme
@elevo/plugin-sdk
Elevo Plugin SDK - 用于构建 Elevo 平台插件的开发工具包。
安装
npm install @elevo/plugin-sdk使用
运行时 SDK
该包的运行时代码只会从 window.ElevoPluginSDK 读取 SDK 实例,主应用负责注入。插件代码通常仅导入类型。
在插件应用中使用
import sdk from '@elevo/plugin-sdk';
// 插件应用组件
export default function MyPluginApp() {
const handleSendMessage = async () => {
await sdk.conversation.sendMessage({
role: 'user',
content: '执行某个操作',
});
};
const handleListFiles = async () => {
const files = await sdk.workspace.files.list();
console.log('Files:', files);
};
return (
<div>
<h1>我的插件</h1>
<button onClick={handleSendMessage}>发送消息</button>
<button onClick={handleListFiles}>列出文件</button>
</div>
);
}类型定义
SDK 导出了完整的 TypeScript 类型定义:
import type {
PluginConfig,
// Workspace API
WorkspaceAPI,
FilesAPI,
WorkspaceFile,
// Conversation API
ConversationAPI,
MessageEvent,
SendMessageInput,
// 错误类型
PluginSDKError,
} from '@elevo/plugin-sdk';API 参考
ElevoPluginSDK
主 SDK 接口,包含以下属性:
| 属性 | 类型 | 描述 |
|------|------|------|
| workspace | WorkspaceAPI | 工作空间 API |
| conversation | ConversationAPI | 对话 API |
| config | PluginConfig | 插件配置 |
WorkspaceAPI
工作空间相关操作:
| 属性/方法 | 描述 |
|----------|------|
| id | 当前工作空间 ID |
| files | 文件管理 API |
FilesAPI
文件管理操作:
| 方法 | 描述 |
|------|------|
| list(dirPath?, pattern?) | 列出目录中的文件 |
| read(filePath) | 读取文件内容 |
| write(filePath, content) | 写入文件内容 |
| delete(filePath) | 删除文件 |
ConversationAPI
对话操作:
| 方法 | 描述 |
|------|------|
| sendMessage(message) | 发送消息给 Agent |
| onMessage(callback) | 订阅对话消息 |
Vite 配置
如果你使用 Vite 构建插件应用,请使用以下配置:
// vite.config.ts
import { defineConfig } from 'vite';
import react from '@vitejs/plugin-react';
export default defineConfig({
plugins: [react()],
build: {
lib: {
entry: 'src/App.tsx',
name: 'MyPluginApp', // 必须与 plugin.json 中的 entry 一致
fileName: 'app',
formats: ['umd'],
},
rollupOptions: {
external: ['react', 'react-dom'],
output: {
globals: {
react: 'React',
'react-dom': 'ReactDOM',
},
},
},
},
});许可证
MIT
