vork by Voyager
에이전트가 장면을 코드로 작성해 GPU에 렌더링하고 결과를 보고 코드를 수정합니다 소스 공개 연구 미리보기 기간 무료
3D 프린터가 있습니다
You have a 3D printer. Now make exactly what you want for it. Describe it in plain words, watch it appear in 3D, and download a print-ready STL or multi-colour 3MF. No CAD, no coding.
디자인TypeScript · CSSGitHub @everything3d온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗An AI-powered OpenSCAD editor with live 3D preview. Choose a canonical design (or begin blank), then describe what you want in an independent derivative workspace. An AI agent writes the OpenSCAD code and renders the model in real time.
writeOpenscad) replaces the project source with a complete program every turn,
so the model is always renderable.color() renders in the live preview (per-face colors via
OpenSCAD's colored OFF export). Download models as binary STL or as 3MF with
per-face colors preserved as a 3MF color group (written client-side), which
Bambu Studio, Orca, and PrusaSlicer map to filaments for multi-material printing.Designs, OpenSCAD code and exported STL/3MF files that users create in the studio are
theirs, free for personal and commercial use (selling prints, selling files, client
work), with no attribution required. Everything 3D waives any rights it might hold in
them under CC0 1.0, and the
built-in starter designs in src/lib/builtin-scad/ are released under CC0 1.0 as well.
The public /license page states this in plain language; the landing page FAQ, the
studio sidebar, the download menu and the agent's instructions all point there. The
studio software itself and the Everything 3D branding are not covered by this grant.
Browser Server (Next.js App Router)
─────── ───────────────────────────
Chat (useChat + AI Elements) ──▶ POST /api/chat
└─ ToolLoopAgent (AI SDK)
├─ model: claude-opus-5-5 (Claude API)
├─ tool: writeOpenscad (zod-typed)
└─ onFinish → persist chat + code (Drizzle/Postgres)
writeOpenscad tool part ──▶ editor + preview
CodeMirror editor ──▶ PATCH /api/projects/[id]
openscad-wasm worker ──▶ binary STL ──▶ three.js preview
ToolLoopAgent behind an API route, calling
the Claude API directly (claude-opus-5-5 for the
agent, claude-haiku-5-5 for project names and starter metadata). The agent's
instructions, tools and conversation history are prompt-cached. Model ids are configured in one place, src/lib/ai/models.ts, and
overridable per environment via STUDIO_MODEL / NAMING_MODEL /
STARTER_DRAFT_MODEL with any current Claude model id. STUDIO_EFFORT sets how
much the agent thinks (low to max, default medium). All calls are
server-side; no API keys reach the browser.useChat streaming.canonical_designs, immutable
canonical_versions, mutable projects, AI SDK messages, and workspace_files).public/openscad/.Requirements: Node 20+, Postgres running locally.
npm install
createdb e3d_openscad_studio
cp .env.example .env.local
# Set POSTGRES_URL (e.g. postgres://<you>@localhost:5432/e3d_openscad_studio)
# Set ANTHROPIC_API_KEY (create one at https://platform.claude.com/settings/keys)
npm run db:migrate # apply schema
npm run dev # http://localhost:3000
Describe a model in the chat ("a hexagonal phone stand", "a 20 mm gear with 12 teeth") and watch it render.
npm run dev # dev server (Turbopack)
npm run build # type-check + production build
npm run start # serve production build
npm test # focused domain regression tests
npm run typecheck # tsc --noEmit
npm run db:generate # generate migration from schema changes
npm run db:migrate # apply migrations
POSTGRES_URL automatically.ANTHROPIC_API_KEY under Project → Settings → Environment Variables
(Production, Preview, and Development), then redeploy so it takes effect.POSTGRES_URL=... npm run db:migrate.Opening /studio shows the canonical design library rather than automatically
reopening the latest derivative. Choose Blank design or inspect a canonical and
select Create derivative. A derivative records the exact canonical version it
came from; new canonical versions appear as a non-destructive update hint while
existing work continues unchanged.
Use Save as canonical in a workspace to draft a title, description, reusable-change summary, and agent guidance. Review any derivative-specific warnings before saving. Publishing snapshots only the current code and workspace files — messages never become part of a canonical design.
ToolLoopAgent, useChat) + AI Elements + shadcn/ui + Tailwind v4