Skip to content

tryanything-ai/anything

Repository files navigation

Anything

Rebuilding Zapier in Rust to make Local AI do way more than chat

🔗 Main site   •   💬 Discord   •   💻 Demo Video   •   💿 Download App

Anything

Anything UI

Make Anything happen

Anything UI

🔧 Setting Up

git clone https://github.com/tryanything-ai/anything.git
pnpm dev

🤖 Roadmap

Core
  • Embeded Sqlite DB
  • WYSIWYG Editor
  • Event System
  • Cron Trigger
  • HTTP Extension
  • CLI Extension
  • Custom Extensions ( probably WASM )
  • Sqlite Vectors
  • Deno Extension
  • Python Extension
  • Local AI Extension
  • Developer Documentation
  • Docker Version for Cloud Self Hosting 24/7
  • Flow Version Control ( Stages, Semantic Versioning, etc)
Ecosystem
  • Template Marketplace
  • Action Marketplace
  • Trigger Marketplace
  • Extension Marketplace

💌 Feedback

Love Anything? Give us a star ⭐️!

Architecture Goals

  • An open automation tool that allows for maximum creativity and extensibility without sacrificing understandability.
  • An architecture that lends itself towards the incremental adoption of new AI no matter which "shape" it takes
  • An architecture that is focused on skating towards the puck of self authoring by storing state, logs, events etc in human centric, sovereign mediums easily understood and created by low cost local LLM's.
Application state is Simple and Understandable
  • State of flows is just a file that can be kept in version control
  • State is File First which means it can be edited from an IDE or the Application with equal support
  • Triggers, Actions, and Flows are portable and fully encapsulated.
  • File and Folder names are Human Centric following similar design patters as NextJS routing
Application does not require docker
  • Makes it easy to adopt like normal apps
  • Makes it so it can run all day even on low powered device

Event Processing focuses on simple vs fast. Buts its still fast.

  • Events are stored in an event queue based on SQLite
  • Starting and stopping at any point is easy.
  • Past state is all visible making it easy to debug failure
Extensibility without sacrificing understandability
  • Each Action is defined by an Extension.
  • Think of Extensions the same as in VSCode but they execute events.
  • You only download the extensions you need protecting the project from "package bloat"
  • You can author your own extensions or grab them from the community
  • Extensions are written in Rust so you can also write them in other interpreted languages like Python or Typescript
Extension Interface
  • defines an "execution" function to process events
  • defines a "validation" function for validating user configuration. This allows for "deterministic magic" preventing hallucinating humans or LLM's from writing bad configurations
  • defines an "action" the node a user see's, the SVG, the name, default arguments, etc
  • has access to event system and full flow definition it exists inside of to allow for arbitrary complexity of loop and decision nodes that are a common problem point in automation tools

User Interface

  • Designed to be self describing so at first glance flows describe what they do more than "how" they do it
  • Configuring is done through {{templating}} arguments with access to previous results, .env, system constants etc

Logs

  • Everything logged into Open Telemetry
  • Makes even application bugs accessible as a single layer to future self authoring AI so it can tell if a problem is form the software or the user
  • Makes easy to adopt into different clouds and organizations

Core Team:

Carl Lippert: Twitter