Skip to content

Simple library to connect WhatsApp Web into OpenAI Agents and Chat

License

Notifications You must be signed in to change notification settings

gabrielh-silvestre/s1-zap-agents

Repository files navigation

S1-Agent

Install

bun add s1-zap-agents whatsapp-web.js
npm i s1-zap-agents whatsapp-web.js
yarn add s1-zap-agents whatsapp-web.js

Local Setup

Docker

docker build --build-arg OPENAI_API_KEY=$OPENAI_API_KEY \
             --build-arg AGENT_ID=<your_agent_id> \
             -t s1-zap-agent:latest .
docker run -it --rm s1-zap-agent:latest
bun i
bun run src/bin.ts

Usage Example

export const client = new Client({
  puppeteer: {
    args: ['--no-sandbox', '--disable-setuid-sandbox'],
    executablePath: process.env.CHROME_BIN,
    headless: true,
  },

  authStrategy: new LocalAuth(),
});

startAgent(client, {
  route: [
    {
      event: Events.MESSAGE_CREATE,
      handlers: [
        { handler: AudioHandler },
        {
          handler: SpeechHandler,
          opts: { command: '--to-audio', agent: new Agent(AgentEnum.audio) },
        },
        {
          handler: TracribeHandler,
          opts: { command: '--to-text', agent: new Agent(AgentEnum.audio) },
        },
        {
          handler: TextHandler,
          opts: { command: '/gpt', agent: new Agent(AgentEnum.raw) },
        },
      ],
    },
  ],
});