Show HN: Sim – Apache-2.0 n8n alternative
github.com97 points by waleedlatif1 5 hours ago
97 points by waleedlatif1 5 hours ago
Hey HN, Waleed here. We're building Sim (https://sim.ai/), an open-source visual editor to build agentic workflows. Repo here: https://github.com/simstudioai/sim/. Docs here: https://docs.sim.ai.
You can run Sim locally using Docker, with no execution limits or other restrictions.
We started building Sim almost a year ago after repeatedly troubleshooting why our agents failed in production. Code-first frameworks felt hard to debug because of implicit control flow, and workflow platforms added more overhead than they removed. We wanted granular control and easy observability without piecing everything together ourselves.
We launched Sim [1][2] as a drag-and-drop canvas around 6 months ago. Since then, we've added:
- 138 blocks: Slack, GitHub, Linear, Notion, Supabase, SSH, TTS, SFTP, MongoDB, S3, Pinecone, ...
- Tool calling with granular control: forced, auto
- Agent memory: conversation memory with sliding window support (by last n messages or tokens)
- Trace spans: detailed logging and observability for nested workflows and tool calling
- Native RAG: upload documents, we chunk, embed with pgvector, and expose vector search to agents
- Workflow deployment versioning with rollbacks
- MCP support, Human-in-the-loop block
- Copilot to build workflows using natural language (just shipped a new version that also acts as a superagent and can call into any of your connected services directly, not just build workflows)
Under the hood, the workflow is a DAG with concurrent execution by default. Nodes run as soon as their dependencies (upstream blocks) are satisfied. Loops (for, forEach, while, do-while) and parallel fan-out/join are also first-class primitives.
Agent blocks are pass-through to the provider. You pick your model (OpenAI, Anthropic, Gemini, Ollama, vLLM), and and we pass through prompts, tools, and response format directly to the provider API. We normalize response shapes for block interoperability, but we're not adding layers that obscure what's happening.
We're currently working on our own MCP server and the ability to deploy workflows as MCP servers. Would love to hear your thoughts and where we should take it next :)
[1] https://news.ycombinator.com/item?id=43823096
[2] https://news.ycombinator.com/item?id=44052766
I wonder how the free open-source in this stacks up to the free open-source in n8n. n8n uses a "Sustainable Use License"—source available, but not OSI-approved open source. This means you can only use it for internal business purposes or non-commercial use. Sim is Apache 2.0. How does it deal with loops? I’ve often see workflow builders struggle at that? for loops we use two sentinel nodes with a backwards edge, and before each iteration, we check the condition and update loop variables. and specifically nested loops. if you're spinning up full runtime copies for each loop, you're gonna have a hard time at the moment, we don't support 'loops in loops' on the client-side, but not for any other reason asides from it becoming confusing for users. since we don't actually make copies for each loop, it wouldn't be a performance issue. A bit of feedback, the readme gifs are a little too fast, it's hard to tell what exactly is happening. thanks for the feedback, I was actually thinking this the other day. we'll slow them down. What does “n8n” stand for? I’m assuming it’s a shortening of a longer word, like k8s.
hbarka - 34 minutes ago
waleedlatif1 - 7 minutes ago
brene - 2 hours ago
waleedlatif1 - 2 hours ago
in the UI, this is just represented as another block, and depending on the varying types of loops you can either define a collection or the number of iterations sentinel -> body -> sentinel (condition with backwards edge to first sentinel)
Natfan - 2 hours ago
waleedlatif1 - 2 hours ago
SCUSKU - 2 hours ago
waleedlatif1 - 2 hours ago
malcolmgreaves - 3 hours ago