YudaiV3 is a GitHub-native AI coding workspace. You sign in with GitHub, pick a repo/branch, chat with the agent, generate implementation-ready issues, run solver workflows, and track solver trajectories in the UI.
This repository contains the frontend, backend API, solver integration, and in-progress real-time session architecture (controller + sandbox session server split).
- Sign in with GitHub OAuth
- Select a repository and branch
- Create persistent chat sessions for a repo context
- Generate context cards from chat and uploaded context
- Draft issues from chat context and create GitHub issues
- Start solver runs for issues and track progress
- View solver trajectories (SSE streaming path exists)
- Use real-time session runtime/tunnel lifecycle APIs (controller/sandbox foundation)
This codebase now includes real-time session foundations and partial implementation for the split controller/sandbox model:
- Controller entrypoint:
python -m yudai.run_controller - Sandbox session server entrypoint:
python -m yudai.run_sandbox_server - Lifecycle APIs: create/get/delete sandbox, resolve tunnel, heartbeat, cleanup
- Runtime/session persistence tables:
sandboxes,session_runtime,session_artifacts,session_audit_events - Append-only sandbox cache + artifact export metadata under
/home/yudai/.cache/ - Completion detection for
GitHub issue created+PR createdwith auto-termination flow - SSE trajectory streaming endpoint (existing solver stream path)
- WebSocket chat endpoint shell in sandbox server (MVP foundation)
Planning and scope documents are in:
REAL_TIME_PHASE_TASK_LIST.mdREAL_TIME_IMPLEMENTATION_QUESTIONNAIRE.mdbackend/docs/realtime_phase0/
- Frontend: React + Vite + TypeScript + Tailwind CSS + Zustand
- Backend: FastAPI + SQLAlchemy
- Database: PostgreSQL
- Solver: Python-based sandbox/trajectory orchestration
- Realtime: SSE + WebSocket (phase rollout via feature flags)
src/— standalone frontend app/package (chat, session UI, trajectory viewer)backend/— FastAPI backend, auth, GitHub APIs, solver, realtime servicesbackend/realtime/— controller/sandbox lifecycle services, schemas, cache/artifact exportbackend/db/— schema init + migrations
- Node.js 18+
- Python 3.10+
- PostgreSQL
Frontend:
cd src
npm ciBackend (example using local venv):
python3 -m venv .venv
source .venv/bin/activate
pip install -r backend/requirements.txtMinimum backend requirement:
DATABASE_URL(PostgreSQL connection string)
You will also need GitHub OAuth and model provider credentials for full app functionality. Check the existing .env* files in the repo for expected keys.
Backend:
python backend/run_server.pyFrontend:
cd src
npm run devFrontend production build:
cd src
npm run buildController host:
cd backend
python -m yudai.run_controllerSandbox session server:
cd backend
python -m yudai.run_sandbox_serverRealtime behavior is controlled by feature flags (REALTIME_* / VITE_REALTIME_*).
Backend and frontend read rollout flags for the real-time phases:
REALTIME_CONTROLLER_SPLIT_ENABLEDREALTIME_TUNNEL_MODE_ENABLEDREALTIME_WS_CHAT_ENABLEDREALTIME_SSE_STREAM_ENABLEDREALTIME_CONTRACT_VERSION
Frontend equivalents:
VITE_REALTIME_CONTROLLER_SPLIT_ENABLEDVITE_REALTIME_TUNNEL_MODE_ENABLEDVITE_REALTIME_WS_CHAT_ENABLEDVITE_REALTIME_SSE_STREAM_ENABLEDVITE_REALTIME_CONTRACT_VERSION
YudaiV3 is under active development. The real-time controller/sandbox split, artifact persistence, and streaming features are being implemented in phases. Expect active iteration and API changes while the MVP is stabilized.
You can contribute improvements to the frontend, backend, solver, or realtime lifecycle work.
- Fork the repo
- Create a branch (
feat/your-change) - Open a PR with a clear description
License is currently under consideration.
- Website:
https://yudai.app - Issues:
https://github.com/pranay5255/YudaiV3/issues