Guide · XApp Factory

Build and release an XApp through conversation

More than generating page code: connect logic tables, user files, AI, multimodality, agents, resource entitlements and an app backend. Finish Preview on a real platform XApp, then decide whether to release to Run.

Create a real app and workspacePreview development verificationRelease to Run after confirming

A Real App, Not A Mockup

Separate development, preview and release

"Create XApp" produces a real app, a real app_key code and a remote workspace on the platform — not a local file on the host machine. The app can call agents it is bound to or that are explicitly public; each user's conversation context is isolated by platform identity and subthread.

StateReadsWhat it proves
SavedDevelopment files are written to the workspace.It does not prove pages, data or release state.
Preview verifiedA private workspace opened through the platform parent container.The development build works, but users do not see a new version yet.
Run releasedA published release.The current release is reachable by runtime users.

Continue To WeChat

Want a WeChat native mini program too?

Finish the XApp business and permissions first, then register and bind the mini program in the Operations Centre. Accounts, logic tables and the text agent carry over; mini-program pages use a separate native project and SDK, and binding does not convert web pages automatically.

Go to the mini-program setup guide →

Install & Enter

Load the all-purpose page app builder

Codex, WorkBuddy and the web workbench share one platform boundary; pick whichever entry suits you.

Install the all-purpose page app builder

  1. Go to Expert · Skills · Connectors on the left and choose Skills.
  2. Search for wanxiangdashi in the top right and confirm.
  3. Under SkillHub find the all-purpose page app builder (xapp dev) and click the plus to install.
  4. That is all — no separate connector configuration is needed.

Have Codex connect using the public install note

Read and strictly follow https://x.wanxiangdashi.com/mcp/install/codex. Install the XAgent plugin and the xagent and xagent-files MCP services for this Codex. If a developer key is needed, remind me to generate one in the wanxiangdashi personal centre under Settings → Developer keys. After installing, run doctor to confirm both MCP services are available, and remind me to restart Codex or start a new task.

When it finishes, load the server-side dynamic skill as step one of this guide xapp_dev

Or work in the webchat workbench

The web side needs no plugin. Open webchat and use the app list, file management, data management, Preview / Run and the app settings drawer on the right; the conversation on the left can help with code, and every code or admin action should be explicitly confirmed.

Open the webchat workbench →

Platform key setup (once)

  1. Open x.wanxiangdashi.comand go to the personal centre; under Profile → Developer keys, generate and copy a key.
  2. In a new WorkBuddy conversation, click the plus, add the all-purpose page app builder, type "please configure my key", then paste the key and send.
  3. Then type "list the official accounts I created". If WorkBuddy lists the account you bound earlier, the connection is complete.

First Success

Six steps to your first running app

01

Load the Skill and list permissions

Confirm which XApps you may build or manage first; create and change nothing at this point.

Load xapp-dev (server skill: xapp_dev) and list the XApps I may build or manage. Do not create or modify anything yet.
02

Turn one clear requirement into a plan

Agree the mobile layout, real data tables, fields, permissions and interactions before confirming creation.

Create a "customer requirement intake" XApp: portrait mobile layout with name, contact, requirement description and a submit button; write data into a platform logic table, not localStorage as primary storage; give me the app structure, table fields and permission plan first, and create it after I confirm.
What happensA reviewable plan comes first.
Done whenYou have confirmed the purpose, fields and data scope.
03

After confirming, create the real app and workspace

After creation, have the host report the app name,app_keycode, target files and logic tables; never treat local HTML as a created platform app.

04

Open Preview through the platform container

Use the platform parent container, not localhost, a file address or a private OSS URL.

/page/xapp/xapp.html?xapp_key=<app_key>&surface=preview
CheckMobile layout, required-field validation, submit feedback and privacy notice.
Done whenPreview really writes data, and state is correct after a refresh.
05

Fix failure states and data boundaries

Check at least missing permission, network failure, empty state, restore after refresh and the scope of user data access. Runtime reads and writes existing logic tables; table structure and permissions are set by the developer / administrator side.

06

Release to Run after confirming

Release is a high-impact action. The host should first report the target app, changed files and release method, then wait for your confirmation. Run reads a release and does not update just because code was saved.

/page/xapp/xapp.html?xapp_key=<app_key>&surface=run

Build With Boundaries

Connect app capabilities as needed

Preview and Run

Preview reads the private workspace; Run reads a published release. Acceptance must record "code saved / Preview verified / Run released" separately. One-click release updates latest; a new release produces an immutable version snapshot.

Public assets and paid resources

asset is public material, usable through pub:/ code or a public URL, and is not billable by itself; resource is private and needs gateway authorisation. Charging also goes through resource objects, products, release and a user grant.

Paid resource products

Prepare the private resource first, then create or reuse the exact resource object and a product draft; check price, duration and resource, and let the user confirm release. An account binding is usually a prerequisite for payment and entitlements, but does not automatically grant payment capability.

See products and operations →

User data records

Use platform logic tables, not localStorage as primary storage. Runtime only touches existing tables and records; fields andpublic_read, rpm_limit code are designed by administrators, so user data is not exposed by accident.

The app Admin page

The management entry is admin/index.htmlcode, still an XApp iframe page using XAUI, bridge and admin capability. Show only what the admin task needs, and never present runtime-visible data as the full dataset.

Send data into the conversation

xapp.thread.entry.insert code is a silent record written with user consent;xapp.webchat.send code sends a message to the main webchat and triggers a reply;xapp.charagent.chat code gets an agent reply inside the XApp in an isolated subthread.

AI multimodality (aicore)

Through xapp.ai.* code asynchronous jobs you can use chat, ASR, AIR, AVR, TTS, image or video generation; poll job status and show progress, timeout, error and cancellable states. Private uploads must use controlled short-lived access and never go straight to the provider.

Calling agents

Use xapp.charagent.chat 与 xapp.charagent.job_getcode. The target must be an existing wxoa/wxcw bound agent that allows public calls; a shared URL must not carry someone else's private key. thread_key

WeChat share card icon

The app icon uses settings.icon_urlcode (public HTTPS or pub:/code); the WeChat share title, description and image are configured through share metadata. These are different fields, and only a real WeChat test confirms what the card shows.

Mobile interface

XApp runtime uses XAUI and targets portrait mobile first. Design input, loading, error, cancel and success states completely before adding visual detail; slow networks must never block basic interaction feedback.

Before You Release

Before release, confirm the real state with this list

CheckConfirmCannot replace
SaveTarget files are written to the workspace and the platform record is committed.It does not prove Preview or Run works.
PreviewCheck interaction, data and failure states in platform Preview.It does not mean Run has updated.
Generate or update a release after confirming file changes.It does not mean WeChat sharing or payment is verified.Confirm the released version at the Run address.
RunIt does not mean every external dependency succeeded.Next: catch users and business in the Operations Centre

After launch, review assets, users, orders and console entries in the Operations Centre; financial ownership and management permission must be understood separately.

Go to the Operations Centre guide →

First-pass standard
Support
Scan to add Myriad Masters on WeCom
Myriad Masters WeCom QR code
Hours9:00 – 18:00