Workflow
1
Enable the Sites plugin
Sites is opt-in. Only after you enable it does the expert get website tools; otherwise it just writes plain HTML files, and that path can’t be published.Sites also needs a sandbox (
sandbox_mode != none). In conversations without one, the plugin doesn’t activate.2
Describe your site
A single sentence works, so does a detailed page plan. Expressive requests (brand pages, portfolios) and functional ones (dashboards, form tools) take different branches from here.
3
Pick a design direction (expressive requests)
The expert first builds 3 real, clickable hero variants under the temporary
/profy-design/<name> namespace, then shows you a card to choose from. You’re looking at actual pages, not descriptions.Once you pick, the decision is written to .profy/site-design.json in the workspace. That file is the single source of truth for design decisions — the expert must read it back later rather than re-deriving intent from the chat log.4
Live preview
The Website panel opens automatically and the dev server starts on demand (lazy start) with HMR, so code changes show up immediately.
5
Iterate
Just say what to change in the conversation. The expert uses browser tools to take real desktop and mobile screenshots for visual self-checks instead of only reading its own code.
6
Confirm publish
The expert requests publish → you click deploy in the panel → enter a site slug → confirm. Only then does the build and upload begin.
Design-direction constraints
site_design has two modes, chosen by the kind of request:
Hard limits per field:
Image generation requires your authorization, and the card shows an estimated cost. Authorization locks in the image model that was active at that moment; if the model changes before generation, the batch is rejected as
model_mismatch and asks for a fresh estimate — so you never authorize at model A’s price and get charged at model B’s.Asset size budget
The asset constraint is attached to the directory, not the tool, so there’s no way around it — downloading withcurl counts exactly like downloading with a tool.
Three entry points measure this budget, with different attitudes:
Three gates before publish
When the expert callsdeploy, three checks run. If any fails you don’t get a publish card — you get told where it’s stuck:
The second one earns its keep — those direction variants are scratch work for your choosing, and shipping them alongside the real site is awkward.
Publish pipeline numbers
Publishing runs two channels: files upload to object storage (the real serving layer, delivered via CDN), plus a best-effort EdgeOne preview. EdgeOne failure does not fail the publish, because object storage is what actually serves traffic.
The final URL looks like
https://<your-slug>.site.profy.cn.
Billing
The dominant cost is usually iteration rounds, not publishing. “Agree on the plan before coding” genuinely saves money here: getting the structure wrong means reworking it, which burns the whole coding phase’s tokens a second time.
Failure modes and troubleshooting
What you can build
Personal sites and portfolios
Personal sites and portfolios
The archetypal expressive request, so it goes through 3-direction selection. Good fit for seeing variants before committing to a style.
Product landing pages
Product landing pages
Hero, features, testimonials, CTA. Asset-hungry, so mind the 3-generated-asset cap — cover the rest with offloaded URLs.
Campaign pages and invitations
Campaign pages and invitations
Time-sensitive and structurally simple; usually settled in one or two rounds.
Interactive pages and small games
Interactive pages and small games
Anything with interaction logic. Actually click through the preview before publishing — static screenshots don’t surface interaction bugs.
Docs and knowledge sites
Docs and knowledge sites
Structured content sites. For many pages, build in batches; asking for a dozen pages at once spreads the expert thin.
Technical notes
- The framework is TanStack Start; build output lands in
.output/ - The working directory is
/home/user/workspace/web/(persistent);/home/user/project/web/in the image is a read-only seed — don’t edit there - The dev server starts on demand, so non-website conversations never pay for it
Related
End-to-end: publish a site
Full walkthrough from request to live URL
Image generation
Batch asset generation and its billing
Limits reference
Every hard limit on the platform
Sandbox
Code execution environment and persistence rules

