메뉴
HN
Hacker News 36일 전

슈마이(Shumai): 크리에이티브 워크를 위한 Frame.io 오픈소스 대안

IMP
7/10
핵심 요약

슈마이(Shumai)는 영상 및 이미지 에셋 관리, 프레임별 피드백, 영상 트랜스코딩, 그리고 AI 협업 기능을 결합한 오픈소스 크리에이티브 플랫폼입니다. 구글 제미나이(Gemini)를 활용한 메타데이터 자동 생성 및 의미론적 검색, 맥락을 이해하는 AI 에이전트를 지원하여 크리에이티브 실무자의 작업 흐름을 크게 향상시킵니다. 클라우드 종속 없이 로컬 또는 S3 호환 스토리지를 통해 안전하게 구축할 수 있어 상용 솔루션을 대체할 수 있는 중요한 오픈소스 대안입니다.

번역된 본문

원문 제목: Show HN: Shumai – 크리에이티브 워크를 위한 Frame.io 오픈소스 대안 소스: 해커뉴스(Hackernews)

본문: 슈마이(Shumai): 모든 크리에이티브 작업을 위한 오픈소스 플랫폼입니다. 웹사이트 | 문서 | 데모

주요 기능 S3 호환 및 로컬 스토리지: 로컬 파일 시스템이나 AWS S3, Cloudflare R2, MinIO 등 S3 호환 클라우드 스토리지를 사용하여 크리에이티브 자산을 안전하게 저장하고 제공합니다. 프레임 단위 주석 및 댓글: 비디오 및 이미지 에셋에 직접 프레임별 드로잉 도구와 타임스탬프가 찍힌 댓글을 사용하여 정확한 피드백을 제공합니다. 보안 공유 및 컬렉션: 안전한 공개 공유 링크와 엄선된 미디어 컬렉션을 만들어 고객 및 이해관계자와 협업할 수 있습니다. 세분화된 액세스 제어: 팀 및 프로젝트 수준의 역할 기반 액세스 제어(RBAC)를 통해 워크스페이스 권한을 관리합니다. Temporal을 통한 분산 트랜스코딩: Temporal에 의해 오케스트레이션되는 백그라운드 워커 풀(Worker Pool)을 통해 리소스가 많이 소모되는 비디오 트랜스코딩 작업을 분산시킵니다. 사용자 정의 에셋 메타데이터: 제작 파이프라인에 맞춰 동적 메타데이터 필드를 정의하고 사용자 정의할 수 있습니다.

슈마이 에이전트(Shumai Agent) 협업 AI 채팅: 프로젝트 워크스페이스 내에서 컨텍스트(맥락)를 인식하는 AI 에이전트와 직접 대화할 수 있습니다. 사용자 정의 기술 및 도구: 사용자 정의 스크립트, 도구 및 자동화 기술을 등록하여 에이전트의 기능을 확장합니다. 격리된 샌드박스 실행: 샌드박스 환경 내에서 에이전트가 제출한 스크립트를 안전하게 실행합니다. AI 기반 메타데이터 자동 완성: 구글 제미나이(Google Gemini)를 사용하여 새 에셋에 대한 태그, 설명 및 사용자 정의 메타데이터를 자동으로 생성합니다. 의미론적 검색(Semantic Search): 벡터 임베딩을 사용하여 시각적 또는 개념적 검색 쿼리를 기반으로 에셋을 즉시 찾습니다.

설치 방법 아래는 로컬 스토리지로 슈마이를 실행하기 위한 빠른 시작 가이드입니다. 고급 구성 옵션(S3 호환 스토리지 및 Temporal 워크플로 오케스트레이션 포함)은 공식 문서를 참조하십시오.

옵션 1: Docker Compose Docker Compose는 슈마이를 실행하는 가장 빠른 방법입니다. 리포지토리를 복제(Clone)하거나 패키지를 수동으로 설치할 필요가 없습니다. Docker와 Docker Compose가 설치되어 있는지 확인한 후 다음 단계를 따르십시오: 구성 및 데이터 볼륨을 위한 새 디렉토리를 만들고 이동합니다: mkdir shumai && cd shumai docker-compose.yaml 파일을 다운로드합니다: curl -o docker-compose.yaml https://raw.githubusercontent.com/shumaiOne/shumai/main/docker-compose/local/docker-compose.yaml 환경 변수 구성(원격 배포에만 해당): 슈마이를 원격 서버(예: AWS EC2, VPS)에 배포하는 경우 docker-compose.yaml을 편집하고 environment 섹션 아래에 AWS_ENDPOINT_URL_S3를 추가한 다음, 서버의 공개 IP 주소 또는 도메인 이름(예: http://12.34.56.78)으로 설정합니다. 분리 모드(detached mode)로 서비스를 시작합니다: docker compose up -d 브라우저를 열고 http://localhost:3000(원격 배포의 경우 http://<서버-IP>:3000)에서 슈마이에 접속합니다.

