https://xxx.site.profy.cn.
One thing to internalize first: the agent cannot publish. Its deploy tool only raises a hand saying “I’m ready” — the actual publish must be confirmed by you in the UI. That isn’t red tape; it’s deliberate. Publishing is an irreversible outward-facing action and shouldn’t be a model’s unilateral decision. Once that’s clear, “it said it deployed but the URL doesn’t work” stops being confusing.
What you’ll get
A publicly accessible static site athttps://<your-slug>.site.profy.cn.
Prerequisites
1
Enable the Sites plugin
Sites is one of the plugins you must select manually. Without it the agent has no site tooling and will fall back to writing plain HTML files — a path that can’t be published.
2
Confirm the sandbox is available
Sites depends on the sandbox. Experts configured with no sandbox can’t use it.
3
Gather your assets
Have your logo, product shots, and brand colors ready. Generating everything stretches the flow and incurs image generation costs.
Steps
Step 1: State the goal, get directions first
Step 2: Supply assets
Send your own images, or give URLs for it to download and localize:Assets have a budget: the site asset directory must stay under 40 MiB in total. Files above 2 MB are automatically offloaded to object storage and referenced by URL, so they don’t count against the local budget. “Too many images to publish” is therefore usually not an asset-total problem but a total build-output problem (below).
Step 3: Open the preview and iterate
Step 4: The three gates before publishing
When you say you’re ready to publish, the agent callsdeploy and three checks run. If any fails it will not hand you a publish card — it tells you where it’s stuck instead:
All three block on failure (no warn-and-proceed). The temp design pages matter most — they’re a scratch artifact from your direction picking, and shipping them alongside the real site is embarrassing.
With all three passed, the agent returns an “awaiting deploy confirmation” card pointing you at the Deploy button in the Website panel.
Step 5: Confirm the publish in the UI
Hitting Deploy asks for a site slug:
The field validates as you type, with four outcomes: available, malformed, reserved, or already taken by another user.
Republishing under a slug you already own is an update, not a collision — it replaces your own previous version, which is the normal way to iterate. Use a different slug if you want to keep both versions live.The namespace is global, so generic words (
docs, home, demo) are likely already owned. A distinguishing prefix such as acme-errmon-2026 is far more likely to be free on the first try.Step 6: Accept the work
- Open it on mobile data (not your own browser) to rule out cache illusions
- Click through every nav item and internal link, confirm no 404s
- Confirm the temp design pages are really gone (try a path you remember)
- Confirm all images load, especially the large ones offloaded to external URLs
What happens during publish
Knowing the chain helps you read the error messages:1
Build
Runs the build in the sandbox and produces static files. There’s a time cap (about 200 seconds); oversized projects or broken dependencies will time out.
2
Payload validation
Build output must stay under 50 MiB total and 5000 files. Over either and it’s rejected before upload.
3
Upload
Files go to object storage, which is what actually serves the site. Failure here fails the publish.
4
Edge preview (best effort)
A copy also deploys to an edge platform as a preview backup. Failure here does not affect publish success — your primary URL works regardless.
Boundaries and failure modes
Updating a published site
Go through confirm-and-publish again with the same slug to overwrite what’s live. There’s no staged rollout and no version rollback — if you need to keep the old version, publish the new one under a different slug.Related pages
Sites
Sites capability overview
Limits and quotas
All size and count limits
Plugin catalog
Which plugins need manual selection
Image generation
Billing for generated site imagery

