Skip to content

raywalz/sigbot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sigbot

A simple Signal-based AI chatbot.

Built with:

  • TypeScript, Node, TSX: run .ts files on server
  • signal-cli: communicate with signal
  • OpenAI: provides gpt-4o access
  • Vercel AI SDK: abstract LLM provider
    • doesn't provide much utility for this particular project, but it's how I'm used to interacting with OpenAI
  • Langfuse: log LLM interactions

Getting started:

  1. Run npm i to install dependencies

  2. Copy .env.example to .env

  3. Set up signal-cli

    1. Follow these instructions to set up signal-cli if you haven't already: https://github.com/AsamK/signal-cli
    2. Update .env file with signal-cli details.
  4. Set up OpenAI

    1. Create a OpenAI account if you haven't already.
    2. Go to https://platform.openai.com/api-keys and click "Create new secret key"
    3. Update .env file with OpenAI details.
  5. Set up Langfuse

    1. Create a Langfuse account if you haven't already.
    2. Create a new project.
    3. Update .env file with Langfuse details
  6. For each number you want to be able to communicate with the bot, you must have the bot send them a message first.

    • You can send this message with
      /path/to/your/signal-cli -a +15555555555 send -m "hi :)" +18005550100
      Where the first number is your bot and the second is the recipient that you want to be able to communicate with your bot.
  7. Run with npm run start

NOTES:

  • Sigbot currently has no knowledge of previous messages.
  • I recommend running this inside screen so that you can keep it running in the background easily.

About

A simple Signal-based AI chatbot

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published