Un solo config.json: 1010 métodos, 16 tipos de despliegue, 72 peldaños de plan.
Esta página trata de un archivo, no de un producto. config.json es el manifiesto de la plataforma, y casi cualquier pregunta sobre lo que Xuda puede hacer se responde leyendo una sola clave de ese archivo. El objeto cpi_methods contiene 1010 entradas, y una única búsqueda por nombre en ese objeto es toda la superficie de la API: sin tabla de rutas, sin cliente generado, sin un segundo lugar donde registrar nada. 678 de esas entradas llevan private: true, de modo que una clave de API externa puede dirigirse a 332 de ellas, y la lista de herramientas de MCP se compila a partir de ese mismo conjunto. Cinco cadenas de clearance cubren todo el catálogo: user en 681 entradas, admin en 253, public en 51, developer en 15 y user_access en 5. 880 entradas declaran campos tipados, 2009 definiciones de campo en total, 1103 de ellas obligatorias, y 158 de las claves de campo son rutas con puntos, como data.create_datacenter.app_region. deploy_type enumera 16 cadenas, y deploy_type_in_beta nombra cuatro de ellas, router, android, emitter y mcp, que deploy_app rechaza con el código -2. PLAN_OBJ contiene 72 peldaños con precio repartidos en 16 categorías, y cada una de las 16 escaleras tiene un peldaño de 0 $. PRICE_OBJ.server_slugs contiene 58 slugs, formados por 5 tipos de servidor cruzados con 3 grupos de servidor. El mapa modules declara 45 nombres, y un módulo arranca por nombre y no por import: msg_broker une XUDA_HOME/cpi con el nombre del módulo en common/msg_broker.mjs, línea 43, insertando /node_modules/@xuda.io cuando is_debug es false, que es lo que ocurre en config.json. Todos los recuentos de esta página son ciertos para la copia de config.json del repositorio. config_dev.json difiere de ella en cuatro puntos, y la nota del final indica exactamente dónde.

