Skip to content

Commit 88b6ca2

Browse files
committed
Merge remote-tracking branch 'origin/staging' into feature/pi-babysit
# Conflicts: # apps/docs/content/docs/en/workflows/blocks/pi.mdx # apps/sim/blocks/blocks/pi.test.ts # apps/sim/blocks/blocks/pi.ts # apps/sim/executor/handlers/pi/backend.ts # apps/sim/executor/handlers/pi/cloud-backend.test.ts # apps/sim/executor/handlers/pi/cloud-backend.ts # apps/sim/executor/handlers/pi/cloud-review-backend.test.ts # apps/sim/executor/handlers/pi/cloud-review-backend.ts # apps/sim/executor/handlers/pi/cloud-review-tools.ts # apps/sim/executor/handlers/pi/cloud-shared.ts # apps/sim/executor/handlers/pi/keys.test.ts # apps/sim/executor/handlers/pi/keys.ts # apps/sim/executor/handlers/pi/local-backend.test.ts # apps/sim/executor/handlers/pi/pi-handler.test.ts # apps/sim/executor/handlers/pi/pi-handler.ts # apps/sim/executor/handlers/pi/search/extension-source.test.ts # apps/sim/executor/handlers/pi/search/extension-source.ts # apps/sim/executor/handlers/pi/search/normalize.test.ts # apps/sim/executor/handlers/pi/search/normalize.ts # apps/sim/executor/handlers/pi/search/parity.test.ts # apps/sim/executor/handlers/pi/search/tool.test.ts # apps/sim/executor/handlers/pi/search/tool.ts
2 parents d3a5831 + 591702b commit 88b6ca2

595 files changed

Lines changed: 89496 additions & 5285 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.claude/rules/landing-seo-geo.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ paths:
2222
- **Answer-first pattern**: each section's H2 + subtitle should directly answer a user question (e.g. "What is Sim?", "How fast can I deploy?").
2323
- **Atomic answer blocks**: each feature / template card should be independently extractable by an AI summariser.
2424
- **Entity consistency**: always write "Sim" by name — never "the platform" or "our tool".
25-
- **Keyword density**: first 150 visible chars of Hero must name "Sim", "AI workspace", "AI agents".
25+
- **Keyword density**: first 150 visible chars of Hero must name "AI workspace" and "AI agents". "Sim" is carried by the title tag, the meta description, and the Hero `sr-only` summary — the H1 does not have to spend its opening words on the brand.
2626
- **sr-only summaries**: Hero and Templates each have a `<p className="sr-only">` (~50 words) as an atomic product/catalog summary for AI citation.
2727
- **Specific numbers**: prefer concrete figures ("1,000+ integrations", "15+ AI providers") over vague claims.
2828

.github/workflows/ci.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -198,7 +198,7 @@ jobs:
198198
${{ runner.os }}-bun-
199199
200200
- name: Install dependencies
201-
run: bun install --frozen-lockfile
201+
run: bun install --frozen-lockfile --ignore-scripts
202202

203203
- name: Deploy to Trigger.dev
204204
working-directory: ./apps/sim
@@ -584,7 +584,7 @@ jobs:
584584
bun-version: 1.3.13
585585

586586
- name: Install dependencies
587-
run: bun install --frozen-lockfile
587+
run: bun install --frozen-lockfile --ignore-scripts
588588

589589
- name: Create release
590590
env:

.github/workflows/docs-embeddings.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ jobs:
4141
${{ runner.os }}-bun-
4242
4343
- name: Install dependencies
44-
run: bun install --frozen-lockfile
44+
run: bun install --frozen-lockfile --ignore-scripts
4545

4646
- name: Process docs embeddings
4747
working-directory: ./apps/sim

.github/workflows/migrations.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ jobs:
4848
${{ runner.os }}-bun-
4949
5050
- name: Install dependencies
51-
run: bun install --frozen-lockfile
51+
run: bun install --frozen-lockfile --ignore-scripts
5252

5353
# The expression maps the explicit environment input to exactly one repo
5454
# secret, so the job never holds another environment's database URL. An

.github/workflows/publish-cli.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ jobs:
2525
- name: Setup Node.js for npm publishing
2626
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6
2727
with:
28-
node-version: '18'
28+
node-version: '22'
2929
registry-url: 'https://registry.npmjs.org/'
3030

