we0-auto-workflow
v1.0.0
Published
A workflow automation package with we0Task and we0SSE functions for seamless integration with we0.ai platform
Maintainers
Readme
we0-auto-workflow
一个用于与 we0.ai 平台无缝集成的工作流自动化包,提供 we0Task 和 we0SSE 函数。
安装
npm install we0-auto-workflow特性
- 🚀 任务执行: 支持阻塞和非阻塞任务执行
- 🔄 实时流式: 通过 SSE 获取实时任务状态
- 📁 文件支持: 支持多种文件类型(文档、图片、音频、视频)
- 🛠️ TypeScript: 完整的 TypeScript 类型定义
- 🔧 轻量级: 无额外依赖,开箱即用
快速开始
基本任务执行
import { we0Task } from 'we0-auto-workflow';
// 执行一个简单任务
const result = await we0Task(
'your-api-key',
{
message: 'Hello, world!',
count: 10
},
(result) => {
console.log('任务完成:', result);
}
);
console.log('执行结果:', result);实时流式处理
import { we0SSE } from 'we0-auto-workflow';
// 使用 SSE 获取实时更新
const result = await we0SSE(
'your-api-key',
{
message: 'Hello, world!',
streaming: true
},
(event, data) => {
console.log('SSE 事件:', event, data);
}
);文件处理
import { we0Task, FileObject } from 'we0-auto-workflow';
// 处理文件输入
const fileInput: FileObject[] = [
{
type: 'document',
transfer_method: 'remote_url',
url: 'https://example.com/document.pdf'
},
{
type: 'image',
transfer_method: 'local_file',
upload_file_id: 'uploaded-file-id'
}
];
const result = await we0Task(
'your-api-key',
{
files: fileInput,
instruction: '处理这些文件'
}
);API 文档
we0Task
执行一个非阻塞任务,通过轮询获取状态。
function we0Task(
apiKey: string,
inputs: WorkflowInputs,
callback?: TaskCallback,
baseUrl?: string,
pollingInterval?: number
): Promise<WorkflowResult>参数:
apiKey: 您的 API 密钥inputs: 输入参数对象callback: 可选的任务完成回调函数baseUrl: 可选的基础 URL,默认为https://dify.we0.aipollingInterval: 可选的轮询间隔,默认为 200ms
we0SSE
创建并执行一个流式 SSE 连接。
function we0SSE(
apiKey: string,
inputs: WorkflowInputs,
callback?: SSECallback,
baseUrl?: string
): Promise<WorkflowResult>参数:
apiKey: 您的 API 密钥inputs: 输入参数对象callback: 可选的 SSE 事件回调函数baseUrl: 可选的基础 URL,默认为https://dify.we0.ai
类型定义
WorkflowInputs
type WorkflowInputs = Record<string, InputValue>;
type InputValue = string | number | boolean | FileObject[] | any;WorkflowResult
interface WorkflowResult {
success: boolean;
data?: any;
error?: string;
workflowRunId?: string;
taskId?: string;
}FileObject
interface FileObject {
type: FileType;
transfer_method: TransferMethod;
url?: string; // 当 transfer_method 为 'remote_url' 时
upload_file_id?: string; // 当 transfer_method 为 'local_file' 时
}支持的文件类型
- 文档类型:
TXT,MD,MARKDOWN,PDF,HTML,XLSX,XLS,DOCX,CSV,EML,MSG,PPTX,PPT,XML,EPUB - 图片类型:
JPG,JPEG,PNG,GIF,WEBP,SVG - 音频类型:
MP3,M4A,WAV,WEBM,AMR - 视频类型:
MP4,MOV,MPEG,MPGA
错误处理
try {
const result = await we0Task('your-api-key', { message: 'test' });
if (!result.success) {
console.error('任务失败:', result.error);
}
} catch (error) {
console.error('执行错误:', error);
}许可证
MIT
贡献
欢迎提交问题和拉取请求!
支持
如果您有任何问题或需要帮助,请访问 GitHub Issues。