Seis superficies, un solo archivo de configuración detrás de todas ellas.
Studio, el espacio de trabajo, los plugins, la API, el marketplace y Slim no son seis productos con seis backends. Son seis vistas del mismo objeto de 1010 entradas, y las claves de cada entrada deciden cuáles de ellos pueden alcanzarla: private decide si una clave externa llega siquiera a verla, clearance decide qué credencial se lee, min_plan decide qué peldaño de membresía se exige y microservice decide qué módulo responde.
Donde se escribe y se despliega una aplicación. config.json declara 16 tipos de despliegue; deploy_type_in_beta nombra cuatro de ellos, router, android, emitter y mcp, y deploy_app rechaza cada uno con el código -2.
Abrir StudioUna de las 16 escaleras con precio de PLAN_OBJ y una de las tres únicas nombradas en algún punto de cpi_methods. 8 peldaños, de 0 $ a 230 $ al mes.
Ver el espacio de trabajoCómo se construye, se publica y se instala un plugin en una aplicación, y qué puede invocar una vez está ahí.
Leer el modelo de pluginsLas 332 entradas a las que puede dirigirse una clave externa, de las 1010 de cpi_methods. La marca private es el muro, y ninguna clave lo cruza en ningún modo.
Ver la APICómo publicar la ficha de una aplicación o un plugin para que otra cuenta pueda instalarlo, y qué comprueba el filtro de aprobación antes de hacerlo público.
Visitar el marketplaceEl runtime de navegador listo para incorporar: desarrollo centrado en HTML, directivas reactivas y etiquetas estructurales, y el entorno aislado sobre el que se apoya el sistema de plugins.
Leer sobre SlimMétodos declarados en cpi_methods, un objeto, una búsqueda
Tipos de despliegue declarados, cuatro de ellos rechazados por estar en beta
Peldaños de plan con precio repartidos en 16 escaleras, cada una con un peldaño de 0 $
Slugs de servidor, 5 tipos de servidor cruzados con 3 grupos de servidor
Seis catálogos viven en un solo archivo, y cada uno tiene un lector distinto.
No hay tabla de rutas, ni archivo de permisos, ni un servicio de precios aparte. config.json contiene seis objetos que nunca se referencian entre sí, y cada uno lo lee uno o dos puntos del árbol. cpi_methods decide qué se puede invocar, deploy_type qué se puede arrancar, PLAN_OBJ cuánto cuesta un peldaño, PRICE_OBJ cuánto cuesta una máquina o un complemento, modules qué proceso arranca y region_geo dónde cae un punto en el mapa. Lea cada fila hasta el lector que la consume y después las dos tarjetas discontinuas, que son las parejas que no existen.
Dieciséis escaleras con precio, y solo dos de ellas pueden rechazar una llamada.
PLAN_OBJ contiene 72 peldaños con precio repartidos en 16 categorías, y las 16 abren a 0 $. Lo que compara la tabla no es el precio, sino el alcance. En todo cpi_methods existen exactamente dos claves de plan: min_plan, en 30 de las 1010 entradas, y min_support_plan, en 1. Ambas las leen las mismas cuatro líneas de http_module, isValidPlan, que devuelve true en cuanto min_plan no está presente y, si lo está, compara dos campos de rango de PLAN_OBJ, una vez por petición. Catorce de las dieciséis escaleras, 61 peldaños entre todas, no pueden rechazar aquí ni una sola llamada. Lea primero la tercera fila: dice qué columna tiene dientes.
Membership | AI Workspace | Soporte | Las otras 13 escaleras | |
|---|---|---|---|---|
| Peldaños | 7 | 8, la escalera más larga del archivo | 4 | 53 repartidos en 13 categorías |
| Rango de precios | 0 $, 49 $, 149 $, 399 $, 1.999 $, 4.999 $ y un séptimo cuyo campo de precio es la cadena literal call en lugar de un número | De 0 $ a 230 $ al mes | 0 $, 100 $, 1.500 $, 4.500 $ | De 0 $ hasta 299 $, siendo el peldaño más alto trust_center Scale |
| Entradas que la nombran como mínimo | 30 de 1010, mediante min_plan: 19 pro, 6 agency, 4 team, 1 free | ninguna. Ninguna entrada nombra un peldaño de workspace | exactamente 1, el único min_support_plan del archivo | ninguna. Ninguna otra clave de plan aparece en ninguna entrada |
| Qué le rechaza si está por debajo | isValidPlan, cuatro líneas de aritmética en http_module, invocadas una vez por petición | nada en este catálogo. Lo que restringe un nivel de workspace no es el despachador | esa única entrada, y nada más entre las 1010 | nada aquí. commerce, drive, email, tickets y trust_center no restringen ningún método de este catálogo |
Seis páginas: sobre qué ejecuta algo y cuánto cuesta.
Esta página ha defendido una forma: un solo archivo lo decide todo, y la mayor parte se decide por la presencia de una clave y no por una regla escrita. Las seis páginas de abajo son los detalles, y se dividen en dos mitades. Las tres primeras responden a qué puede arrancar y dónde se ejecuta: 16 tipos de despliegue, 17 claves geográficas, 58 slugs de servidor. Las tres últimas responden a cuánto cuesta un peldaño y si puede rechazar algo: membership, que sí puede, en 30 métodos; AI Workspace, que no puede; y soporte, que sí puede, en exactamente uno.
deploy_type nombra 16 cadenas y deploy_type_in_beta nombra 4 de esas mismas 16, router, android, emitter y mcp, cada una rechazada por deploy_app con el código -2. Junto a ellas están los 21 métodos deploy_ de cpi_methods y los 9 complementos con precio: 15 $ por una pwa o una preview, 75 $ por un emitter.
Ver los tiposregion_geo contiene 17 claves, cada una con una latitud, una longitud y un nombre visible: 9 códigos de ciudad, 5 agrupaciones continentales y las 3 regiones de la granja, hel1, fsn1 y us1. Elegir una es un argumento tipado, no un ajuste: data.create_datacenter.app_region es una de las 158 rutas con puntos del contrato de campos.
Leer sobre las regionesPRICE_OBJ.server_slugs es una cuadrícula, no una lista: 5 server_types (shared, optimized, performance, large y service) cruzados con 3 valores de server_group (deployment, managed y vps). El slug decide cuánto cuesta la máquina y nada sobre lo que usted puede invocar: ninguna clave de servidor aparece en una entrada de cpi_methods.
Comparar slugs0 $, 49 $, 149 $, 399 $, 1.999 $, 4.999 $ y un séptimo cuyo campo de precio es la cadena literal call en lugar de un número. Esta es la única escalera que puede rechazar una llamada: 30 de las 1010 entradas de cpi_methods nombran un peldaño como min_plan, 19 pro, 6 agency, 4 team y 1 free.
Comparar nivelesDe 0 $ a 230 $ al mes y, con 8 peldaños, la escalera más larga de PLAN_OBJ. Ninguna entrada de cpi_methods nombra un peldaño de workspace como mínimo, así que nada en el despachador le rechaza por estar en el peldaño equivocado. Lo que compra ese nivel se decide en otro sitio.
Leer la escalera0 $, 100 $, 1.500 $ y 4.500 $. Exactamente una entrada de cpi_methods nombra un min_support_plan, lo que la convierte en la segunda y última clave de plan que lee el despachador, y en la barrera más estrecha del archivo: del ancho de un método.
Ver los niveles de soporteOcho cosas que esta página y esta plataforma no hacen, empezando por dos referidas a esta página.
- Esta página es un índice y sigue siéndolo. Nueve bloques frente a los veinte de una página hermana no es una omisión: la página a la que sustituyó eran dos titulares y una llamada a la acción, así que indexa la sección en lugar de convertirse en un ensayo más sobre ella. La explicación vive en la página a la que apunta cada tarjeta.
- Todos los recuentos de esta página se leyeron de la copia de config.json del repositorio el día en que se redactó, y ese archivo cambia. La forma del archivo es la afirmación duradera; los totales son una instantánea de un commit, y un número desfasado es un error de esta página, no una promesa sobre la plataforma.
- Dos tercios de la API están cerrados para usted. 678 de las 1010 entradas de cpi_methods llevan private: true, y ninguna clave de API cruza esa marca en ningún modo. Lo que puede alcanzar quien llama desde fuera son 332 métodos, y la lista de herramientas de MCP se compila a partir de ese mismo conjunto. Solo 10 entradas fijan private: false de forma explícita, así que lo que hace que un método sea accesible desde fuera suele ser la ausencia de una clave, y no la decisión de abrirlo.
- Dieciséis escaleras con precio, y solo dos restringen algo aquí. PLAN_OBJ contiene 72 peldaños con precio repartidos en 16 categorías, mientras que cpi_methods nombra exactamente dos claves de plan: min_plan en 30 de las 1010 entradas, 19 pro, 6 agency, 4 team y 1 free, y min_support_plan en exactamente una. Las otras 14 escaleras, entre ellas commerce, drive, email, tickets y trust_center, no restringen nada a través de este catálogo.
- Cinco complementos de despliegue tienen precio y nada detrás. PRICE_OBJ cobra 45 $ por cada uno de android, ios, windows, linux y macos, y cpi_methods no declara ningún método deploy_ que cree ninguno de los cinco. Cuatro de los nueve complementos con precio sí lo tienen. Un precio en el catálogo no es prueba de que exista un método al que asociarlo.
- Una cuarta parte de la lista de tipos de despliegue no se puede arrancar con la configuración que se distribuye. deploy_type contiene 16 cadenas, deploy_type_in_beta contiene 4 de ellas, router, android, emitter y mcp, y deploy_app comprueba ambas listas y devuelve el código -2 en cualquiera de los dos casos, en cpi/deploy_module/index.mjs, líneas 139 a 144. Esas cuatro las declara y las rechaza el mismo archivo.
- La configuración de producción y la de desarrollo no se ponen de acuerdo sobre la plataforma. config_dev.json declara 1030 métodos frente a 1010, añadiendo 20 y sin quitar ninguno, y enumera 17 tipos de despliegue frente a 16: incluye mpa y full_stack_vps donde config.json incluye router. También dirige a ticket_module 30 métodos que config.json dirige a support_module, que está declarado en el mapa modules y no tiene ningún directorio de código en cpi/. Las dos configuraciones discrepan sobre quién responde a un ticket, y todos los recuentos de esta página son ciertos para config.json, no para cualquier máquina.
- No hay limitador de tasa en /cpi. router_module redirige el caso de cpi directamente a localhost:3007 sin ningún middleware delante, en las líneas 2493 a 2521, mientras que los tres cubos de express-rate-limit están en /login, los formularios públicos y las rutas de la tienda. Tampoco hay bloqueo por intentos fallidos en esa ruta. Las llamadas autenticadas están acotadas por el alcance de la credencial, no por la frecuencia de las peticiones.
Seis preguntas que un archivo de configuración responde más rápido que una lista de funciones
Cada respuesta nombra el archivo y el recuento del que procede, para que usted pueda abrir el repositorio y llevarle la contraria.
Una plataforma que se puede leer es una plataforma con la que se puede discutir.
Todos los números de esta página salen de dos cosas que usted mismo puede abrir: config.json y el árbol cpi/ que tiene al lado. Esa es la versión honesta de una lista de funciones y también la vía lenta. Si en cambio llegó con una forma en mente, un formulario que tiene que enviarse a algún sitio, un archivo que tiene que acabar en almacenamiento, un proyecto que tiene que quedarse en una región, la página hermana asocia esa forma con el nombre del método que la atiende, que es la tarea para la que existe realmente este centro. Empiece por ahí y vuelva cuando quiera saber qué puede hacer ese método y quién puede invocarlo.