Home

Awesome

<h1 align="center">🐝💃 waggledance.ai <img src="https://img.shields.io/badge/preview-%20" /></h1> <div align="center"

License CI CodeQL <br/> <br/> Join Discord Server GitHub Repo stars

</div> <p align="center"> <a href="#-highlighted-features">🦚Features</a> | <a href="#-roadmap">📍Roadmap</a> | <a href="#%EF%B8%8F-contribute-and-help">🛠️Contribute</a> | <a href="#-running-locally-and-development">🏃Run Locally</a> | <a href="#-open-core">🌺Open Core</a> </p>

Quick Start

You can also build and deploy yourself! However, you must configure your environment.

waggledance.ai is an experimental application focused on achieving user-specified goals. It provides a friendly but opinionated user interface for building agent-based systems. The project focuses on explainability, observability, concurrent generation, and exploration. Currently in pre-alpha, the development philosophy prefers experimentation over stability as goal-solving and Agent systems are rapidly evolving.

waggledance.ai takes a goal and passes it to a Planner Agent which streams an execution graph for sub-tasks. Each sub-task is executed as concurrently as possible by Execution Agents. To reduce poor results and hallucinations, sub-results are reviewed by Criticism Agents. Eventually, the Human in the loop (you!) will be able to chat with individual Agents and provide course-corrections if needed.

It was originally inspired by Auto-GPT, and has concurrency features similar to those found in gpt-researcher. Therefore, core tenets of the project include speed, accuracy, observability, and simplicity. Additionally, many other agentic systems are written in Python, so this project acts as a small counter-balance, and is accessible to the large number of Javascript developers.

An (unstable) API is also available via tRPC as well an API implemented within Next.js. The client-side is mostly responsible for orchestrating and rendering the agent executions, while the API and server-side executes the agents and stores the results. This architecture is likely to be adjusted in the future.

<p align="center"> <picture> <source srcset="https://github.com/agi-merge/waggle-dance/assets/906671/3380a442-05d9-48be-920f-21e9e6d8ce41" type="video/mp4"> <source srcset="https://github.com/agi-merge/waggle-dance/assets/906671/62693a32-8a46-4a8e-ab1e-3c178fbe0dcf" type="image/gif"> <img src="apps/nextjs/public/apple-touch-icon.png" alt="bar"> </picture> </p> </div>

🦚 Highlighted Features

🥞 Tech Stack

TypescriptLangchain.jsT3PrismatRPCWeaviatePostgresOpenAI APIMUI Joy

📍 Roadmap

Live Project Roadmap Board<a href="#%EF%B8%8F-contribute-and-help">🛠️Contribute</a>

Basically, anything and everything goes! Though multi-agent systems have a long and storied past, this project is all about marrying the past techniques with the latest research.

📈 Star History

Star History Chart

🏃 Running Locally and Development

waggledance.ai can be deployed locally using Docker or manually using Node.js. Configuration of .env vars is required.

Docker

docker-compose up --build

Dependencies

⚙️ Configure Your Environment

🐘 Setting up Postgres

Refer to .env.example and env-schema.mjs for the required environment variables. Currently only Postgres via Prisma is supported. You can use a local Postgres instance (it is recommended to use Docker) or a cloud provider such as Supabase.

Once you have set up, secured, and configured your Postgres, run the following commands:

pnpm db:generate
pnpm db:push

Run Development

turbo dev
# or
pnpm dev

This project was forked from create-t3-turbo To find out more, you can check the boilerplate documentation

🦑 Linting

Make sure you install the recommended extensions in the solution, particularly es-lint.

Linting is run on each build and can fail builds.

To get a full list of linting errors run:

turbo lint

Some of these may be able to be auto-fixed with:

turbo lint:fix

And the version that the CI runs:

SKIP_ENV_VALIDATION=true NODE_ENV=production  turbo build

For the rest, you will need to open the associated file and fix the errors yourself. Limit ts-ignore for extreme cases.

As a best practice, run turbo lint before starting a feature and after finishing a feature and fix any errors before sending a PR.

🛠️ Contribute and help

Contributors

<a href="https://github.com/agi-merge/waggle-dance/graphs/contributors"> <img src="https://contrib.rocks/image?repo=agi-merge/waggle-dance&max=100&columns=5" /> </a>

📚 Helpful Docs

🤗 Special Thanks

🌺 Open Core

The applications, packages, libraries, and the entire monorepo are freely available under the MIT license. The development process is open, and everyone is welcome to join. In the future, we may choose to develop extensions that are licensed for commercial use.