Teach the OpenUI skill to integrate and migrate to Cloud#754
Merged
Conversation
430bea2 to
5d9760d
Compare
7683dcc to
b7cfb4e
Compare
zahlekhan
requested changes
Jul 16, 2026
| Distinguish these goals before removing code: | ||
|
|
||
| - **Replace:** Cloud becomes the only generation and storage backend. | ||
| - **Dual mode:** Keep self-hosted behavior and add Cloud as a separately configured backend. |
Contributor
Author
There was a problem hiding this comment.
Dual mode is needed because moving to Cloud may not preserve every capability of the existing OSS application. For example:
- Custom tool execution may only work in the OSS backend.
- Cloud generation may not understand a custom component library.
- Historical conversations may not have a supported Cloud import path.
- Attachments or custom artifacts may lack verified Cloud parity.
zahlekhan
approved these changes
Jul 16, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR teaches the OpenUI skill two missing workflows:
The scope is intentionally limited to the skill itself. CLI templates, runtime hardening, website documentation,
AGENTS.md, and template tests are deferred to separate PRs.Feedback addressed
The skill already handled open-source OpenUI integration well, but it did not model the managed Cloud architecture. It could not reliably:
Methodology
1. Audited the current first-party contract
The work started from the current repository rather than an isolated recipe:
@openuidev/react-ui,@openuidev/react-headless,@openuidev/thesys, and@openuidev/thesys-server;2. Used independent design and forward reviews
Grok and
claude -pwere used as independent subagents on realistic scenarios:AgentInterfaceapplication withrestStorageand a custom shell.Their reviews reinforced the same design:
Additional scope and contract audits removed over-prescriptive or stale guidance: the Next.js recipe now follows the installed first-party template and uses
ssr: falseonly as a reproduced fallback, and no undocumented conversation endpoint/header/pagination contract is presented as canonical.3. Added progressive-disclosure routing
skills/openui/SKILL.mdremains the compact dispatcher. It now:references/cloud-integration.md;4. Defined the existing-project integration workflow
cloud-integration.mdprovides the complete Next.js App Router methodology and adaptable contracts for other server frameworks:ChatLLMposts the latest formatted message to the application's server-side generation proxy.useOpenuiCloudStorage()uses a short-lived frontend token scoped to the authenticated user.THESYS_API_KEYserver-side.threadIdas untrusted. Authentication, bounded request parsing, and conversation ownership are explicit host-supplied boundaries—not assumed OpenUI exports.5. Defined the self-hosted-to-Cloud migration workflow
oss-to-cloud-migration.mdseparates the decisions that were previously being collapsed:AgentInterface, legacy chat, Renderer-only, custom-library, and tool-heavy starting points.It maps the self-hosted transport, adapter, format, storage, library prompt, and artifact loop to the managed Cloud equivalents while preserving:
6. Reduced the PR to the requested boundary
The PR head was rebuilt from current
mainand now changes exactly:skills/openui/SKILL.mdskills/openui/references/cloud-integration.mdskills/openui/references/oss-to-cloud-migration.mdThe earlier CLI template, CLI tests, website docs, React UI comment, and
AGENTS.mdchanges are intentionally not part of this PR.Validation
Validation performed for this skill-only change:
quick_validate.py— passed;git diff --check— passed;main— passed;No CLI/template test suite, application build, or live Cloud-key smoke test is claimed because this PR no longer changes application or template code.
Deliberate boundaries
Checklist
AGENTS.mdchurn