mirror of
https://github.com/ksyasuda/dotfiles.git
synced 2026-03-20 18:11:27 -07:00
update skills
This commit is contained in:
@@ -0,0 +1,89 @@
|
||||
# Cloudflare Agents SDK
|
||||
|
||||
Cloudflare Agents SDK enables building AI-powered agents on Durable Objects with state, WebSockets, SQL, scheduling, and AI integration.
|
||||
|
||||
## Core Value
|
||||
Build stateful, globally distributed AI agents with persistent memory, real-time connections, scheduled tasks, and async workflows.
|
||||
|
||||
## When to Use
|
||||
- Persistent state + memory required
|
||||
- Real-time WebSocket connections
|
||||
- Long-running workflows (minutes/hours)
|
||||
- Chat interfaces with AI models
|
||||
- Scheduled/recurring tasks with state
|
||||
- DB queries with agent state
|
||||
|
||||
## What Type of Agent?
|
||||
|
||||
| Use Case | Class | Key Features |
|
||||
|----------|-------|--------------|
|
||||
| AI chat interface | `AIChatAgent` | Auto-streaming, tools, message history, resumable |
|
||||
| MCP tool provider | `Agent` + MCP | Expose tools to AI systems |
|
||||
| Custom logic/routing | `Agent` | Full control, WebSockets, email, SQL |
|
||||
| Real-time collaboration | `Agent` | WebSocket state, broadcasts |
|
||||
| Email processing | `Agent` | `onEmail()` handler |
|
||||
|
||||
## Quick Start
|
||||
|
||||
**AI Chat Agent:**
|
||||
```typescript
|
||||
import { AIChatAgent } from "agents";
|
||||
import { openai } from "@ai-sdk/openai";
|
||||
|
||||
export class ChatAgent extends AIChatAgent<Env> {
|
||||
async onChatMessage(onFinish) {
|
||||
return this.streamText({
|
||||
model: openai("gpt-4"),
|
||||
messages: this.messages,
|
||||
onFinish,
|
||||
});
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
**Base Agent:**
|
||||
```typescript
|
||||
import { Agent } from "agents";
|
||||
|
||||
export class MyAgent extends Agent<Env> {
|
||||
onStart() {
|
||||
this.sql`CREATE TABLE IF NOT EXISTS users (id TEXT PRIMARY KEY)`;
|
||||
}
|
||||
|
||||
async onRequest(request: Request) {
|
||||
return Response.json({ state: this.state });
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## Reading Order
|
||||
|
||||
| Task | Files to Read |
|
||||
|------|---------------|
|
||||
| Quick start | README only |
|
||||
| Build chat agent | README → api.md (AIChatAgent) → patterns.md |
|
||||
| Setup project | README → configuration.md |
|
||||
| Add React frontend | README → api.md (Client Hooks) → patterns.md |
|
||||
| Build MCP server | api.md (MCP) → patterns.md |
|
||||
| Background tasks | api.md (Scheduling, Task Queue) → patterns.md |
|
||||
| Debug issues | gotchas.md |
|
||||
|
||||
## Package Entry Points
|
||||
|
||||
| Import | Purpose |
|
||||
|--------|---------|
|
||||
| `agents` | Server-side Agent classes, lifecycle |
|
||||
| `agents/react` | `useAgent()` hook for WebSocket connections |
|
||||
| `agents/ai-react` | `useAgentChat()` hook for AI chat UIs |
|
||||
|
||||
## In This Reference
|
||||
- [configuration.md](./configuration.md) - SDK setup, wrangler config, routing
|
||||
- [api.md](./api.md) - Agent classes, lifecycle, client hooks
|
||||
- [patterns.md](./patterns.md) - Common workflows, best practices
|
||||
- [gotchas.md](./gotchas.md) - Common issues, limits
|
||||
|
||||
## See Also
|
||||
- durable-objects - Agent infrastructure
|
||||
- d1 - External database integration
|
||||
- workers-ai - AI model integration
|
||||
- vectorize - Vector search for RAG patterns
|
||||
Reference in New Issue
Block a user