Heym
A self-hosted visual platform for building, running, and inspecting AI workflows.
- Source repo
- heymrun/heym
- Stars
- ★ 1.4k
- Last updated
- today
- License
- NOASSERTION
- Primary language
- Python
- FA score
- 63/100 · Some gaps
At a glance
- How it runs
- Works with
- Universal · cross-platformCodex · Claude.ai
- Cost
- Free software; you pay for model usage
- Setup effort
- Medium · a few setup steps
- You'll need
- Typical use
- An operations team needs to connect webhook input, HTTP requests, Slack notifications, and Redis or RabbitMQ handling in a visual workflow it can host itself.
- Not a fit if
- Teams unwilling to run Docker, PostgreSQL, and Python themselves
- Users needing a stable release; Heym is pre-1.0
- Environments that forbid mounting the Docker socket
- Source review
- 63/100 · Some gaps
What does this agent do, and when should you use it?
Heym is a self-hosted AI-native workflow automation platform built with a Vue 3/TypeScript/Vite/Bun frontend and a Python/FastAPI/SQLAlchemy/PostgreSQL backend. Its Vue Flow canvas connects LLM, AI Agent, RAG, HTTP, message-queue, Playwright, and logic nodes, with independent graph branches executing concurrently. A workflow can run from the canvas or be delivered through REST execution endpoints, SSE streaming, an MCP server, or a /chat/{slug} Portal interface. Execution history, LLM traces, evals, logs, cost analytics, and OpenTelemetry export support inspection of live and completed runs. Deployment remains on the operator's infrastructure, with skills and Codex workspaces executed through isolated sibling containers as described in the README.
Heym accepts inputs from nodes such as Input (Webhook), Cron, and RabbitMQ Receive, then follows the canvas graph to run LLM, AI Agent, Qdrant RAG, HTTP, Slack, Redis, RabbitMQ, Grist, Drive, Crawler, and Playwright nodes. Condition, Switch, Loop, Merge, and Error Handler nodes determine routing, synchronization, and failure behavior. AI Agent nodes can call tools, canvas-node tools, sandboxed Python tools, MCP connections, and skills packaged as SKILL.md plus optional Python files. Finished workflows can be invoked through /execute or /execute/stream, exposed as MCP tools at /api/mcp/sse, or published as streaming chat applications at /chat/{slug}. The platform records runs, debug logs, request/response payloads, tool calls, token counts, USD costs, and OTLP/HTTP spans for workflows, nodes, and Agent tools.
- An operations team needs to connect webhook input, HTTP requests, Slack notifications, and Redis or RabbitMQ handling in a visual workflow it can host itself.
- An AI product team needs to search managed vector-store content from PDFs, Markdown, CSV, or JSON before passing retrieved context to an LLM or Agent.
- A business process owner needs an Agent to pause for approval, clarification, or additional input before the workflow resumes.
- An internal-tools team wants to publish a workflow as a
/chat/{slug}interface with streaming output, file uploads, and optional authentication. - A team using Claude Desktop, Cursor, or another MCP client wants to expose completed workflows as callable MCP tools.
- A team automating browser interactions needs Playwright steps and runtime selector recovery through Auto Heal.
How do you install or deploy this agent?
Prerequisites listed by the repository are Docker, Python 3.11+, Bun 1.0+, and UV. Clone and start locally:
git clone https://github.com/heymrun/heym.git && cd heym && ./run.shThen open port 4017 in a browser. For environment-based configuration, run cp .env.example .env and then ./run.sh; the script generates SECRET_KEY and ENCRYPTION_KEY. For production deployment, run cp .env.example .env followed by ./deploy.sh.
How do you use this agent?
Open the editor on port 4017, add and connect Input, LLM or AI Agent, and Output nodes on the canvas, then run the workflow from the canvas. External services can call the documented /execute or /execute/stream endpoints. To make a workflow available to MCP clients, expose it through /api/mcp/sse; to provide a chat interface, publish it at /chat/{slug}. Configure an Agent node with MCP connections or upload/create a skill containing SKILL.md when it needs external tools or reusable instructions.
What are this agent's strengths and limitations?
- The same workflow can be delivered through the canvas, REST, SSE, MCP, and a Portal chat UI without rebuilding its logic for each channel.
- Independent DAG branches execute in parallel and can be synchronized explicitly with a Merge node.
- Built-in execution history, LLM traces, evals, token/USD cost tracking, and OpenTelemetry spans provide operational inspection in one product.
- The Agent node combines tool calling, sandboxed Python, MCP, skills, and optional persistent memory in a visual workflow step.
- Operation requires Docker, PostgreSQL, Python, Bun, and UV, so it carries more infrastructure responsibility than a hosted automation service.
- The README warns that mounting the Docker socket grants broad host control; MCP stdio servers require a Docker daemon and fail closed without one.
- Per-run sandbox isolation requires Docker Engine 25.0+, while skills and the Codex node depend on a shared
heym-codex-workspacesvolume. - Licensing needs review before adoption: repository metadata says
NOASSERTION, while the README describes MIT with a Commons Clause that restricts selling or offering the software as a paid service.
How does this agent compare with similar options?
The README compares Heym with n8n, Zapier, and Make.com, highlighting claimed differences including LLM Batch API status branches, persistent Agent memory graphs, Workflow Analyzer, workflow-powered dashboards, an agentic Kanban board, skills, Playwright Auto Heal, native OpenTelemetry export, and per-model USD cost tracking. These are repository claims; teams should validate required integrations and licensing before migrating.
Key facts side by side with the most closely related agents.
| Agent | Source review | Form / cost | Stars | Updated | Language | Full support on |
|---|---|---|---|---|---|---|
| Heym This agent | 63 · Some gaps | Self-hosted serviceFree + model costs | ★ 1.4k | today | Python | Codex · Claude.ai |
| Auto Browser | 76 · Some gaps | Self-hosted serviceFree + model costs | ★ 924 | 1d ago | Python | OpenAI API · Claude API |
| Flow-Like | 74 · Some gaps | Desktop appFreemium | ★ 976 | today | Rust | — |
| ByteChef | 57 · Major gaps | Self-hosted serviceFree + model costs | ★ 1.1k | today | Java | OpenAI API · Claude API |
How does FollowAgents rate this agent?
Why each dimension lost points
The security policy provides private vulnerability reporting, limits testing to owned instances, and discloses that mounting the Docker socket grants broad host control. AGENTS.md also specifies secret hashing, redaction, and credential-return boundaries, supporting moderate credit for confirmation and sensitive-data handling. Deductions: deployment examples still require the Docker socket mount, and the excerpts do not show concrete privilege isolation. The broad integrations, plugins, and code-execution surface are not enough to establish least privilege, rollback, or dependency security. The license is traceable to a named licensor, but that does not verify publisher identity.
The README, startup guidance, runtime excerpt, and CI configuration are broadly consistent about PostgreSQL, self-hosting, Python/FastAPI, and the frontend stack. CI lists linting, type checks, unit tests, build, and E2E jobs. Deductions: the sample has no dependency lockfiles or availability policy; Playwright installation failures are warnings, and plugin dependency reinstall failures do not block startup, limiting confidence in dependency availability.
The materials describe visual and AI-assisted authoring, deterministic workflows, multi-agent execution, APIs, schedules, event triggers, MCP, Portal, clustering, and self-hosting. They also explain that some work runs on the main instance while eligible background runs can be distributed. Deductions: capability and permission boundaries are only partly described, and the referenced environment-variable guide is not included in the sample.
The README has organized product, quick-start, deployment, and extension sections, with prerequisites and references to security, deployment, and release information. Deductions: the MIT text carries a Commons Clause, so the terms are not simply MIT; the sample does not provide a full changelog or detailed maintenance-response commitments, and the project identifies itself as pre-1.0.
The README describes concrete outputs and operating paths: execute, inspect, evaluate, pause for approval, track costs, and expose workflows through API, MCP, or Portal; prompts and demos make usage tangible. Deduction: the breadth implies configuration and infrastructure costs, but the sample does not quantify costs or resource needs, so cost-benefit receives limited credit.
Major README claims have partial corroboration in the backend entry point, frontend routes, CI configuration, security policy, and test helpers; CI explicitly lists automated checks. Deductions: the excerpts cannot independently establish runtime outcomes, and many implementation files behind the claims are absent from this sample. This is a static review, not execution evidence.
- The deployment examples mount the Docker socket; the README says this grants broad host control, so restrict it to controlled deployments.
- The license includes a Commons Clause that may limit commercial hosting or support services; review the full terms before deployment.
- The sample cannot establish the actual security boundaries or runtime behavior of plugins, MCP, browser automation, and external integrations.
Recent releases
Latest entries from the project's GitHub Releases. Notes are quoted from upstream as written, not rewritten or tested by FollowAgents.
-
Release notes excerpt
What's Changed * docs(security): describe Fernet as AES-128-CBC with HMAC-SHA256 by @mbakgun in https://github.com/heymrun/heym/pull/874 * Show Settings tabs as a left rail and explain key rotation in numbered steps by @ckakgun in https://github.com/heymrun/heym/pull/875 * Edit a sent chat message and send it again by @ckakgun in https://github.com/heymrun/heym/pull/876 * Two-factor sign-in, account deactivation and data retention by @mbakgun in https://github.com/heymrun/heym/pull/877 * Bump project version to 0.0.150 by @heym-coder in https://github.com/heymrun/heym/pull/878 …View on GitHub ↗ -
Release notes excerpt
What's Changed * chore(docker): drop build leftovers from the release and backend images by @amasolov in https://github.com/heymrun/heym/pull/870 * feat(credentials): credentials from Kubernetes Secrets (#861) by @amasolov in https://github.com/heymrun/heym/pull/867 * feat(encryption): online rotation for ENCRYPTION_KEY by @amasolov in https://github.com/heymrun/heym/pull/871 * Bump project version to 0.0.149 by @heym-coder in https://github.com/heymrun/heym/pull/873 …View on GitHub ↗ -
Release notes excerpt
What's Changed * Implement Google Meet integration with OAuth support by @ckakgun in https://github.com/heymrun/heym/pull/866 * Add optional Google Meet busy event titles by @mbakgun in https://github.com/heymrun/heym/pull/869 * Bump project version to 0.0.148 by @heym-coder in https://github.com/heymrun/heym/pull/868 Security …View on GitHub ↗
FAQ
Can I run Heym on my own infrastructure?
./run.sh, ./deploy.sh, and Docker-based deployment paths and positions the product as self-hosted.How can Claude or another AI client call a workflow?
/api/mcp/sse; the README explicitly names Claude Desktop, Cursor, and other MCP clients.Can I inspect a failed or still-running execution?
What is required for MCP stdio servers or skills?
Thanks — we use this to improve the page.