agent-studio-chat
Work on Agent Studio chat (UI + streaming) and the /api/chat route. Use for tasks like message rendering, reasoning display, editing/regenerate, Zustand chat stores, model/settings UI, and OpenRouter or Vercel AI SDK integration. 聊天功能开发/排障:流式输出、Reasoning 展示、消息编辑与重新生成、模型与参数设置。
When & Why to Use This Skill
This Claude skill is designed to accelerate the development and debugging of sophisticated AI chat interfaces. It provides expert-level guidance on implementing real-time streaming, reasoning displays, and complex state management using the Vercel AI SDK and Zustand. By focusing on both the frontend UI components and the backend /api/chat routes, it helps developers build robust, feature-rich agentic chat applications with seamless OpenRouter integrations.
Use Cases
- Implementing real-time streaming and reasoning metadata displays to improve the transparency of AI thought processes in the UI.
- Developing advanced chat features such as message editing, regeneration, and persistent conversation history using Zustand stores.
- Architecting and debugging Next.js API routes for LLM integration, specifically handling provider-specific metadata and stream formatting.
- Building comprehensive model settings panels that allow users to adjust sampling parameters, system instructions, and provider configurations.
| name | agent-studio-chat |
|---|---|
| description | Work on Agent Studio chat (UI + streaming) and the /api/chat route. Use for tasks like message rendering, reasoning display, editing/regenerate, Zustand chat stores, model/settings UI, and OpenRouter or Vercel AI SDK integration. 聊天功能开发/排障:流式输出、Reasoning 展示、消息编辑与重新生成、模型与参数设置。 |
Agent Studio Chat
Follow the data flow
- Start from
src/components/features/chat/hooks/useChatLogic.ts(Vercel AI SDKuseChat+DefaultChatTransport). - Server route is
src/app/api/chat/route.ts(OpenRouter provider +streamText). - UI entry is
src/components/features/chat/ChatInterface.tsx(Virtuoso list +ChatInput).
Know the state layers
- Conversation persistence:
src/lib/store/useChatStore.ts - UI-only transient state (editing/copy):
src/lib/store/useChatUIStore.ts - Model + sampling + system instructions:
src/lib/store/useSettingsStore.tsandsrc/components/features/settings/SettingsPanel.tsx
Make safe changes
- Preserve
UIMessage.partswhen needed (reasoning parts may carry provider metadata; seesrc/app/api/chat/route.ts). - Prefer adding new transient UI flags to
useChatUIStoreto avoid prop drilling. - Keep feature code under
src/components/features/chat/and reusesrc/components/ui/*primitives.