옵션 2: NPM / 패키지 관리자를 통한 설치 슈마이는 NPM에 @shumai-one/shumai로 등록되어 있습니다. 이 옵션을 사용하면 슈마이를 전역 또는 로컬로 실행할 수 있습니다. 1단계: pgvector와 함께 PostgreSQL 시작 슈마이에는 pgvector 확장이 포함된 PostgreSQL이 필요합니다. Docker를 사용하여 사전 구성된 데이터베이스 컨테이너를 시작합니다: docker run --name shumai_postgres -e POSTGRES_USER=shumai -e POSTGRES_PASSWORD=shumai_password -e POSTGRES_DB=shumai_db -p 5432:5432 -d pgvector/pgvector:pg18

2단계: 워크스페이스 폴더 생성 환경 구성 및 미디어 파일(기본적으로 ./data 디렉토리에 저장됨)을 저장할 전용 디렉토리를 만듭니다: mkdir shumai && cd shumai

3단계: 플랫폼별 종속성 설치 슈마이를 설치하기 전에 호스트 머신에 다음 시스템 종속성이 설치되어 있는지 확인하십시오:

패키지: ffmpeg 설명: 미디어 트랜스코딩 및 메타데이터 추출 Ubuntu/Debian: sudo apt install -y ffmpeg Fedora: sudo dnf install -y ffmpeg Arch: sudo pacman -S --noconfirm ffmpeg macOS: brew install ffmpeg

패키지: bubblewrap 설명: 안전한 AI 에이전트 실행을 위한 샌드박싱 환경 Ubuntu/Debian: sudo apt install -y bubblewrap Fedora: sudo dnf install -y bubblewrap Arch: sudo pacman -S --noconfirm bubblewrap macOS: 필요하지 않음

패키지: socat 설명: 샌드박스 네트워크 브리징을 위한 양방향 소켓 릴레이 Ubuntu/Debian: sudo apt install -y socat Fedora: sudo dnf install -y socat

