Feature/local workspace run#358
Conversation
…opment and fix local frontend routing
|
Someone is attempting to deploy a commit to the Raphael's projects Team on Vercel. A member of the Team first needs to authorize it. |
|
Hey @zhoumzh — the Gemini bits from this PR landed via #357 (8d79ed0 + revert 9f5b3f7). For the rest, we'd like to merge the launcher-side improvements but need to ask you to remove the alembic migration changes before we can take this PR. Brief explanation: Why the alembic changes are blockingThe catchup migration
Every one of those tables/columns already exists on the production workspace-backend DB (Railway Postgres, restored from Supabase last weekend with The modifications to migrations 005 and 006 are also problematic — alembic only checks revision IDs, not migration content, so once a DB has applied them, it won't re-apply. Anyone bootstrapping a fresh DB after these land gets a different schema than anyone who set up before, which means schema drift across environments. What we'd likeCould you split this PR into two:
The local FK type mismatch in Once you've got the rebase ready, ping us and we'll pull it in. Thanks for the launcher polish work — the dynamic-endpoint + |
zomux
left a comment
There was a problem hiding this comment.
Review — Changes Requested
This PR has grown beyond its original scope and has several issues to address:
Blocking
1. Merge conflicts — PR cannot be merged as-is. Needs rebase on develop.
2. CI failures — Lint, sdk-tests (3.10-3.12), and client-tests (3.10-3.12) all fail.
3. Security: backend binds 0.0.0.0 — The Makefile dev-local-backend target uses --host 0.0.0.0, exposing the backend to the entire LAN with hardcoded Postgres credentials (postgres:postgres). Should bind 127.0.0.1.
4. Global polling interval regression — BaseAdapter polling changed from 2s/15s-max to 1s/3s-max. This 5x increase in request frequency affects ALL adapters hitting production, not just local. Needs to be gated on local mode or made configurable.
5. Migration path broken for existing databases — Migration 006 was gutted to pass, but the catchup migration creates browser_tabs with context_id from scratch. This only works for fresh databases — existing production databases that already ran the original 006 will have a broken migration path.
Should Address
6. Scope creep — PR bundles three separate features: (1) local workspace support, (2) full Gemini adapter (~426 lines), (3) launcher dev-mode improvements. These should be separate PRs for reviewable, bisectable history.
7. No tests — Zero test coverage for the Gemini adapter, endpoint switching, or local routing.
8. Blog post in production code — changelogs/blogs/2026-04-23-gemini_integration_journey.md doesn't belong in the repo's main branch.
Recommendation
Split into at least two PRs (Gemini adapter vs. local workspace), rebase on develop, fix CI, scope the polling change, and validate the migration path for existing databases.
🚀 Feature: Full Local Workspace Execution & Dynamic UI Hot-Reloading
📝 Overview
This Pull Request introduces the capability to fully deploy and execute the OpenAgents Workspace (Backend + Frontend) in a localized environment, entirely decoupled from Docker. It also enhances the OpenAgents Launcher by enabling dynamic, runtime configuration of the Workspace Endpoint directly from the Settings UI, streamlining the developer experience and drastically reducing latency.
✨ Key Features & Enhancements
1. 🔄 Dynamic Workspace Switching (Hot-Reloading)
Settings -> Workspacestab.AgentConnectorvia IPC without requiring a Launcher restart. Developers can seamlessly toggle between production (workspace-endpoint.openagents.org) and local endpoints (http://localhost:8000).2. 🏠 Localized Workspace Deployment
make dev-local-frontendandmake dev-local-backendscripts to the Workspace Makefile, allowing developers to spin up the FastAPI backend and Next.js frontend instantly without Docker overhead.UUIDtype mismatch issues in Alembic migration scripts (005) that caused foreign key failures during initial local schema setup. Provided the missingscript.py.makotemplate to ensure future local autogenerations work flawlessly.3. 🌐 Intelligent Browser Routing
localhost:8000), clicking "Open Workspace in Browser" inside the Launcher now correctly maps the URL to the Next.js local frontend port (http://localhost:3001/...) instead of the production domain, establishing a perfect end-to-end local loop.🧪 How to Test
cd workspace && make dev-local-backendcd workspace && make dev-local-frontendcd packages/launcher && npm run starthttp://localhost:8000, and save.📚 Changelog
changelogs/notes/2026-04-24-local-workspace-run.md.CHANGELOG.mdunder[0.6.9].