allchat

allchat

AI chat client

Stars: 147

Visit
 screenshot

ALLCHAT is a Node.js backend and React MUI frontend for an application that interacts with the Gemini Pro 1.5 (and others), with history, image generating/recognition, PDF/Word/Excel upload, code run, model function calls and markdown support. It is a comprehensive tool that allows users to connect models to the world with Web Tools, run locally, deploy using Docker, configure Nginx, and monitor the application using a dockerized monitoring solution (Loki+Grafana).

README:

AllChat

An AI assistant app that interacts with all major models, maintains history, generates and recognizes images, uploads PDFs/Word/Excel files, runs code, makes function calls to models, supports Markdown formatting, and more. Fully written by Claude 3 Sonnet.

image

Table of Contents

PROD (with $4.99 subscription and Premium features: Avatar Builder, Shared Chats, Achievements, Artifacts and more)

https://allchat.online

GitHub Repo stars License: MIT

AllChat - Unleash the Power of All Major AI Models in One Place | Product Hunt

Features

  • Gemini Pro 1.5, Claude 3.5 and GPT-4o
  • Audio Input in Gemini
  • Video Input in Gemini
  • Custom GPTs
  • Email respond (with attachments, like PDFs, Word, etc)
  • Memory - any information about user which you agreed to persist
  • Scheduling any action (hourly or daily) to your email
  • YouTube video summary
  • Image Input (png/jpeg) in Gemini and Claude
  • Image Generation by SDXL
  • Together AI models databricks/dbrx-instruct mistralai/Mixtral-8x22B-Instruct-v0.1, LLama-3, etc
  • File upload PDFs, Word, Excel into the conversation
  • Multiple chats
  • Markdown formatting
  • Edit your messages with response regeneration
  • Python Code Run
  • PDF export of all chats
  • Mobile friendly, PWA, Android app, etc
  • Web Tools - weather, stocks, email send, Telegram, web search, etc - with Gemini, Claude, OpenAI models
  • Please ask for more features in Discussions

Connect model to world with Web Tools (switch on WebTools option)

  • Instantly run Python code: Just ask AI to write your code and let Python Code Run take care of execution. You can even create pictures or graphs - simply instruct AI to save them to a file. Just say Create a python program which will draw house and clouds and save to disk
  • Effortlessly fetch real-time data: Easily access important information such as weather updates, stock prices, and the latest news - just ask Whats weather in my country?
  • Automate your email and Telegram correspondences: Send emails effortlessly to yourself or others. Just say Send information to me
  • If your task require some compute, Python program will be created and executed in the background. Just say Calculate first 100 Fibonacci numbers
  • Get the latest news from Google News in your preferred language and receive them directly in your inbox. Keep up with industry trends and advancements. Just say Send me your comment about latest news
  • Create PowerPoint presentations. Just say Create 10 slides for presentation "Comparison of CZC.cz and Alza.cz" then write a Python program that will save it to disk then run code and Save To resulting .pptx link
  • Schedule action and send results to you. Just say schedule hourly action: generate haiku about spring
  • Write an email to Assistant [email protected] with any inquiry (attachments allowed)

RUN LOCALLY

Environment variables

You have to get some of those APIs and set environment variables (or put to .env file in the server folder, you can start with /server/.env.example, rename it to .env):

  • GOOGLE_KEY - Google cloud project name
  • CLAUDE_KEY - Anthropic Key (for Haiku)
  • TOGETHER_KEY - for Together models
  • JWT_TOKEN - any random string
  • OPENWEATHER_API_KEY - for weather tools
  • YAHOO_FINANCE_API_KEY - for stocks tools
  • TELEGRAM_KEY - for Telegram tools to work
  • EMAIL - for email tools
  • EMAIL_PASSWORD - for email tools

Run

  • Start local Mongo DB (or containerized: docker run -p 27017:27017 -d mongo)
  • In the server folder, npm i then npm run api
  • In the root folder, npm i then npm run start
graph LR
   subgraph AllChat["AllChat"]
       subgraph Application["Application Services"]
           Backend["Backend<br>extender777/allchat-backend"]-->MongoDB
           Frontend["Frontend<br>extender777/allchat-frontend"]-->Backend
           PythonShell["Python Shell<br>python:3.12"]-->Backend
       end

       subgraph Data["Data Services"]
           MongoDB["MongoDB<br>mongo:latest"]
       end

       subgraph Monitoring["Monitoring Services"]
           Prometheus["Prometheus<br>prom/prometheus"]
           NodeExporter["Node Exporter<br>prom/node-exporter"]
           Grafana["Grafana<br>grafana/grafana"]-->Prometheus
           Grafana-->Loki
           Loki["Loki<br>grafana/loki"]
       end
   end

   subgraph Volumes
       MongoData["mongo-data"]
       PrometheusVolume["prometheus"]
       GrafanaVolume["grafana"]
       LokiVolume["loki"]
   end

   MongoDB-->MongoData
   Prometheus-->PrometheusVolume
   Grafana-->GrafanaVolume
   Loki-->LokiVolume

   classDef serviceName fill:#ffc107,stroke:#ff9800,color:#212121;
   class Backend,Frontend,PythonShell,MongoDB,Prometheus,NodeExporter,Grafana,Loki serviceName;
graph TD
A[AllChat API] --> B[Express Server]
B --> C[Routes]
B --> D[Middleware]
B --> E[Database]
B --> F[External Services]

    C --> C1[User Management]
    C --> C2[Chat Interactions]
    C --> C3[Tool Calls]
    C --> C4[Subscriptions]

    D --> D1[CORS]
    D --> D2[Rate Limiting]
    D --> D3[Authentication]
    D --> D4[Logging]

    E --> E1[MongoDB]

    F --> F1[AI Models]
    F --> F2[Email Service]
    F --> F3[Telegram Bot]
    F --> F4[Payment Gateway]
    F --> F5[Web Scraping]
    F --> F6[File Processing]

    F1 --> F1A[Anthropic AI]
    F1 --> F1B[Google Vertex AI]
    F1 --> F1C[OpenAI]

    F6 --> F6A[PDF Parsing]
    F6 --> F6B[Word Document Processing]
    F6 --> F6C[Excel Spreadsheet Handling]

    B --> G[WebSocket Server]

    H[Utilities] --> H1[Sitemap Generation]
    H --> H2[Cron Jobs]
    H --> H3[Image Processing]

Stargazers repo roster for @msveshnikov/allchat

Forkers repo roster for @msveshnikov/allchat

For Tasks:

Click tags to check more tools for each tasks

For Jobs:

Alternative AI tools for allchat

Similar Open Source Tools

For similar tasks

For similar jobs