Skip to content

Snowflake6413/symphony

Repository files navigation

Symphony

Symphony is a Slack bot that is basically like ChatGPT but in a Slack Workspace.

Features:

Symphony can do many things!

For example..

  • Search the web
  • Generate images
  • Search URLs
  • Peform deep research
  • Switch models if needed
  • Memory! It can remember things you said in a thread.
  • Or..just chatting!

Prerequisites

Before you run this, you will need some things first.

  • Python 3.14 (duh!)
  • Supabase account (for memory) / API Keys
  • OpenAI or any other AI provider URL and API key
  • A Slack Bot created
  • LinkUp/Search API keys

Quick-Start

  1. Clone this repo
git clone https://github.com/Snowflake6413/symphony
cd symphony
  1. Copy .env file
cp .env.example .env

(Fill out .env with your keys and params)

  1. Install dependencies
pip install .
uv sync 
(if using uv)
  1. Create a supabase table

Go to your Supabase project and create a new table on the SQL editor.

  • Bot Settings (model switching)
create table bot_settings (
  channel_id text primary key,
  selected_model text not null,
  updated_at timestamp with time zone default timezone('utc'::text, now()) not null
);
  • Chat Memory
create table chat_mem (
  id bigint generated by default as identity primary key,
  channel_id text not null,
  thread_ts text not null,
  user_name text,
  role text not null,
  content text not null,
  created_at timestamp with time zone default timezone('utc'::text, now()) not null
);
create index chat_mem_thread_ts_idx on chat_mem (thread_ts);
  1. Run it
python app.py

Usage

Once the bot is running, you can invite it to your personal channel and chat with it.

  • Mention it to have a chat.
  • Run "/symphony-help" to see more commands.
  • Switch models with "/model".

License

This repo is licensed under the MIT license. See LICENSE for more info.

About

Agentic AI but as a Slack Bot

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages