Skip to content

Latest commit

 

History

History
107 lines (76 loc) · 3.93 KB

File metadata and controls

107 lines (76 loc) · 3.93 KB

pipecat client react native

Docs NPM Version

The Pipecat client React Native Transport library exports a RNDailyTransport that has the Daily transport associated.

To connect to a bot, you will need both this SDK and the @pipecat-client/client-js to create an RTVIClient.

Minimum OS/SDK versions

This package introduces some constraints on what OS/SDK versions your project can support:

  • iOS: Deployment target >= 13
  • Android: minSdkVersion >= 24

Installation

Install @pipecat-ai/react-native-daily-transport along with its peer dependencies:

npm i @pipecat-ai/react-native-daily-transport
npm i @daily-co/react-native-daily-js@^0.81.0
npm i @daily-co/react-native-webrtc@^124.0.6-daily.1
npm i @react-native-async-storage/async-storage@^1.24.0
npm i react-native-background-timer@^2.4.1
npm i react-native-get-random-values@^1.11.0

If you are using Expo, you will also need to add the following dependencies:

npm i @daily-co/config-plugin-rn-daily-js@0.0.10

All the details about Expo can be found here.

A full demo can be found here

Quick Start

Instantiate an RTVIClient instance, wire up the bot's audio, and start the conversation:

let pipecatClient = new PipecatClient({
  transport: new RNDailyTransport(),
  enableMic: true,
  enableCam: false,
  callbacks: {
    onConnected: () => {
      setInCall(true);
    },
    onDisconnected: () => {
      setInCall(false);
    },
    onTransportStateChanged: (state) => {
      console.log(`Transport state changed: ${state}`);
      setCurrentState(state);
    },
    onError: (error) => {
      console.log('Error:', JSON.stringify(error));
    },
  },
});

await client?.startBotAndConnect({
  endpoint: baseUrl + '/start',
});

Note: To enable screen sharing on iOS, follow the instructions in the Daily Framework RN Screen Share extension.

Documentation

Pipecat Client React Native implements a client instance that:

  • Facilitates requests to an endpoint you create.
  • Dispatches single-turn actions to a HTTP bot service when disconnected.
  • Provides methods that handle the connectivity state and realtime interaction with your bot service.
  • Manages media transport (such as audio and video).
  • Provides callbacks and events for handling bot messages and actions.
  • Optionally configures your AI services and pipeline.

Docs and API reference can be found at https://docs.pipecat.ai/client/introduction.

Contributing

We welcome contributions from the community! Whether you're fixing bugs, improving documentation, or adding new features, here's how you can help:

  • Found a bug? Open an issue
  • Have a feature idea? Start a discussion
  • Want to contribute code? Check our CONTRIBUTING.md guide
  • Documentation improvements? Docs PRs are always welcome

Before submitting a pull request, please check existing issues and PRs to avoid duplicates.

We aim to review all contributions promptly and provide constructive feedback to help get your changes merged.

Getting help

➡️ Join our Discord

➡️ Read the docs

➡️ Reach us on X