3131
- name: Cache Bun dependencies
@@ -41,7 +41,7 @@ jobs:
4141
4242
- name: Install dependencies
4343
working-directory: packages/cli
44-
run: bun install --frozen-lockfile
44+
run: bun install --frozen-lockfile --ignore-scripts
4545

4646
- name: Build package
4747
working-directory: packages/cli

.github/workflows/publish-ts-sdk.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ jobs:
4040
${{ runner.os }}-bun-
4141
4242
- name: Install dependencies
43-
run: bun install --frozen-lockfile
43+
run: bun install --frozen-lockfile --ignore-scripts
4444

4545
- name: Run tests
4646
working-directory: packages/ts-sdk

.github/workflows/test-build.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ jobs:
6060
path: ./.turbo
6161

6262
- name: Install dependencies
63-
run: bun install --frozen-lockfile
63+
run: bun install --frozen-lockfile --ignore-scripts
6464

6565
# Surfaces known CVEs in the dependency tree. Non-blocking until the
6666
# existing advisory backlog is triaged, then flip to a required gate by
@@ -278,7 +278,7 @@ jobs:
278278
fi
279279
280280
- name: Install dependencies
281-
run: bun install --frozen-lockfile
281+
run: bun install --frozen-lockfile --ignore-scripts
282282

283283
- name: Build application
284284
env:

README.md

Lines changed: 19 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -27,13 +27,12 @@
2727
### Self-hosted
2828

2929
```bash
30-
npx simstudio
30+
git clone https://github.com/simstudioai/sim.git && cd sim
31+
bun run setup
3132
```
3233

