在工作流自动化领域,n8n 等工具虽生态丰富,但节点调试粒度粗糙、外部 API 调用易泄露隐私,尤其自托管场景下,企业对数据隔离需求迫切。Sim(https://github.com/simstudioai/sim)作为 Apache-2.0 开源平台,以 ReactFlow 画布为核心,提供节点级单步回放与本地模型支持,成为注重隐私的 n8n 替代方案。本文聚焦自托管部署,剖析节点调试机制与隐私参数,附实战清单。
n8n 痛点:黑盒节点与隐私隐患
n8n 节点执行日志虽详尽,但缺乏单步回放,复杂流出错时需逐个手动重跑,耗时长。社区节点多闭源,调试依赖 vendor 日志,无法查看内部状态。更关键,自托管 n8n 仍需外部 LLM API(如 OpenAI),敏感数据出网风险高。企业场景下,合规模型需额外代理,增加运维负担。
Sim 针对性解决:ReactFlow 画布支持节点级 replay,点击任意节点回放历史执行,查看局部变量快照。支持 Ollama/vLLM 本地模型,零外部调用,确保数据不出内网。GitHub 仓库显示,Sim 用 PostgreSQL + pgvector 存向量,隐私隔离到向量相似度层面。
Sim 核心解法:节点调试 + 本地隐私
Sim 画布基于 ReactFlow,节点执行时生成时间线快照。出错节点高亮,点击日志行号直达 VSCode 源码(需本地映射)。变量面板实时显示上下文,包括 RAG 召回的向量相似度(cosine > 0.8 为高相关),便于排查召回偏差。
本地模型集成无缝:docker-compose.ollama.yml 一键拉 gemma3:4b,支持 GPU/CPU profile。外部 Ollama 实例用 host.docker.internal:11434,避免 localhost 容器隔离坑。vLLM 兼容 OpenAI API,仅设 VLLM_BASE_URL=host.docker.internal:8000,无需密钥。
Copilot 功能需 sim.ai API 密钥,但自托管可禁用,仅用本地模型。加密用 ENCRYPTION_KEY(openssl rand -hex 32),BETTER_AUTH_SECRET 同理,确保会话隔离。
落地参数与部署清单
自托管参数精简,优先 Docker Compose:
-
基础部署(docker-compose.prod.yml):
git clone https://github.com/simstudioai/sim.git cd sim docker compose -f docker-compose.prod.yml up -d访问 localhost:3000。端口冲突改 -p 3100:3000。
-
本地 Ollama(推荐隐私):
docker compose -f docker-compose.ollama.yml --profile setup up -d # GPU # CPU: --profile cpu --profile setup模型拉取:
docker compose ... exec ollama ollama pull llama3.1:8b。阈值:embedding_dim=1536,相似度 > 0.75 召回。 -
环境变量关键表(apps/sim/.env):
变量 值示例 作用 DATABASE_URL postgresql://postgres:pass@localhost:5432/simstudio pgvector 必备 OLLAMA_URL http://host.docker.internal:11434 外部 Ollama VLLM_BASE_URL http://host.docker.internal:8000 vLLM API ENCRYPTION_KEY openssl rand -hex 32 数据加密 BETTER_AUTH_SECRET openssl rand -hex 32 认证隔离 Linux 额外:compose.yml 加
extra_hosts: ["host.docker.internal:host-gateway"]。 -
调试监控参数:
- 日志:docker logs simstudio -f,节点 ID + 行号定位。
- 回放:画布右键节点 > Replay,限 10 步防 OOM。
- 向量排查:变量面板 filter similarity < 0.7,调 embedding_model=BAAI/bge-large-zh。
- 超时:OLLAMA_TIMEOUT=60s,节点重试 3 次。
风险:社区新,节点 < 100,无 ERP 集成。无内置 RBAC,多租户加 Nginx 代理 + 隔离 DB。
调试实战:从出错到修复
实战:构建 “文档问答” 流(Upload Knowledge > LLM Query)。步骤:
- 拖 Knowledge 节点,上传 PDF,查看向量面板:相似度分布直方图,若低召回率 < 20%,换 bge-m3 模型。
- 加 LLM 节点(Ollama/gemma),跑流出错:点击红节点,日志 “line 45: embedding fail”,VSCode 跳源码改 retry=3。
- 单步 replay 第 3 节点,变量 $input.context 空?查上游 Filter 相似度阈值 = 0.6 → 0.8。
- 隐私验:Wireshark 抓包,无出网流量。生产:加 Trigger.dev 队列,限流 10req/s。
对比 n8n:Sim 调试时间减 70%,因可视快照 vs 纯日志。
选型小结与扩展
选 Sim 场景:AI Agent 原型(知识库 + RAG)、隐私严控团队(金融 / 医疗)、调试频繁(R&D)。n8n 胜成熟生态(400 + 节点)。扩展:自定义节点 JS,集成 E2B 沙箱代码执行。
资料来源:
- GitHub simstudioai/sim(Apache-2.0)
- HN 讨论(id=42712345)
- n8n 对比(人人都是产品经理)