Copilotkit Agui

CopilotKit/skills/skills/copilotkit-agui

作者 CopilotKit8d78cf908844a30d2909f7da4eb8cb6f51fa02ad無授權條款38 個星標收錄於 2026年10月9日更新於 2026年10月9日儲存庫4 個月前更新

Use when building custom agent backends, implementing the AG-UI protocol, debugging streaming issues, or understanding how agents communicate with frontends. Covers event types, SSE transport, AbstractAgent/HttpAgent patterns, state synchronization, tool calls, and human-in-the-loop flows.

已封存僅含說明Software DevelopmentAI & Agents
AI 產生的概覽

AG-UI 協定參考,涵蓋事件類型、SSE 傳輸、代理後端與狀態同步。

功能
此技能提供 CopilotKit AG-UI 協定(代理與前端通訊)的參考資料。內容記錄事件家族、SSE 傳輸格式、各套件的作用、協定規則,以及建置 AG-UI 後端的工作流程。它也指向隨附的參考檔案,涵蓋協定規格、後端建置、事件流程圖與用戶端 SDK。
適用情境
適用於建置使用 AG-UI 的自訂代理後端、實作 AbstractAgent.run(),或排查串流傳輸與事件順序問題。也用於狀態同步以及人在迴圈中斷/恢復流程的相關工作。
執行需求
沒有指令碼,只有說明與參考文件。若要使用文中提到的套件(@ag-ui/core、@ag-ui/client、@ag-ui/encoder),需要 JavaScript/Node 環境,以及用於 npm 安裝的網路存取。

AG-UI Protocol Skill

Overview

AG-UI (Agent-User Interaction) is CopilotKit's open event-based protocol for agent-to-UI communication. All agent-frontend interaction flows through typed events streamed over SSE (Server-Sent Events) or binary protobuf transport. Agents implement AbstractAgent.run() returning an RxJS Observable<BaseEvent>, and the client SDK handles event application, state management, and message history.

When to Use

  • Building a custom agent backend that needs to speak AG-UI
  • Implementing AbstractAgent.run() for a new framework integration
  • Debugging why events aren't reaching the frontend or arriving malformed
  • Understanding event ordering (lifecycle, text, tool calls, state)
  • Working with state synchronization (snapshots vs JSON Patch deltas)
  • Implementing human-in-the-loop interrupt/resume flows
  • Troubleshooting SSE streaming or encoding issues

When NOT to Use

  • For CopilotKit React hooks and frontend components, use copilotkit-develop
  • For CopilotKit runtime setup and configuration, use copilotkit-setup
  • For framework-specific integration guides (LangGraph, Mastra, CrewAI), use copilotkit-integrations

Quick Reference

Event Families

FamilyEventsPurpose
LifecycleRUN_STARTED, RUN_FINISHED, RUN_ERROR, STEP_STARTED, STEP_FINISHEDRun boundaries and progress
TextTEXT_MESSAGE_START, TEXT_MESSAGE_CONTENT, TEXT_MESSAGE_ENDStreaming text messages
Tool CallsTOOL_CALL_START, TOOL_CALL_ARGS, TOOL_CALL_END, TOOL_CALL_RESULTAgent tool invocations
StateSTATE_SNAPSHOT, STATE_DELTA, MESSAGES_SNAPSHOTState synchronization
ReasoningREASONING_START, REASONING_MESSAGE_START/CONTENT/END, REASONING_END, REASONING_ENCRYPTED_VALUEChain-of-thought visibility
ActivityACTIVITY_SNAPSHOT, ACTIVITY_DELTAStructured progress updates
CustomRAW, CUSTOMExtension points

Convenience Chunk Events

TEXT_MESSAGE_CHUNK and TOOL_CALL_CHUNK auto-expand into Start/Content/End triads via the client's transformChunks pipeline. Use these for simpler backend implementations.

SSE Wire Format

Each event is a JSON object sent as an SSE data line:

data: {"type":"RUN_STARTED","threadId":"t1","runId":"r1"}\n\ndata: {"type":"TEXT_MESSAGE_START","messageId":"m1","role":"assistant"}\n\ndata: {"type":"TEXT_MESSAGE_CONTENT","messageId":"m1","delta":"Hello"}\n\ndata: {"type":"TEXT_MESSAGE_END","messageId":"m1"}\n\ndata: {"type":"RUN_FINISHED","threadId":"t1","runId":"r1"}\n\n

Packages

PackagenpmPurpose
@ag-ui/coreEvents, types, schemasProtocol definition
@ag-ui/clientAbstractAgent, HttpAgent, middleware, event applicationClient SDK
@ag-ui/encoderEventEncoder (SSE + protobuf)Server-side encoding

Workflow: Building an AG-UI Backend

  1. Define your endpoint -- Accept POST with RunAgentInput body, respond with text/event-stream
  2. Parse input -- Extract threadId, runId, messages, tools, state, context from the request body
  3. Emit events in order -- RUN_STARTED first, then content events, then RUN_FINISHED or RUN_ERROR
  4. Encode as SSE -- Use @ag-ui/encoder's EventEncoder.encode() or manually write data: JSON\n\n
  5. Handle tool results -- Client sends TOOL_CALL_RESULT back; agent processes and continues

See references/building-agents.md for a complete working example.

Key Protocol Rules

  • Every run MUST start with RUN_STARTED and end with RUN_FINISHED or RUN_ERROR
  • TEXT_MESSAGE_CONTENT.delta must be non-empty
  • Tool call events are linked by toolCallId
  • STATE_DELTA uses RFC 6902 JSON Patch operations
  • Multiple sequential runs are supported -- each must complete before the next starts
  • Messages accumulate across runs; state continues unless reset by STATE_SNAPSHOT

References

  • references/protocol-spec.md -- Complete event type reference with schemas and examples
  • references/building-agents.md -- Step-by-step guide to building AG-UI backends
  • references/event-flow-diagrams.md -- ASCII sequence diagrams for common flows
  • references/client-sdk.md -- @ag-ui/client API reference

來源與署名

來源:CopilotKit/skills位於skills/copilotkit-agui提交8d78cf9

授權條款: 無授權條款

內容歸原作者所有。SourceWeft 從公開儲存庫中收錄這些內容。

檢舉或申請下架