Interactive React chat UI for support flows, guided actions, confirmations, and user input collection.
npm install react-actions-chatThis package targets Node.js ^22.13.0 || >=24.0.0.
If you want query-driven or vector-search-backed action recommendations, install the companion package too:
npm install react-actions-chat react-actions-chat-recommended-actionsIf you want reusable support-desk flows with ticketing, live-chat handoff, and admin queue management, install:
npm install react-actions-chat react-actions-chat-supportIf you want backend-routed text generation on top of the chat UI, install the LLM companion package:
npm install react-actions-chat react-actions-chat-llmsimport { Chat, createTextPart } from 'react-actions-chat';
import 'react-actions-chat/styles';
export function App() {
return (
<Chat
allowFreeTextInput
initialMessages={[
{
type: 'other',
parts: [createTextPart('Hello! How can I help you today?')],
},
]}
/>
);
}Chat keeps the shared input disabled by default. Use createRequestInputButtonDef(...) for guided collection steps, or set allowFreeTextInput when you want an always-on free-form chat box.
Read the published documentation site:
If you're contributing to this repo, the docs source lives in docs.
Runnable workspace examples live in examples:
coding: multiline coding-assistant flow with markdown-rendered repliesqa-bot: basic support assistant flowuploads: dedicated file-upload example with image and file partslogin: input and confirmation flowsllm-support: companion LLM package with a local backend route and an in-chat startup API-key stepsettings: companion recommended-actions package with a real OpenAI embeddersupport-desk: companion support package with customer and admin ticket workflows
Live demos:
coding: https://coriew.github.io/react-actions-chat/examples/coding/qa-bot: https://coriew.github.io/react-actions-chat/examples/qa-bot/uploads: https://coriew.github.io/react-actions-chat/examples/uploads/login: https://coriew.github.io/react-actions-chat/examples/login/support-desk: https://coriew.github.io/react-actions-chat/examples/support-desk/llm-support: https://coriew.github.io/react-actions-chat/examples/llm-support/ (starts locked until you enter an API key in chat)settings: https://coriew.github.io/react-actions-chat/examples/settings/ (published withoutVITE_OPENAI_API_KEY, so live recommendations stay disabled there)
Start one from the repo root after pnpm install:
pnpm --filter coding-example dev
pnpm --filter qa-bot-example dev
pnpm --filter uploads-example dev
pnpm --filter login-example dev
pnpm --filter support-desk-example dev
pnpm --filter llm-support-example dev
pnpm --filter settings-example devUse Node.js ^22.13.0 || >=24.0.0 with pnpm.
corepack enable
pnpm install
pnpm buildUseful scripts:
pnpm testpnpm test:coveragepnpm typecheckpnpm lintpnpm format:checkpnpm changesetpnpm agents:checkpnpm version-packagespnpm docs:devpnpm docs:buildpnpm pages:buildpnpm run refresh:all
Contributions are welcome.
If your pull request changes a published package, add a changeset with pnpm changeset unless the PR is intentionally marked with the no-changeset label.
This project is licensed under the MIT License. See LICENSE.