docs: 添加 ag-ui 和 crewai 项目 skills 及更新文档

This commit is contained in:
qzl
2026-03-02 17:02:09 +08:00
parent 6fdbc34526
commit ca1ce3d84a
43 changed files with 56074 additions and 3 deletions
@@ -0,0 +1,99 @@
/**
* 最小 AG-UI Agent 实现示例
*
* 展示如何创建一个自定义 Agent,实现基本的事件流
*
* 参考文档: modules/agents.md (行 132-197)
*/
import {
AbstractAgent,
RunAgent,
RunAgentInput,
EventType,
BaseEvent,
} from "@ag-ui/client"
import { Observable } from "rxjs"
class MinimalAgent extends AbstractAgent {
/**
* 实现 run 方法,返回事件流
*/
run(input: RunAgentInput): RunAgent {
const { threadId, runId } = input
return () =>
new Observable<BaseEvent>((observer) => {
// 1. 发送 RUN_STARTED 事件
observer.next({
type: EventType.RUN_STARTED,
threadId,
runId,
})
// 2. 发送文本消息
const messageId = Date.now().toString()
// 消息开始
observer.next({
type: EventType.TEXT_MESSAGE_START,
messageId,
role: "assistant",
})
// 消息内容(流式)
observer.next({
type: EventType.TEXT_MESSAGE_CONTENT,
messageId,
delta: "Hello! ",
})
observer.next({
type: EventType.TEXT_MESSAGE_CONTENT,
messageId,
delta: "I'm a minimal AG-UI agent.",
})
// 消息结束
observer.next({
type: EventType.TEXT_MESSAGE_END,
messageId,
})
// 3. 发送 RUN_FINISHED 事件
observer.next({
type: EventType.RUN_FINISHED,
threadId,
runId,
})
// 完成流
observer.complete()
})
}
}
// 使用示例
const agent = new MinimalAgent({
agentId: "minimal-agent",
description: "A minimal AG-UI agent example",
})
// 运行 Agent 并订阅事件流
agent
.runAgent({
runId: "run_123",
threadId: "thread_456",
messages: [],
tools: [],
context: [],
})
.subscribe({
next: (event) => {
console.log(`[${event.type}]`, event)
},
error: (error) => console.error("Error:", error),
complete: () => console.log("Agent run completed"),
})
export { MinimalAgent }