Bắt đầu nhanh
Tệp nguồn liên quan
Trang này được tạo dựa trên các tệp nguồn sau:
- README.md
- docker-compose.prod.yml
- docker-compose.ollama.yml
- .devcontainer/devcontainer.json
- .devcontainer/post-create.sh
- apps/sim/app/workspace/[workspaceId]/w/[workflowId]/utils/workflow-execution-utils.ts
- apps/sim/lib/workflows/executor/execution-events.ts
- packages/python-sdk/setup.py
- packages/db/index.ts
- apps/sim/tools/index.ts
Sim là nền tảng mã nguồn mở để xây dựng các AI agent và điều phối quy trình làm việc tự động. Dự án hỗ trợ kết nối hơn 1,000 tích hợp và các mô hình ngôn ngữ lớn (LLM) khác nhau, cho phép người dùng thiết kế workflow trực quan trên canvas.
Yêu cầu môi trường
Yêu cầu hệ thống
Dựa trên cấu hình Docker Compose, các yêu cầu tài nguyên tối thiểu như sau:
| Thành phần | Yêu cầu | Ghi chú |
|---|---|---|
| Bộ nhớ RAM | 12GB+ | Main app: 8GB, Realtime: 1GB, DB + Ollama: ~3GB |
| Docker | Cần cài đặt và chạy | Bắt buộc cho mọi phương thức triển khai |
| PostgreSQL | 12+ với pgvector | Hỗ trợ vector embeddings |
| Node.js | v20+ | Chỉ cần cho manual setup |
| Bun runtime | Phiên bản mới nhất | Chỉ cần cho manual setup |
Giới hạn tài nguyên theo cấu hình Docker (docker-compose.prod.yml:7-L10):
- Service
simstudio: giới hạn 8GB memory - Service
realtime: giới hạn 1GB memory (docker-compose.prod.yml:45-L48)
Cổng mạng
Các cổng được sử dụng bởi hệ thống:
| Cổng | Service | Mô tả |
|---|---|---|
| 3000 | simstudio | Ứng dụng chính (Web UI) |
| 3002 | realtime | Socket server cho real-time |
| 5432 | db | PostgreSQL database |
Cấu hình cổng (docker-compose.prod.yml:5-L6, docker-compose.prod.yml:43-L44, docker-compose.prod.yml:81-L82).
Cài đặt nhanh với NPM Package
Phương thức được khuyến nghị
Đây là cách nhanh nhất để chạy Sim cục bộ:
bash1npx simstudio
Sau khi chạy, ứng dụng sẽ có sẵn tại http://localhost:3000 (README.md:49-L52).
Lưu ý quan trọng: Docker phải được cài đặt và đang chạy trên máy (README.md:54-L55).
Các tùy chọn dòng lệnh
| Flag | Mô tả |
|---|---|
-p, --port <port> | Chỉ định cổng chạy Sim (mặc định: 3000) |
--no-pull | Bỏ qua việc pull Docker images mới nhất |
Triển khai với Docker Compose
Cài đặt tiêu chuẩn
Phương thức này phù hợp cho môi trường production:
bash1git clone https://github.com/simstudioai/sim.git && cd sim 2docker compose -f docker-compose.prod.yml up -d
Truy cập ứng dụng tại http://localhost:3000 (README.md:64-L71).
Sử dụng mô hình AI cục bộ với Ollama
Để chạy Sim với các mô hình AI cục bộ (không cần external APIs):
bash1# Với GPU support (tự động download gemma3:4b model) 2docker compose -f docker-compose.ollama.yml --profile setup up -d 3 4# Cho hệ thống chỉ có CPU: 5docker compose -f docker-compose.ollama.yml --profile cpu --profile setup up -d
URL Ollama được cấu hình mặc định: http://ollama:11434 trong docker-compose.ollama.yml (docker-compose.ollama.yml:22-L23).
Thêm mô hình mới:
bash1docker compose -f docker-compose.ollama.yml exec ollama ollama pull llama3.1:8b
Sử dụng Ollama Instance bên ngoài
Nếu Ollama đang chạy trên host machine, sử dụng host.docker.internal thay vì localhost:
bash1OLLAMA_URL=http://host.docker.internal:11434 docker compose -f docker-compose.prod.yml up -d
Trên Linux, cần sử dụng IP address của host hoặc thêm extra_hosts: ["host.docker.internal:host-gateway"] vào compose file.
Cài đặt thủ công (Manual Setup)
Yêu cầu chi tiết
Bước 1: Clone và cài đặt dependencies
bash1git clone https://github.com/simstudioai/sim.git 2cd sim 3bun install
Bước 2: Thiết lập PostgreSQL với pgvector
Sử dụng Docker để chạy PostgreSQL:
bash1docker run --name simstudio-db -e POSTGRES_PASSWORD=your_password -e POSTGRES_DB=simstudio -p 5432:5432 -d pgvector/pgvector:pg17
Hoặc cài đặt thủ công theo pgvector guide.
Bước 3: Cấu hình biến môi trường
bash1cp apps/sim/.env.example apps/sim/.env 2cp packages/db/.env.example packages/db/.env 3# Chỉnh sửa cả hai file .env để set DATABASE_URL="postgresql://postgres:your_password@localhost:5432/simstudio"
Bước 4: Chạy migrations
bash1cd packages/db && bunx drizzle-kit migrate --config=./drizzle.config.ts
Bước 5: Khởi động development servers
bash1bun run dev:full # Khởi động cả Next.js app và realtime socket server
Hoặc chạy riêng biệt:
bun run dev(Next.js app)cd apps/sim && bun run dev:sockets(realtime server)
Biến môi trường bắt buộc
Các biến môi trường quan trọng
| Biến | Bắt buộc | Mô tả |
|---|---|---|
DATABASE_URL | Có | Chuỗi kết nối PostgreSQL với pgvector |
BETTER_AUTH_SECRET | Có | Auth secret (openssl rand -hex 32) |
BETTER_AUTH_URL | Có | URL ứng dụng (e.g., http://localhost:3000) |
NEXT_PUBLIC_APP_URL | Có | Public app URL (giống trên) |
ENCRYPTION_KEY | Có | Mã hóa environment variables (openssl rand -hex 32) |
INTERNAL_API_SECRET | Có | Mã hóa internal API routes (openssl rand -hex 32) |
API_ENCRYPTION_KEY | Có | Mã hóa API keys (openssl rand -hex 32) |
COPILOT_API_KEY | Không | API key từ sim.ai cho Copilot features |
Cấu hình trong Docker Compose
Các biến môi trường được cấu hình trong docker-compose.prod.yml:
yaml1environment: 2 - DATABASE_URL=postgresql://${POSTGRES_USER:-postgres}:${POSTGRES_PASSWORD:-postgres}@db:5432/${POSTGRES_DB:-simstudio} 3 - BETTER_AUTH_URL=${NEXT_PUBLIC_APP_URL:-http://localhost:3000} 4 - NEXT_PUBLIC_APP_URL=${NEXT_PUBLIC_APP_URL:-http://localhost:3000} 5 - OLLAMA_URL=${OLLAMA_URL:-http://localhost:11434}
(docker-compose.prod.yml:11-L23)
Xác minh cài đặt
Kiểm tra trạng thái containers
bash1docker compose -f docker-compose.prod.yml ps
Tất cả containers phải ở trạng thái "healthy" hoặc "running".
Kiểm tra sức khỏe services
Các healthcheck endpoints được cấu hình:
| Service | Endpoint | Cổng |
|---|---|---|
| simstudio | http://127.0.0.1:3000 | 3000 |
| realtime | http://127.0.0.1:3002/health | 3002 |
| db | pg_isready -U postgres | 5432 |
Healthcheck cấu hình (docker-compose.prod.yml:33-L38, docker-compose.prod.yml:60-L65, docker-compose.prod.yml:89-L93):
- simstudio: interval 90s, timeout 5s, 3 retries
- realtime: interval 90s, timeout 5s, 3 retries
- db: interval 5s, timeout 5s, 5 retries
Truy cập Web UI
Mở trình duyệt và truy cập http://localhost:3000. Nếu trang web hiển thị giao diện Sim, cài đặt thành công.
Dev Containers Setup
Yêu cầu
- VS Code với Remote - Containers extension
- Docker đang chạy
Các bước thực hiện
- Mở project trong VS Code
- Click "Reopen in Container" khi được提示
- Chạy lệnh trong terminal:
bash1bun run dev:full
Hoặc sử dụng alias sim-start (README.md:104-L109).
Lệnh này khởi động cả main application và realtime socket server.
Khắc phục sự cố thường gặp
Vấn đề 1: Cổng đã được sử dụng
Triệu chứng: Lỗi "port already in use" khi khởi động.
Nguyên nhân: Các cổng 3000, 3002, hoặc 5432 đã được sử dụng bởi process khác.
Giải pháp:
- Kiểm tra process đang sử dụng cổng:
bash
1# Linux/macOS 2lsof -i :3000 3lsof -i :3002 4lsof -i :5432 - Dừng process đó hoặc thay đổi cổng trong docker-compose file
- Hoặc set environment variable:
bash
1POSTGRES_PORT=5433 docker compose -f docker-compose.prod.yml up -d
(README.md:17-L17 - đề cập port conflicts là common issue)
Vấn đề 2: Docker không chạy
Triệu chứng: Lỗi "Cannot connect to the Docker daemon".
Giải pháp:
- Kiểm tra Docker đã cài đặt:
bash
1docker --version - Khởi động Docker Desktop hoặc Docker service
- Xác minh Docker đang chạy:
bash
1docker info
(README.md:17-L17 - đề cập "Docker not running" là common issue)
Vấn đề 3: Bộ nhớ không đủ
Triệu chứng: Containers bị kill hoặc OOM (Out of Memory).
Nguyên nhân: Hệ thống cần ít nhất 12GB RAM.
Giải pháp:
- Kiểm tra RAM khả dụng:
bash
1# Linux 2free -h 3# macOS 4vm_stat - Tăng giới hạn memory trong Docker Desktop settings
- Giảm memory limits trong docker-compose file (không khuyến nghị)
(README.md:17-L17 - đề cập "Insufficient memory (needs 12GB+ RAM)")
Vấn đề 4: Database migration thất bại
Triệu chứng: Service migrations thoát với lỗi.
Giải pháp:
- Kiểm tra logs:
bash
1docker compose -f docker-compose.prod.yml logs migrations - Xác minh DATABASE_URL đúng format
- Đảm bảo database đang healthy trước khi migrations chạy
Thứ tự dependency (docker-compose.prod.yml:26-L32):
- simstudio phụ thuộc vào: db (healthy), migrations (completed), realtime (healthy)
Vấn đề 5: Không kết nối được Ollama
Triệu chứng: Lỗi kết nối đến Ollama khi sử dụng local models.
Giải pháp:
- Kiểm tra Ollama container đang chạy:
bash
1docker compose -f docker-compose.ollama.yml ps ollama - Xác minh OLLAMA_URL đúng:
http://ollama:11434(trong Docker network) - Nếu chạy Ollama trên host, sử dụng:
bash
1OLLAMA_URL=http://host.docker.internal:11434
(docker-compose.ollama.yml:22-L23, README.md:90-L96)
Bảng so sánh các phương thức cài đặt
| Phương thức | Độ phức tạp | Thời gian | Use case |
|---|---|---|---|
| NPM Package | Thấp | ~2 phút | Thử nghiệm nhanh, development |
| Docker Compose (prod) | Trung bình | ~5 phút | Production deployment |
| Docker Compose (Ollama) | Trung bình | ~10 phút | Local AI models, không cần external API |
| Dev Containers | Trung bình | ~5 phút | Development với VS Code |
| Manual Setup | Cao | ~15 phút | Tùy chỉnh cao, development |
Các bước tiếp theo
Sau khi cài đặt thành công, có thể:
-
Khám phá Workflow Builder: Thiết kế agent workflows trực quan trên canvas - kết nối agents, tools, và blocks (README.md:20-L21)
-
Sử dụng Copilot: Tạo nodes, sửa lỗi, và iterate flows từ natural language (README.md:27-L28)
-
Tích hợp Vector Databases: Upload documents vào vector store để agents trả lời câu hỏi dựa trên nội dung cụ thể (README.md:34-L35)
-
Cấu hình Copilot API Key: Để sử dụng Copilot trên self-hosted instance:
- Truy cập https://sim.ai → Settings → Copilot để generate API key
- Set
COPILOT_API_KEYtrong fileapps/sim/.env(README.md:153-L158)
-
Tham gia cộng đồng: Kết nối qua Discord hoặc follow Twitter @simdotai (README.md:10-L12)
