运行在 Node、Browser 的任务调度框架,可用于搭建基于任务(Task)、执行点(Action)的 Agent 引擎。
const task = new Task({
taskName: "task name",
taskContent: "return any input and end with 'miao'",
maxRepeatCount: 3,
inputMeta: [
{
propertyName: "input1",
propertyType: "number",
propertyDesc: "description of property",
},
],
outputMeta: {
propertyName: "output",
propertyType: "number",
propertyDesc: "属性描述",
},
actionConfig: {
action: async (content, payload) => {
return await new Promise((resolve, reject) => {
setTimeout(() => {
const v1 = payload?.get("input1").toString();
resolve(v1 + "miao~");
}, 2000);
});
},
},
});
task1.addNextTasks([task2]);
// 将 任务2 的 input1 与 任务1 的输出进行关联
task2.bindPreOutput(task1, "input1");
const graph = new FlowContext({
// 开始任务
entryTask: [task1],
// 全部任务
taskPool: [task1, task2],
// 日志
logMode: LogMode.console,
});
await graph.run();