[HN Gopher] Show HN: Sim - Apache-2.0 n8n alternative
       ___________________________________________________________________
        
       Show HN: Sim - Apache-2.0 n8n alternative
        
       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
        
       Author : waleedlatif1
       Score  : 113 points
       Date   : 2025-12-11 17:20 UTC (5 hours ago)
        
 (HTM) web link (github.com)
 (TXT) w3m dump (github.com)
        
       | malcolmgreaves wrote:
       | What does "n8n" stand for? I'm assuming it's a shortening of a
       | longer word, like k8s.
        
         | waleedlatif1 wrote:
         | i believe it stands for "nodemation"
        
           | beklein wrote:
           | Correct, check the "Our name" section at:
           | https://n8n.io/press/
        
         | isoprophlex wrote:
         | naaathaaan
        
           | esafak wrote:
           | Is that intoned like Ricardo Montalban's "Khaaaan!" ?
        
       | brene wrote:
       | How does it deal with loops? I've often see workflow builders
       | struggle at that?
        
         | Natfan wrote:
         | and specifically nested loops. if you're spinning up full
         | runtime copies for each loop, you're gonna have a hard time
        
           | waleedlatif1 wrote:
           | 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.
        
         | waleedlatif1 wrote:
         | for loops we use two sentinel nodes with a backwards edge, and
         | before each iteration, we check the condition and update loop
         | variables.                 sentinel -> body -> sentinel
         | (condition with backwards edge to first sentinel)
         | 
         | 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
        
       | SCUSKU wrote:
       | A bit of feedback, the readme gifs are a little too fast, it's
       | hard to tell what exactly is happening.
        
         | waleedlatif1 wrote:
         | thanks for the feedback, I was actually thinking this the other
         | day. we'll slow them down.
        
       | hbarka wrote:
       | I wonder how the free open-source in this stacks up to the free
       | open-source in n8n.
        
         | waleedlatif1 wrote:
         | 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.
        
       | spflueger wrote:
       | Looks interesting. The 12GB minimum RAM requirements seem quite
       | steep though. Why so much?
        
         | waleedlatif1 wrote:
         | its a conservative estimate, but primarily because there's a
         | socket server that runs alongside the main container, so you
         | never have to manually save because changes are debounced,
         | broadcasted to any other users on the canvas, and sent to the
         | socket server which persists it to the DB
        
       ___________________________________________________________________
       (page generated 2025-12-11 23:00 UTC)