mirror of
https://github.com/different-ai/openwork
synced 2026-04-25 17:15:34 +02:00
2.8 KiB
2.8 KiB
OpenWork Cloud App (ee/apps/den-web)
Frontend for app.openworklabs.com.
What it does
- Signs up / signs in users against Den service auth.
- Handles invited-org signup flows where the invited email stays locked and the user verifies access before joining.
- Launches cloud workers via
POST /v1/workers. - Handles paywall responses (
402 payment_required), routes users through Polar checkout, and only enables worker launch after purchase. - Offers desktop handoff actions so users can open the generated worker directly in OpenWork or copy the connect credentials manually.
- Uses a Next.js proxy route (
/api/den/*) to reachapi.openworklabs.comwithout browser CORS issues. - Uses a same-origin auth proxy (
/api/auth/*) so GitHub OAuth callbacks can land onapp.openworklabs.com.
Current hosted user flow
- Sign in with a standard provider or accept an org invite.
- If the org requires billing, complete checkout before launching a worker.
- Launch the worker from the cloud dashboard.
- Open the worker in the desktop app with the provided deep link, or copy the URL/token into
Connect remotemanually.
Local development
- Install workspace deps from repo root:
pnpm install - Run the app:
pnpm --filter @openwork-ee/den-web dev - Open:
http://localhost:3005
Optional env vars
DEN_API_BASE(server-only): upstream API base used by proxy route.- default:
https://api.openworklabs.com
- default:
DEN_AUTH_ORIGIN(server-only): Origin header sent to Better Auth endpoints when the browser request does not include one.- default:
https://app.openworklabs.com
- default:
DEN_AUTH_FALLBACK_BASE(server-only): fallback Den origin used ifDEN_API_BASEserves an HTML/5xx error.- default:
https://den-control-plane-openwork.onrender.com
- default:
NEXT_PUBLIC_OPENWORK_APP_CONNECT_URL(client): Base URL for "Open in App" links.- Example:
https://openworklabs.com/app - The web panel appends
/connect-remoteand injects worker URL/token params automatically.
- Example:
NEXT_PUBLIC_OPENWORK_AUTH_CALLBACK_URL(client): Canonical URL used for GitHub auth callback redirects.- default:
https://app.openworklabs.com - this host must serve
/api/auth/*; the included proxy route does that
- default:
NEXT_PUBLIC_POSTHOG_KEY(client): PostHog project key used for Den analytics.- optional override; defaults to the same project key used by
ee/apps/landing
- optional override; defaults to the same project key used by
NEXT_PUBLIC_POSTHOG_HOST(client): PostHog ingest host or same-origin proxy path.- default:
/ow - set it to
https://us.i.posthog.comto bypass the local proxy
- default:
Deploy on Vercel
Recommended project settings:
- Root directory:
ee/apps/den-web - Framework preset: Next.js
- Build command:
next build - Output directory:
.next - Install command:
pnpm install --frozen-lockfile
Then assign custom domain:
app.openworklabs.com