원문 보기
원문 보기 (영어)
Shumai An open-source platform for all your creative work. Website | Docs | Demo Features S3-Compatible & Local Storage : Securely store and serve your creative assets using a local filesystem or any S3-compatible cloud storage (AWS S3, Cloudflare R2, MinIO, etc.). Frame-by-Frame Annotations & Comments : Give precise feedback using frame-specific drawing tools and timestamped comments directly on video and image assets. Secure Sharing & Collections : Create secure public share links and curated media collections to collaborate with clients and stakeholders. Granular Access Control : Manage workspace permissions using team-level and project-level role-based access controls. Distributed Transcoding via Temporal : Offload resource-heavy video transcoding to a background worker pool orchestrated by Temporal. Custom Asset Metadata : Define and customize dynamic metadata fields tailored to your production pipeline. Shumai Agent Collaborative AI Chat : Converse with a context-aware AI agent directly within your project workspace. Custom Skills & Tools : Extend the agent's capabilities by registering custom scripts, tools, and automation skills. Isolated Sandbox Execution : Run agent-submitted scripts securely within a sandboxed environment. AI-Powered Metadata Autofill : Automatically generate tags, descriptions, and custom metadata for new assets using Google Gemini. Semantic Search : Locate assets instantly based on visual or conceptual search queries using vector embeddings. Installation Below is a quickstart guide for running Shumai with local storage. For advanced configuration options (including S3-compatible storage and Temporal workflow orchestration), see our Documentation . Option 1: Docker Compose Docker Compose is the fastest way to get Shumai running. You do not need to clone the repository or install packages manually. Ensure you have Docker and Docker Compose installed, then follow these steps: Create and navigate to a new directory for your configuration and data volumes: mkdir shumai && cd shumai Download the docker-compose.yaml file: curl -o docker-compose.yaml https://raw.githubusercontent.com/shumaiOne/shumai/main/docker-compose/local/docker-compose.yaml Configure Environment Variables (Remote Deployments only): If deploying Shumai to a remote server (e.g., AWS EC2, VPS), edit docker-compose.yaml and add AWS_ENDPOINT_URL_S3 under the environment section, setting it to your server's public IP address or domain name (e.g., http://12.34.56.78 ). Start the services in detached mode: docker compose up -d Open your browser and access Shumai at http://localhost:3000 (or http://<your-server-ip>:3000 for remote deployments). Option 2: Install via NPM / Package Manager Shumai is published as @shumai-one/shumai on NPM. This option allows you to run Shumai globally or locally. Step 1: Start PostgreSQL with pgvector Shumai requires PostgreSQL with the pgvector extension. Start a pre-configured database container using Docker: docker run --name shumai_postgres \ -e POSTGRES_USER=shumai \ -e POSTGRES_PASSWORD=shumai_password \ -e POSTGRES_DB=shumai_db \ -p 5432:5432 \ -d pgvector/pgvector:pg18 Step 2: Create a workspace folder Create a dedicated directory to store your environment configuration and media files (which are saved in a ./data directory by default): mkdir shumai && cd shumai Step 3: Install Platform-Specific Dependencies Make sure the following system dependencies are installed on your host machine before installing Shumai: Package Description Ubuntu/Debian Fedora Arch macOS ffmpeg Media transcoding and metadata extraction sudo apt install -y ffmpeg sudo dnf install -y ffmpeg sudo pacman -S --noconfirm ffmpeg brew install ffmpeg bubblewrap Sandboxing environment for secure AI agent execution sudo apt install -y bubblewrap sudo dnf install -y bubblewrap sudo pacman -S --noconfirm bubblewrap NOT REQUIRED socat Bidirectional socket relay for sandbox network bridging sudo apt install -y socat sudo dnf install -y socat sudo pacman -S --noconfirm socat brew install socat ripgrep Fast search tool for workspace security policies sudo apt install -y ripgrep sudo dnf install -y ripgrep sudo pacman -S --noconfirm ripgrep brew install ripgrep Note Ubuntu 24.04+ Note: These releases restrict unprivileged user namespaces by default. To allow bubblewrap and the sandbox isolation layer to function, disable this restriction: sudo sysctl -w kernel.apparmor_restrict_unprivileged_userns=0 Alternatively, configure an AppArmor profile that grants user namespace creation ( userns ) privileges to the relevant binaries. Step 4: Install Shumai globally Install Shumai globally using your preferred package manager: # NPM npm install -g @shumai-one/shumai # PNPM pnpm add -g @shumai-one/shumai # Bun bun add -g @shumai-one/shumai Step 5: Configure Environment Variables Create a .env file in your workspace folder ( shumai/ ) and add the following configuration: DATABASE_URL = postgresql://shumai:shumai_password@localhost:5432/shumai_db?schema=public BETTER_AUTH_SECRET = ySxs7DxzHDZBbeeHNPEwBuspYwipBqz5Gk5XdBjNhWw= STORAGE_BACKEND = local SHUMAI_SERVER_PORT = 3000 AWS_ENDPOINT_URL_S3 = http://localhost Note If deploying on a remote server, update AWS_ENDPOINT_URL_S3 from http://localhost to your server's public IP address or domain name. Step 6: Run Shumai Important For Bun Users: Since the published package binaries contain a #!/usr/bin/env node shebang, running the global command directly (e.g., shumai ) will execute under Node.js. If you installed with Bun and want to run under the Bun runtime, you must prefix all commands with bun run --bun (e.g., bun run --bun shumai , bun run --bun shumai -d , bun run --bun shumai stop ). Start the application from your workspace folder: shumai Alternatively, you can run and manage Shumai in daemon mode: Start in daemon mode : shumai -d Stop Shumai : shumai stop Restart Shumai : shumai restart Show/tail logs : shumai logs On startup, Shumai will automatically run database migrations and start the web server at http://localhost:3000 . Option 3: Run from Source (Development) To set up Shumai locally for development: Clone the repository and install dependencies: git clone https://github.com/shumaiOne/shumai.git cd shumai bun install Start the pgvector database container (as described in Option 2, Step 1 ). Create a .env file at the root of the workspace using the configuration from Option 2, Step 5 . Apply the database schema migrations: bun run db:migrate Start the local development server: bun run dev Command Line Interface (CLI) Shumai provides a Command Line Interface (CLI) tool to manage projects, folders, and assets, upload files/folders, and create new versions directly from your terminal. For more details on installation and usage, see the CLI Readme .