Analyze and Ship to Sealos is a Next.js app for running Sealos-focused coding and deployment tasks against GitHub repositories. A user selects a repo, submits a command, and the app runs a fixed codex + gpt-5.4 execution path inside a Devbox runtime while surfacing logs, diffs, runtime state, and preview links in the UI.
- Turn a GitHub repository and a deployment-oriented prompt into a tracked task.
- Keep Sealos deployment work on a single, opinionated execution path instead of a generic agent router.
- Combine runtime management, chat, file changes, preview controls, and repository context in one app.
- Support per-user GitHub authentication, API keys, and connectors.
- A home command surface for starting Sealos deployment tasks.
- Task pages with logs, chat, file browsing, diff inspection, runtime controls, and preview actions.
- Repository pages for commits, issues, and pull requests.
- Persistent task state in Postgres through Drizzle ORM.
- Codex Gateway orchestration layered on top of Devbox runtime lifecycle management.
- Next.js 16
- React 19
- Tailwind CSS
- shadcn/ui
- PostgreSQL
- Drizzle ORM and drizzle-kit
- AI SDK 5
- Codex Gateway
- Devbox runtime infrastructure
- Node.js 20+
- pnpm 9+
- A PostgreSQL database
- A GitHub OAuth app
- Access to the Sealos and Devbox environment this app targets
- An AI gateway key for Codex execution, unless you plan to provide user-scoped keys in the app
git clone <your-repository-url>
cd ShipRepo
pnpm installCreate .env.local:
POSTGRES_URL=
SEALOS_HOST=
DEVBOX_TOKEN=
JWE_SECRET=
ENCRYPTION_KEY=
NEXT_PUBLIC_AUTH_PROVIDERS=github
GITHUB_CLIENT_ID=
GITHUB_CLIENT_SECRET=
AI_GATEWAY_API_KEY=Optional:
APP_BASE_URLfor self-hosted callback overridesNPM_TOKENfor private npm installs inside task runtimesMAX_SANDBOX_DURATIONto change the default runtime timeoutMAX_MESSAGES_PER_DAYto change the per-user daily message limit
pnpm db:migratedrizzle.config.ts loads .env.local first and falls back to .env, so POSTGRES_URL must be available before running Drizzle commands.
pnpm devOpen http://localhost:3000, sign in with GitHub, choose a repository, and submit a Sealos-oriented task.
- A user signs in with GitHub.
- The home page lets the user choose a repository and submit a deployment-oriented command.
- The app creates a task, stores it in Postgres, and starts the fixed
codex+gpt-5.4flow. - A Devbox runtime is provisioned or resumed for the task.
- The task is executed through the Codex Gateway.
- The task page shows logs, runtime state, file changes, preview actions, and follow-up chat.
app/: Next.js App Router pages and API routescomponents/: UI for the home page, task workspace, repo views, auth, and dialogslib/codex-gateway/: Codex Gateway sessions, turns, streaming, and completion handlinglib/devbox/: runtime provisioning, reuse, health checks, and lease refreshlib/db/: schema, queries, settings, and checked-in migrationslib/session/andlib/auth/: authentication and session handlingapp/repos/[owner]/[repo]/: repository pages for commits, issues, and pull requestsapp/tasks/[taskId]/: task workspace entry point
- reference/architecture.md: request flow, runtime lifecycle, and module boundaries
- reference/configuration.md: environment variables, auth setup, migrations, and runtime behavior
pnpm dev
pnpm build
pnpm type-check
pnpm lint
pnpm formatpnpm db:generate
pnpm db:migrate
pnpm db:studio- The current task execution path is intentionally pinned to
codex+gpt-5.4. NEXT_PUBLIC_AUTH_PROVIDERSis expected to includegithub.- Users can provide their own API keys in the app, which can override global key configuration.
- Connectors are managed from the application UI; if a connector stores OAuth credentials,
ENCRYPTION_KEYmust be set.
- Fork the repository.
- Create a branch for your change.
- Run
pnpm format,pnpm type-check, andpnpm lint. - Verify the change locally.
- Open a pull request.
Licensed under Apache 2.0. See LICENSE.
