{"id":13593044,"url":"https://github.com/agi-merge/waggle-dance","last_synced_at":"2025-04-09T02:32:22.073Z","repository":{"id":189419438,"uuid":"631656598","full_name":"agi-merge/waggle-dance","owner":"agi-merge","description":"Knowledge work automation with AI agents","archived":true,"fork":false,"pushed_at":"2023-12-17T23:18:51.000Z","size":12300,"stargazers_count":166,"open_issues_count":0,"forks_count":13,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-01-03T05:04:57.585Z","etag":null,"topics":["agent","agent-based-framework","ai","autogpt","langchain","langchain-js","llm","nextjs","openai","weaviate","workflow-automation"],"latest_commit_sha":null,"homepage":"https://waggledance.ai","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/agi-merge.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null},"funding":{"github":"agi-merge","patreon":"agimerge","custom":["https://waggledance.ai","https://www.paypal.com/pools/c/8Tx8rE17Jm"]}},"created_at":"2023-04-23T17:55:09.000Z","updated_at":"2024-11-26T11:12:48.000Z","dependencies_parsed_at":"2023-10-17T07:53:13.335Z","dependency_job_id":"729a3834-73e5-4bf7-917f-29faca294ca7","html_url":"https://github.com/agi-merge/waggle-dance","commit_stats":null,"previous_names":["agi-merge/waggle-dance"],"tags_count":0,"template":false,"template_full_name":"t3-oss/create-t3-turbo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agi-merge%2Fwaggle-dance","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agi-merge%2Fwaggle-dance/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agi-merge%2Fwaggle-dance/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agi-merge%2Fwaggle-dance/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/agi-merge","download_url":"https://codeload.github.com/agi-merge/waggle-dance/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247965646,"owners_count":21025412,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agent","agent-based-framework","ai","autogpt","langchain","langchain-js","llm","nextjs","openai","weaviate","workflow-automation"],"created_at":"2024-08-01T16:01:15.983Z","updated_at":"2025-04-09T02:32:17.062Z","avatar_url":"https://github.com/agi-merge.png","language":"TypeScript","funding_links":["https://github.com/sponsors/agi-merge","https://patreon.com/agimerge","https://waggledance.ai","https://www.paypal.com/pools/c/8Tx8rE17Jm"],"categories":["Langchain Agents","工具","1. Local Agents","Tools"],"sub_categories":["代理","Autonomous Agents","Agents"],"readme":"\u003ch1 align=\"center\"\u003e🐝💃 waggledance.ai \u003cimg src=\"https://img.shields.io/badge/preview-%20\" /\u003e\u003c/h1\u003e\n\n\u003cdiv align=\"center\"\n\n[![License](https://img.shields.io/badge/license-MIT-green)](LICENSE)\n![CI](https://github.com/agi-merge/waggle-dance/actions/workflows/ci.yml/badge.svg?event=push)\n[![CodeQL](https://github.com/agi-merge/waggle-dance/actions/workflows/github-code-scanning/codeql/badge.svg)](https://github.com/agi-merge/waggle-dance/actions/workflows/github-code-scanning/codeql)\n\u003cbr/\u003e\n\u003cbr/\u003e\n[![Join Discord Server](https://dcbadge.vercel.app/api/server/ttt9YmhQU6?style=flat)](https://discord.gg/ttt9YmhQU6)\n[![GitHub Repo stars](https://img.shields.io/github/stars/agi-merge/waggle-dance?style=social)](https://github.com/agi-merge/waggle-dance)\n\n\u003c/div\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"#-highlighted-features\"\u003e🦚Features\u003c/a\u003e |\n  \u003ca href=\"#-roadmap\"\u003e📍Roadmap\u003c/a\u003e |\n  \u003ca href=\"#%EF%B8%8F-contribute-and-help\"\u003e🛠️Contribute\u003c/a\u003e |\n  \u003ca href=\"#-running-locally-and-development\"\u003e🏃Run Locally\u003c/a\u003e |\n  \u003ca href=\"#-open-core\"\u003e🌺Open Core\u003c/a\u003e\n\u003c/p\u003e\n\n## Quick Start\n\n- [![Cloud Preview](https://img.shields.io/badge/PREVIEW-waggledance.ai-blue?style=flat\u0026logo=world\u0026logoColor=white)](https://waggledance.ai) Try the cloud preview ↗\n- [Join the Discord](https://discord.gg/ttt9YmhQU6)\n- ⭐️ Help with algorithm: star this repo\n\nYou can also build and deploy yourself! However, [you must configure your environment](#%EF%B8%8F-configure-your-environment).\n\n- \u003ca href=\"https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Fagi-merge%2Fwaggle-dance\u0026env=NEXTAUTH_URL,OPENAI_API_KEY,WEAVIATE_HOST,WEAVIATE_API_KEY,WEAVIATE_SCHEME,LONG_TERM_MEMORY_INDEX_NAME,KV_URL,KV_REST_API_URL,KV_REST_API_TOKEN,KV_REST_API_READ_ONLY_TOKEN,POSTGRES_PRISMA_URL,POSTGRES_URL_NON_POOLING,EDGE_CONFIG,VECTOR_NAMESPACE_SALT,LONG_TERM_MEMORY_INDEX_NAME,EDGE_CONFIG,BLOB_READ_WRITE_TOKEN,ALLOW_API_CLIENTS\u0026project-name=waggle-dance\u0026repository-name=waggle-dance\" alt=\"Deploy with Vercel\"\u003e\u003cimg src=\"https://vercel.com/button\" height=\"20\" /\u003e\u003c/a\u003e Deploy to Vercel\n- [Docker Compose](#-docker)\n- [Build and run from source](#-running-locally-and-development)\n\n**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.\n\nwaggledance.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.\n\nIt was originally inspired by [Auto-GPT](https://github.com/Significant-Gravitas/Auto-GPT), and has concurrency features similar to those found in [gpt-researcher](https://github.com/assafelovic/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.\n\nAn (unstable) API is also available via [tRPC](packages/api/src/root.ts) as well an API [implemented within Next.js](apps/nextjs/src/pages/api). 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.\n\n\u003cp align=\"center\"\u003e\n\n\u003cpicture\u003e\n    \u003csource srcset=\"https://github.com/agi-merge/waggle-dance/assets/906671/3380a442-05d9-48be-920f-21e9e6d8ce41\" type=\"video/mp4\"\u003e\n    \u003csource srcset=\"https://github.com/agi-merge/waggle-dance/assets/906671/62693a32-8a46-4a8e-ab1e-3c178fbe0dcf\" type=\"image/gif\"\u003e\n    \u003cimg src=\"apps/nextjs/public/apple-touch-icon.png\" alt=\"bar\"\u003e\n\u003c/picture\u003e\n\n\u003c/p\u003e\n\u003c/div\u003e\n\n# 🦚 Highlighted Features\n\n- LLMs go brrr… waggledance.ai starts by planning a highly concurrent execution graph. Some sub-task branches are not dependent, and can run concurrently.\n- Adversarial agents that review results.\n- Vector database for long-term memory.\n- Explainable results and responsive UI: Graph visualizer, sub-task (agent) results, agent logs and events.\n\n## 🥞 Tech Stack\n\n[Typescript](https://www.typescriptlang.org/) ﹒ [Langchain.js](https://github.com/langchain/langchain) ﹒ [T3](https://github.com/t3/t3js) ﹒ [Prisma](https://www.prisma.io/) ﹒ [tRPC](https://trpc.io/) ﹒ [Weaviate](https://www.semi.technology/developers/weaviate/current/) ﹒ [Postgres](https://www.postgresql.org/) ﹒ [OpenAI API](https://openai.com/) ﹒ [MUI Joy](https://mui.com/)\n\n## 📍 Roadmap\n\n[Live Project Roadmap Board](https://github.com/orgs/agi-merge/projects/1/views/1) ﹒ \u003ca href=\"#%EF%B8%8F-contribute-and-help\"\u003e🛠️Contribute\u003c/a\u003e\n\nBasically, anything and everything goes! Though [multi-agent systems have a long and storied past](https://www.turing.ac.uk/research/interest-groups/multi-agent-systems), this project is all about marrying the past techniques with the latest research.\n\n## 📈 Star History\n\n[![Star History Chart](https://api.star-history.com/svg?repos=agi-merge/waggle-dance\u0026type=Date)](https://star-history.com/#agi-merge/waggle-dance\u0026Date)\n\n## 🏃 Running Locally and Development\n\nwaggledance.ai can be deployed locally using Docker or manually using Node.js. Configuration of `.env` vars is required.\n\n### Docker\n\n`docker-compose up --build`\n\n### Dependencies\n\n- Required: [Node JS LTS](https://nodejs.org/en) ≧ v18.17.0 (LTS recommended)\n- [pnpm](https://pnpm.io/installation) is used in examples but `npm` or `yarn` may work as well.\n- Recommended: Turbo - `pnpm add turbo --global` or use `pnpx turbo` in place of `turbo` below.\n\n### ⚙️ Configure Your Environment\n\n- Copy `.env.example` to `.env` and configure the environment variables. For help, please [reach out on Discord](https://discord.gg/ttt9YmhQU6). See [env-schema.mjs](https://github.com/agi-merge/waggle-dance/blob/main/apps/nextjs/src/env-schema.mjs) for explicit requirements.\n\n### 🐘 Setting up Postgres\n\nRefer to [.env.example](https://github.com/agi-merge/waggle-dance/tree/main/.env.example) and [env-schema.mjs](https://github.com/agi-merge/waggle-dance/tree/main/apps/nextjs/env-schema.mjs) for the required environment variables.\nCurrently 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](https://supabase.com).\n\nOnce you have set up, secured, and configured your Postgres, run the following commands:\n\n```bash\npnpm db:generate\npnpm db:push\n```\n\n- `db:generate` creates the local typings and DB info from the schema.prisma file (`./packages/db/prisma/schema.prisma`).\n- `db:push` pushes the schema to the database provider (PostgreSQL by default).\n- Run these commands on first install and whenever you make changes to the schema.\n\n### Run Development\n\n```bash\nturbo dev\n# or\npnpm dev\n```\n\nThis project was forked from [create-t3-turbo](https://github.com/t3-oss/create-t3-turbo) [To find out more, you can check the boilerplate documentation](/docs/t3-boilerplate.md)\n\n## 🦑 Linting\n\nMake sure you install the recommended extensions in the solution, particularly `es-lint`.\n\nLinting is run on each build and can fail builds.\n\nTo get a full list of linting errors run:\n\n```bash\nturbo lint\n```\n\nSome of these may be able to be auto-fixed with:\n\n```bash\nturbo lint:fix\n```\n\nAnd the version that the CI runs:\n\n```bash\nSKIP_ENV_VALIDATION=true NODE_ENV=production  turbo build\n```\n\nFor the rest, you will need to open the associated file and fix the errors yourself. Limit `ts-ignore` for extreme cases.\n\nAs a best practice, run `turbo lint` before starting a feature and after finishing a feature and fix any errors before sending a `PR`.\n\n## 🛠️ Contribute and help\n\n- Devs: [CONTRIBUTING.md](CONTRIBUTING.md)\n- Star the Project!\n- Join the [Discord](https://discord.gg/ttt9YmhQU6)!\n- If you are not technical, you can still help improving documentation or add examples or share your user-stories with our community; any help or contribution is welcome!\n\n## Contributors\n\n\u003ca href=\"https://github.com/agi-merge/waggle-dance/graphs/contributors\"\u003e\n  \u003cimg src=\"https://contrib.rocks/image?repo=agi-merge/waggle-dance\u0026max=100\u0026columns=5\" /\u003e\n\u003c/a\u003e\n\n## 📚 Helpful Docs\n\n- [See all markdown included in the project for more specifics!](https://github.com/search?q=repo%3Aagi-merge%2Fwaggle-dance+path%3A*.md\u0026type=code)\n\n## 🤗 Special Thanks\n\n- Maintainers and Contributors of LangChain.js\n- Maintainers and Contributors of AutoGPT, AgentGPT, SuperAGI, gpt-researcher, lemon-agent\n- [E2B](https://e2b.dev)\n- [Agent Protocol](https://agentprotocol.ai) from AI Engineer Foundation\n- [big-AGI](https://big-agi.com)\n- more...\n\n## 🌺 Open Core\n\nThe 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.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fagi-merge%2Fwaggle-dance","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fagi-merge%2Fwaggle-dance","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fagi-merge%2Fwaggle-dance/lists"}