3334
Open [http://localhost:3000](http://localhost:3000)
3435

35-
Docker must be installed and running. Use `-p, --port <port>` to run Sim on a different port, or `--no-pull` to skip pulling the latest Docker images.
36-
3736
<p align="center">
3837
<img src="apps/sim/public/static/readme-platform.png" alt="The Sim platform — chat on the left, the visual workflow builder on the right" width="100%"/>
3938
</p>
@@ -75,71 +74,36 @@ Docker must be installed and running. Use `-p, --port <port>` to run Sim on a di
7574

7675
## Self-hosting
7776

78-
### Docker Compose
79-
80-
```bash
81-
git clone https://github.com/simstudioai/sim.git && cd sim
82-
docker compose -f docker-compose.prod.yml up -d
83-
```
84-
85-
Open [http://localhost:3000](http://localhost:3000)
86-
87-
Sim also supports local models via [Ollama](https://ollama.ai) and [vLLM](https://docs.vllm.ai/). See the [Docker self-hosting docs](https://docs.sim.ai/self-hosting/docker) for setup details.
88-
89-
### Manual Setup
90-
91-
**Requirements:** [Bun](https://bun.sh/), [Node.js](https://nodejs.org/) v20+, PostgreSQL 12+ with [pgvector](https://github.com/pgvector/pgvector)
92-
93-
1. Clone and install:
77+
**Requirements:** [Bun](https://bun.sh/) and [Docker](https://www.docker.com/).
9478

95-
```bash
96-
git clone https://github.com/simstudioai/sim.git
97-
cd sim
98-
bun install
99-
bun run prepare # Set up pre-commit hooks
100-
```
101-
102-
2. Set up PostgreSQL with pgvector:
103-
104-
```bash
105-
docker run --name simstudio-db -e POSTGRES_PASSWORD=your_password -e POSTGRES_DB=simstudio -p 5432:5432 -d pgvector/pgvector:pg17
106-
```
79+
`bun run setup` is an interactive wizard: it provisions the database, generates secrets, writes your `.env` files, connects a Chat API key, and starts Sim the way you choose:
10780

108-
Or install manually via the [pgvector guide](https://github.com/pgvector/pgvector#installation).
81+
- **Local dev** — run from source to contribute or hack on Sim
82+
- **Docker Compose** — a self-contained instance for testing self-hosting
83+
- **Kubernetes (Helm)** — deploy to a local cluster
10984

110-
3. Configure environment:
85+
When it finishes, open [http://localhost:3000](http://localhost:3000).
11186

112-
```bash
113-
cp apps/sim/.env.example apps/sim/.env
114-
# Create your secrets
115-
perl -i -pe "s/your_encryption_key/$(openssl rand -hex 32)/" apps/sim/.env
116-
perl -i -pe "s/your_internal_api_secret/$(openssl rand -hex 32)/" apps/sim/.env
117-
perl -i -pe "s/your_api_encryption_key/$(openssl rand -hex 32)/" apps/sim/.env
118-
# DB configs for migration
119-
cp packages/db/.env.example packages/db/.env
120-
# Edit both .env files to set DATABASE_URL="postgresql://postgres:your_password@localhost:5432/simstudio"
121-
```
122-
123-
4. Run migrations:
87+
Manage your install with `bun run sim`:
12488

12589
```bash
126-
cd packages/db && bun run db:migrate
90+
bun run sim start | stop | restart # bring your install up / down / cycle
91+
bun run sim status # what's installed and healthy
92+
bun run sim logs # follow logs
93+
bun run sim doctor # diagnose configuration problems
94+
bun run sim down # remove containers (data kept)
95+
bun run sim reset # archive .env and wipe managed data
12796
```
12897

129-
5. Start development servers:
98+
`sim` detects how you're running (Docker Compose, local dev, or Kubernetes) and acts accordingly.
13099

131-
```bash
132-
bun run dev:full # Starts Next.js app and realtime socket server
133-
```
100+
Prefer a bare `sim`? Run `bun link` once — but note `sim` lands in `~/.bun/bin`, which Homebrew's bun doesn't add to your PATH, so you may need `export PATH="$HOME/.bun/bin:$PATH"` in your shell profile.
134101

135-
Or run separately: `bun run dev` (Next.js) and `cd apps/sim && bun run dev:sockets` (realtime).
102+
Sim also supports local models via [Ollama](https://ollama.ai) and [vLLM](https://docs.vllm.ai/). See the [self-hosting docs](https://docs.sim.ai/self-hosting/docker) for details.
136103

137104
## Chat API Keys
138105

139-
Chat is a Sim-managed service. To use Chat on a self-hosted instance:
140-
141-
- Go to https://sim.ai → Settings → Chat keys and generate a Chat API key
142-
- Set `COPILOT_API_KEY` environment variable in your self-hosted apps/sim/.env file to that value
106+
Chat is a Sim-managed service. `bun run 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](https://sim.ai/selfhost/settings/chat-keys).
143107

144108
## Environment Variables
145109

apps/docs/components/icons.tsx

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3683,6 +3683,20 @@ export const AnthropicIcon = (props: SVGProps<SVGSVGElement>) => (
36833683
</svg>
36843684
)
36853685

3686+
export const ClaudeIcon = (props: SVGProps<SVGSVGElement>) => (
3687+
<svg
3688+
{...props}
3689+
fill='currentColor'
3690+
height='1em'
3691+
viewBox='0 0 100 100'
3692+
width='1em'
3693+
xmlns='http://www.w3.org/2000/svg'
3694+
>
3695+
<title>Claude</title>
3696+
<path d='m19.6 66.5 19.7-11 .3-1-.3-.5h-1l-3.3-.2-11.2-.3L14 53l-9.5-.5-2.4-.5L0 49l.2-1.5 2-1.3 2.9.2 6.3.5 9.5.6 6.9.4L38 49.1h1.6l.2-.7-.5-.4-.4-.4L29 41l-10.6-7-5.6-4.1-3-2-1.5-2-.6-4.2 2.7-3 3.7.3.9.2 3.7 2.9 8 6.1L37 36l1.5 1.2.6-.4.1-.3-.7-1.1L33 25l-6-10.4-2.7-4.3-.7-2.6c-.3-1-.4-2-.4-3l3-4.2L28 0l4.2.6L33.8 2l2.6 6 4.1 9.3L47 29.9l2 3.8 1 3.4.3 1h.7v-.5l.5-7.2 1-8.7 1-11.2.3-3.2 1.6-3.8 3-2L61 2.6l2 2.9-.3 1.8-1.1 7.7L59 27.1l-1.5 8.2h.9l1-1.1 4.1-5.4 6.9-8.6 3-3.5L77 13l2.3-1.8h4.3l3.1 4.7-1.4 4.9-4.4 5.6-3.7 4.7-5.3 7.1-3.2 5.7.3.4h.7l12-2.6 6.4-1.1 7.6-1.3 3.5 1.6.4 1.6-1.4 3.4-8.2 2-9.6 2-14.3 3.3-.2.1.2.3 6.4.6 2.8.2h6.8l12.6 1 3.3 2 1.9 2.7-.3 2-5.1 2.6-6.8-1.6-16-3.8-5.4-1.3h-.8v.4l4.6 4.5 8.3 7.5L89 80.1l.5 2.4-1.3 2-1.4-.2-9.2-7-3.6-3-8-6.8h-.5v.7l1.8 2.7 9.8 14.7.5 4.5-.7 1.4-2.6 1-2.7-.6-5.8-8-6-9-4.7-8.2-.5.4-2.9 30.2-1.3 1.5-3 1.2-2.5-2-1.4-3 1.4-6.2 1.6-8 1.3-6.4 1.2-7.9.7-2.6v-.2H49L43 72l-9 12.3-7.2 7.6-1.7.7-3-1.5.3-2.8L24 86l10-12.8 6-7.9 4-4.6-.1-.5h-.3L17.2 77.4l-4.7.6-2-2 .2-3 1-1 8-5.5Z' />
3697+
</svg>
3698+
)
3699+
36863700
export function AzureIcon(props: SVGProps<SVGSVGElement>) {
36873701
const id = useId()
36883702
const gradient0 = `azure_paint0_${id}`
@@ -3823,6 +3837,20 @@ export const ZaiIcon = (props: SVGProps<SVGSVGElement>) => (
38233837
</svg>
38243838
)
38253839

3840+
export const KimiIcon = (props: SVGProps<SVGSVGElement>) => (
3841+
<svg {...props} height='1em' viewBox='0 0 24 24' width='1em' xmlns='http://www.w3.org/2000/svg'>
3842+
<title>Kimi</title>
3843+
<path
3844+
d='M21.846 0a1.923 1.923 0 110 3.846H20.15a.226.226 0 01-.227-.226V1.923C19.923.861 20.784 0 21.846 0z'
3845+
fill='#1783FF'
3846+
/>
3847+
<path
3848+
d='M11.065 11.199l7.257-7.2c.137-.136.06-.41-.116-.41H14.3a.164.164 0 00-.117.051l-7.82 7.756c-.122.12-.302.013-.302-.179V3.82c0-.127-.083-.23-.185-.23H3.186c-.103 0-.186.103-.186.23V19.77c0 .128.083.23.186.23h2.69c.103 0 .186-.102.186-.23v-3.25c0-.069.025-.135.069-.178l2.424-2.406a.158.158 0 01.205-.023l6.484 4.772a7.677 7.677 0 003.453 1.283c.108.012.2-.095.2-.23v-3.06c0-.117-.07-.212-.164-.227a5.028 5.028 0 01-2.027-.807l-5.613-4.064c-.117-.078-.132-.279-.028-.381z'
3849+
fill='currentColor'
3850+
/>
3851+
</svg>
3852+
)
3853+
38263854
export function MetaIcon(props: SVGProps<SVGSVGElement>) {
38273855
const id = useId()
38283856
const gradient1Id = `meta_gradient_1_${id}`
@@ -5723,7 +5751,6 @@ export function SmtpIcon(props: SVGProps<SVGSVGElement>) {
57235751
strokeLinecap='round'
57245752
strokeLinejoin='round'
57255753
/>
5726-
<circle cx='24' cy='6' r='4' fill='currentColor' stroke='none' />
57275754
</svg>
57285755
)
57295756
}

apps/docs/components/navbar/navbar.tsx

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
import { ChipLink } from '@sim/emcn'
44
import Link from 'next/link'
55
import { usePathname } from 'next/navigation'
6-
import { LanguageDropdown } from '@/components/ui/language-dropdown'
76
import { SearchTrigger } from '@/components/ui/search-trigger'
87
import { SimWordmark } from '@/components/ui/sim-logo'
98
import { ThemeToggle } from '@/components/ui/theme-toggle'
@@ -53,7 +52,6 @@ export function Navbar() {
5352
</div>
5453

5554
<div className='flex items-center gap-2'>
56-
<LanguageDropdown />
5755
<ThemeToggle />
5856
<ChipLink href='https://sim.ai' variant='primary'>
5957
Get started

0 commit comments

Comments
 (0)