[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-80190":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":15,"subscribersCount":15,"size":15,"stars1d":15,"stars7d":15,"stars30d":16,"stars90d":15,"forks30d":15,"starsTrendScore":15,"compositeScore":17,"rankGlobal":10,"rankLanguage":10,"license":18,"archived":19,"fork":19,"defaultBranch":20,"hasWiki":21,"hasPages":19,"topics":22,"createdAt":10,"pushedAt":10,"updatedAt":30,"readmeContent":31,"aiSummary":32,"trendingCount":15,"starSnapshotCount":15,"syncStatus":33,"lastSyncTime":34,"discoverSource":35},80190,"daisy-engine","daisy-workflow\u002Fdaisy-engine","daisy-workflow","AI orchestration platform","",null,"JavaScript",82,3,81,0,1,41.91,"MIT License",false,"main",true,[23,24,25,26,27,28,29],"ai-agents","ai-automation","ai-tools","ai-workflow","automation","dag","workflow","2026-06-12 04:01:27","> [!NOTE]\n> Transforming Daisy into a more AI-centric workflow. A new release is currently in progress.\n\nDaisy AI Orchestrator is an AI orchestration platform built around a visual editor and a typed DSL. The runtime executes directed acyclic graphs (DAGs) of plugin actions, supports parallel execution with retries and batch fan-out, evaluates FEEL expressions in user-supplied placeholders, and protects credentials with KMS envelope encryption. The platform exposes both in-process and HTTP-transport plugins, supports OIDC authentication, and emits audit, observability, and rate-limit signals suitable for production deployments.\n\nSee the [Wiki](https:\u002F\u002Fgithub.com\u002Fvivekg13186\u002FDaisy-workflow\u002Fwiki) for full documentation.\n\n# Architecture \n \n ![arch](daisy-arch1.jpg)\n\n## Quick start (Docker)\n\nThe fastest way to try Daisy is to pull the pre-built images from Docker Hub and bring the whole stack up with one command.\n\n### Prerequisites\n\n- Docker 24+ and Docker Compose v2 (bundled with Docker Desktop).\n- Roughly 1 GB of free RAM for Postgres + Redis + backend + frontend.\n- Ports `5173`, `3000`, `5432`, and `6379` free on the host.\n\n### 1. Bring up the stack\n\nClone the repo (you only need the compose files — the rest comes from Docker Hub):\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fvivekg13186\u002FDaisy-workflow.git\ncd Daisy-workflow\n```\n\nPull and start everything:\n\n```bash\nBACKEND_IMAGE=vivek13186\u002Fdaisy-workflow-backend:latest \\\nFRONTEND_IMAGE=vivek13186\u002Fdaisy-workflow-frontend:latest \\\n  docker compose --profile full up -d\n```\n\nCompose brings up four containers:\n\n| Service        | Image                                       | Host port |\n|----------------|---------------------------------------------|-----------|\n| `dag_postgres` | `postgres:16-alpine`                        | 5432      |\n| `dag_redis`    | `redis:7-alpine`                            | 6379      |\n| `dag_backend`  | `vivek13186\u002Fdaisy-workflow-backend:latest`       | 3000      |\n| `dag_frontend` | `vivek13186\u002Fdaisy-workflow-frontend:latest`      | 5173      |\n\nThe backend waits for Postgres + Redis to report healthy before starting. First boot takes ~20 seconds.\n\nFor the **dev** images (watch mode, debugger port exposed, looser logging) swap the tag:\n\n```bash\nBACKEND_IMAGE=vivek13186\u002Fdaisy-workflow-backend:dev \\\nFRONTEND_IMAGE=vivek13186\u002Fdaisy-workflow-frontend:dev \\\n  docker compose --profile full up -d\n```\n\nIf you omit the `BACKEND_IMAGE` \u002F `FRONTEND_IMAGE` env vars, compose builds the images locally from the `Dockerfile`s in `.\u002Fbackend` and `.\u002Ffrontend`.\n\n### 2. Apply database migrations\n\nThe schema lives in `backend\u002Fmigrations\u002F`. Run it once against the freshly-started Postgres:\n\n```bash\ndocker compose exec backend npm run migrate\n```\n\nMigrations are idempotent; rerun any time after `git pull` to pick up new schema.\n\n### 3. Create the first admin user\n\n```bash\ndocker compose exec backend npm run create-admin\n```\n\nThe CLI prompts for email + password and creates the user in the default workspace. Rerun to add more admins.\n\n### 4. Open the UI\n\nPoint a browser at:\n\n> **http:\u002F\u002Flocalhost:5173**\n\nSign in with the credentials you just created. You'll land on the Home page with sidebar entries for Workflows, Triggers, Agents, Configurations, Instances, and Plugins.\n\nThe backend API and WebSocket channel live at:\n\n> **http:\u002F\u002Flocalhost:3000** — REST + `\u002Fws` for live execution updates.\n\n### 5. Try a sample workflow\n\nThe repo ships sample flows under `backend\u002Fsamples\u002F`. Import one to make sure the engine is wired correctly:\n\n1. UI → **+ New flow** → toolbar **Import** (upload icon) → pick `backend\u002Fsamples\u002Fhello-world.json`.\n2. Click **Save**, then **Run** (▶).\n3. The execution opens in the read-only Instance Viewer with the graph coloured by per-node status. You should see every node land on **success** within a second.\n\n### Optional features\n\n| Feature                            | How to enable                                                       |\n|------------------------------------|----------------------------------------------------------------------|\n| **AI assistant + agents**          | Set `ANTHROPIC_API_KEY` or `OPENAI_API_KEY` in `.env` before `up -d`. The Prompt tab, agent plugin, *Diagnose this failure*, and the Plugin generator all become available. |\n| **External plugin containers**     | `docker compose -f docker-compose.yml -f docker-compose.plugins.yml --profile full up -d`. |\n| **TLS edge (nginx \u002F Caddy)**       | `docker compose -f docker-compose.yml -f docker-compose.tls.yml --profile full up -d`. See [TLS edge](https:\u002F\u002Fgithub.com\u002Fvivekg13186\u002FDaisy-workflow\u002Fwiki\u002FTLS-edge). |\n| **Scheduled backups**              | `docker compose -f docker-compose.yml -f docker-compose.backup.yml --profile full up -d`. |\n| **Observability (Grafana + Tempo)**| `docker compose -f observability\u002Fdocker-compose.yml up -d`. |\n\n### Day-to-day commands\n\n```bash\n# Status\ndocker compose ps\n\n# Tail logs (Ctrl+C to stop tailing)\ndocker compose logs -f backend frontend\n\n# Restart after a config change\ndocker compose restart backend\n\n# Pull newer images and recreate\ndocker compose pull\nBACKEND_IMAGE=vivek13186\u002Fdaisy-workflow-backend:latest \\\nFRONTEND_IMAGE=vivek13186\u002Fdaisy-workflow-frontend:latest \\\n  docker compose --profile full up -d\n\n# Shut everything down (volumes preserved)\ndocker compose down\n\n# Wipe Postgres volume (start over from scratch)\ndocker compose down -v\n```\n\n### Troubleshooting\n\n- **`http:\u002F\u002Flocalhost:5173` shows a blank page** — frontend container is still starting. Check `docker compose logs frontend`. The nginx healthcheck takes ~5 s after first boot.\n- **`401` from `\u002Fapi\u002F...`** — you're not signed in. Visit `\u002Flogin` directly or hard-refresh.\n- **`AI button is hidden`** — neither `ANTHROPIC_API_KEY` nor `OPENAI_API_KEY` is set. Visit `http:\u002F\u002Flocalhost:3000\u002Fai\u002Fstatus` to see what the backend received.\n- **`npm run migrate` fails with `ECONNREFUSED`** — Postgres isn't healthy yet. Wait a few seconds and retry.\n- **Want to inspect the DB?** `docker compose exec postgres psql -U dag -d dag_engine`.\n\nFor a local-dev setup (no containers, `npm run dev` against host Postgres) see [Getting started](https:\u002F\u002Fgithub.com\u002Fvivekg13186\u002FDaisy-workflow\u002Fwiki\u002FGetting-started) on the wiki.\n\n## Screenshots\n\n### Home page\n\n![HomePage](.\u002Fscreenshots\u002Fworkflows.png)\n\n### Flow designer\n\n![Flow designer](.\u002Fscreenshots\u002Fworkflow_designer.png)\n","Daisy AI Orchestrator 是一个围绕可视化编辑器和类型化DSL构建的AI编排平台。它通过执行有向无环图（DAG）形式的插件动作来支持并行执行、重试和批量扇出，同时能够在用户提供的占位符中评估FEEL表达式，并使用KMS信封加密保护凭证。该平台提供了进程内和HTTP传输插件的支持，具备OIDC认证功能，并能发出适用于生产环境部署的审计、可观测性和限流信号。适用于需要自动化复杂AI工作流程的场景，如数据处理管道、机器学习模型训练与部署等任务。",2,"2026-06-11 03:59:35","CREATED_QUERY"]