import { defineChat } from '@agentskit/chat'
import type { AdapterFactory } from '@agentskit/core'
export const supportChat = (adapter: AdapterFactory) =>
defineChat({
id: 'support',
chat: {
adapter,
systemPrompt: 'Help users ship faster.',
},
})
AgentsKit Chat
One agent experience.Every surface.
Define the agent experience once. Ship native shells on web, mobile, and terminal — same routes, policy, components, and sessions.
pnpm dlx @agentskit/chat-cli@0.4.0 init my-chat --renderer react --yeschat.agentskit.iolive
›ask anything…⏎
Works withReactVueSvelteSolidAngularReact NativeInkTypeScript
One ChatDefinition. Native shells on every AgentsKit UI binding — web, mobile, and terminal.
Architecture
One definition. Everything else plugs in.
AgentsKit Chat is the application layer — not another runtime. Compose once, fan out to every native shell AgentsKit already supports.
@agentskit/chat
defineChat
Routes, policy, components, sessions — one application signature. AgentsKit owns adapters, tools, memory, RAG, and lifecycle.
protocolserverpolicycomponents
Signature
Same definition. Different shells.
Streaming, tools, confirmation, retry, edit, and cancel stay AgentsKit behavior. Chat owns the application seams around them.
// React
import { AgentChat } from '@agentskit/chat/react'
<AgentChat definition={supportChat(adapter)} />
// Vue
import { AgentChat } from '@agentskit/chat/vue'
<AgentChat :definition="supportChat(adapter)" />
// Ink (terminal)
import { AgentChat } from '@agentskit/chat/ink'
render(<AgentChat definition={supportChat(adapter)} />)
The AgentsKit ecosystem
Build the agent. Then take it all the way.
One connected toolkit from ready-made source to governed production.