Waleed 071e7dbf70 improvement(ci): fix the stripe-sync flake, stop helm cancelling a publish, attest via actions/attest (#8873)
* improvement(ci): halve the mobile job, narrow the desktop gate, skip proven checks on main, fix the top flake

- e2e (mobile): Chromium and WebKit run as two processes against one app instead of back to back
  (each seeds its own fixtures and writes its own report), and every e2e group restores its own
  Turbopack dev cache. The job was the PR critical path at ~19.5 min: Chromium's pass (718 s
  median) carried the cold compile and WebKit waited it out (310 s). `suite setup` failures are
  now logged instead of only reaching the uploaded report.
- dev-cache action: one mount shared by desktop-live and the e2e groups, keyed by app, event,
  fork, Next version and the hash of the file that sets the app's environment, so a cache is never
  read under NEXT_PUBLIC_* values it was not compiled with. http-e2e.sh stops apps with SIGINT so
  the cache write completes, drops a cache Turbopack reports as corrupt, and retries a startup it
  aborted once from an empty cache.
- desktop-live-changes.sh: run the live desktop suite when a pull request touches a path it
  exercises instead of skipping only docs-like paths. Every genuine desktop-live failure since the
  layout change was on a PR the new rule still runs; pushes always run it.
- ci.yml: a `proof` job lets a main push skip the checks when it is a merge whose tree is
  identical to its staging parent and a staging push run of that parent passed `checks / ci`;
  migrate gates on that proof instead. Any other shape or any error runs the full checks.
- codeql, helm, desktop-e2e skip the staging -> main release PR (main's push and schedule still
  run them); helm never cancels a push mid-publish; trigger-promote on 2 vCPU; attestations via
  actions/attest with artifact-metadata: write.
- stripe-sync-convergence: start each contender only after the parked transaction holds its locks,
  wait on a deadline rather than 200 polls, and release the transaction before failing, so a lost
  race no longer hangs the suite's teardown. It was the most frequent flake (9 red runs).
- Integration shard weights refreshed from a recent run; /ship runs the affected workspaces' suites
  instead of the full suite locally.

* ci: include the chat page in the desktop gate, scope release-PR skips to this repository, give a cache-retry boot the full deadline

* ci: keep the release PR's CodeQL scan, require the main base for release-PR skips, gate desktop-live on workspace permissions

* ci: keep the desktop live gate's skip-only-unrelated rule

* ci: run the mobile browsers one after the other again

* ci: drop the e2e Turbopack dev cache and keep /ship's full test gate

* ci: drop the main proof job and the release-PR skips
2026-10-10 05:56:09 -07:00

Sim.ai Documentation Slack X

Ask DeepWiki Set Up with Cursor

Sim — Integrate, Context, Build, and Monitor AI agents

A workspace to build, deploy and manage AI agents and workflows.

Quickstart

Cloud-hosted: sim.ai

Open sim.ai

Self-hosted

npx sim-setup

Desktop: macOS

Download Sim for macOS

macOS 12+, Apple Silicon and Intel. See the desktop docs to point it at a self-hosted deployment.

The Sim platform — chat on the left, the visual workflow builder on the right

Capabilities

  • Connect 1,000+ integrations and every major LLM
  • Add Slack, Notion, HubSpot, Salesforce, databases, and more
  • Build agents visually, conversationally, or with code
  • Ingest files, knowledge bases, and structured table data
  • Monitor runs, logs, schedules, and workflow activity

One workspace, every surface

Chat and workflows are just the start — tables, files, and knowledge all live in the same workspace, in the browser or on your desktop.

Tables in Sim — structured data your agents can query

Tables — a database, built in

Files in Sim — documents for your team and every agent

Files — one store for your team and every agent

Knowledge bases in Sim — synced docs your agents can search

Knowledge — your agents' memory

Sim Desktop — Chat on the left, the built-in browser on the right

Desktop — Sim on your Mac, browser and terminal included

Self-hosting

Requirements: Node.js 20+ and Docker.

npx sim-setup is an interactive wizard that creates a small sim/ deployment directory, provisions the database, generates secrets, writes .env, connects a Chat API key, and starts the published Sim images with Docker Compose. It does not clone the repository.

When it finishes, open http://localhost:3000.

Inside a cloned Sim repository, run bun run sim-setup to unlock the source-only local development and Kubernetes modes.

Reconfigure an optional capability without rerunning the full wizard:

npx sim-setup config
npx sim-setup add email
npx sim-setup add storage
npx sim-setup add sandbox
npx sim-setup add jobs
npx sim-setup add cache
npx sim-setup add knowledge
npx sim-setup add chat
npx sim-setup add llm
npx sim-setup add integration slack

npx sim-setup config detects the effective local-dev, Docker Compose, or current-context Helm configuration and reports configured, missing, or invalid capabilities and OAuth integrations without printing credential values. This is separate from npx sim-setup status, which reports whether installed services are running and healthy.

Manage your install from its directory:

npx sim-setup start | stop | restart   # bring your install up / down / cycle
npx sim-setup update                   # pull and apply Compose images
npx sim-setup status                   # what's installed and healthy
npx sim-setup logs                     # follow logs
npx sim-setup doctor                   # diagnose configuration problems
npx sim-setup down                     # remove containers (data kept)
npx sim-setup reset                    # archive .env and wipe managed data

The setup package detects how you're running and acts accordingly. Use --dir <path> to create or manage a deployment somewhere other than ./sim.

Sim also supports local models via Ollama and vLLM. See the self-hosting docs for details.

Chat API Keys

Chat is a Sim-managed service. npx sim-setup connects a Chat API key for you — sign in when it opens your browser and the key is stored automatically. To view, create, or revoke keys later, go to sim.ai/selfhost/settings/chat-keys.

Environment Variables

See the environment variables reference for the full list, or apps/sim/.env.example for defaults.

Tech Stack

Next.js · Bun · PostgreSQL · Drizzle · Better Auth · Tailwind — and the rest of the stack

Contributing

We welcome contributions! Please see our Contributing Guide for details.

License

This project is licensed under the Apache License 2.0 - see the LICENSE file for details.

Built by the Sim team in San Francisco

Languages
TypeScript 77%
MDX 20.8%
JavaScript 1.9%
CSS 0.1%