Guía para probadores

Dónde hacer clic, qué esperar.

Un recorrido práctico por cada función de v1.0.0-r1.8, para probadores que quieren construir lo suyo: un espacio de trabajo, conocimiento, un agente con el sandbox de código, una automatización con un hook, un panel con filtrado cruzado, un formulario, una aplicación embebida y la apariencia propia de la plataforma. Cada capítulo es una ruta de clics numerada y termina con Lo que debería ver.

12Capítulos, cada uno una ruta de clics
10Rechazos que se prueban a propósito
4Idiomas de la plataforma
0Pasos que requieren personal de AANCER
Antes de empezar

Los nombres en negrita son las etiquetas en pantalla.

Las etiquetas de la interfaz del producto aparecen en inglés en esta guía a propósito, tal como se ven en el idioma predeterminado de la instalación; un paquete de superposición de idioma puede traducirlas al suyo.

Un recorrido práctico por cada función de la versión v1.0.0-r1.8, escrito para probadores que tienen un asiento en una instalación y quieren construir lo suyo: un espacio de trabajo, conocimiento, un agente con el sandbox de código, una automatización con un hook, un panel con filtrado cruzado, un formulario, una aplicación embebida y la apariencia propia de la plataforma. Cada capítulo es una ruta de clics numerada y termina con Lo que debería ver. Si no lo ve, eso es un hallazgo: anótelo.

Los nombres en negrita son las etiquetas exactas en pantalla (en el idioma predeterminado, inglés). La navegación izquierda tiene dos grupos: Work (Home, Chat, Knowledge, Automations, Approvals, Activity & Results, Dashboards, Agents) y Console (Console Home, Monitoring, Governance, Identity, AI Gateway, Agent Administration, Connectivity, Platform Settings, Marketplace). El selector de espacio de trabajo es la píldora arriba a la izquierda; casi todo lo que cree vive en el espacio de trabajo allí seleccionado.

Asientos usados a continuación: Platform Admin para todo lo que está bajo Console; Workflow Author o Knowledge Worker para el lado Work. Si falta un botón, a su asiento le falta el permiso: es así por diseño, y también conviene contrastarlo con el rol que le dieron (Identity → Roles & Access).

---

Los doce capítulos

Constrúyalo usted mismo, luego intente romperlo.

1Sus primeros diez minutos: un espacio de trabajo y su política de datos

  1. Console Home → Identity → Workspaces → New workspace (o /admin/workspaces/new).
  2. Llámelo test-<sunombre>. Ponga Data sovereignty policy en Local only (nada puede ir a un modelo en la nube) o Local + cloud allowed. Elija el Default model tier.
  3. Añádase a sí mismo en Add member. Save changes.
  4. Cambie a él en el selector de espacio de trabajo.

Lo que debería ver: la píldora del selector muestra su espacio de trabajo con la indicación «Local only · cloud blocked» o «Local + cloud»; Home muestra un espacio de trabajo vacío de un vistazo.

Pruebe esto: con Local only, vaya a Chat, elija el nivel Cloud Reasoning y pregunte cualquier cosa. Obtiene un rechazo por soberanía, no una respuesta. Governance → Audit log muestra el rechazo.

2Conocimiento: subir, buscar, citar

  1. Knowledge → Create knowledge set → póngale nombre. Ábralo.
  2. Upload documents (arrastre archivos: PDF, DOCX, XLSX, TXT, MD, HTML) o Ingest URL → Scrape & Index. Suba también un PDF escaneado.
  3. Espere a Indexed. Use Search this knowledge set….
  4. Vaya a Chat y haga una pregunta que los documentos respondan.

Lo que debería ver: la respuesta lleva citas; al hacer clic en una se abre el pasaje. Un PDF escaneado o bien se indexa (hay un modelo de visión configurado) o bien le avisa al subirlo de que la extracción de texto necesita un modelo de visión; nunca un conjunto vacío en silencio. Un colega que no es miembro de su espacio de trabajo no puede ver el conjunto ni obtener respuestas de él.

3Chat: cálculo exacto y gráficos

  1. Chat, cualquier espacio de trabajo. Escriba: «¿Cuánto es 2 elevado a 64, exactamente?»
  2. Active el modo de cálculo (el compositor muestra Compute mode on — your next message is computed exactly in the sandbox) y envíelo de nuevo.
  3. Escriba «Q1 12, Q2 18, Q3 15, Q4 22 — gráfico de barras de ingresos trimestrales» y use Visualize data → Bar.
  4. En el gráfico, use Pin to dashboard (requiere Build dashboards).

Lo que debería ver: el paso 1 puede ser una estimación; el paso 2 es 18446744073709551616, calculado en el sandbox, y la traza de la ejecución (Agent Administration → Runs) muestra el código ejecutado. El paso 3 dibuja un gráfico con valores al pasar el ratón y exportación PNG/SVG; el paso 4 pide un panel y el gráfico aterriza allí como widget con su propio conjunto de datos.

4Agentes: diseñar, permitir herramientas, certificar, ejecutar, revocar

  1. Agents → Create agent (o Agent Administration → Composer). Póngale nombre, elija la Default persona, ponga Workspace scope en su espacio de trabajo.
  2. Allowed tools: marque Search knowledge, Show a table, chart or KPI, Append to dataset. Marque Run code si su licencia incluye el sandbox (si no, la herramienta indica Requires licence).
  3. Posture: Sovereign / Mixed / Permissive. Model tier ceiling y Max USD / run. Create agent.
  4. Para usar el sandbox de código, el espacio de trabajo debe permitirlo: Identity → Workspaces → su espacio de trabajo → Agentic tool access → Run agent-written code (sandboxed)Save changes.
  5. Certifique: Agent Administration → Certification+ Certify agent (necesita una CA de plataforma; si la página dice Generate a platform CA first, hágalo una vez). Elija el agente, el alcance (las herramientas que marcó), un techo de clasificación y una caducidad → Issue passport. La tarjeta del agente ahora muestra Certified. (Una CA externa puede firmar en su lugar: Export cert request en el Agent Designer y luego Import agent certification token en Certificates.)
  6. Converse con el agente: pídale que calcule algo exactamente y luego que muestre el resultado como tabla.
  7. Pídale algo fuera de sus herramientas permitidas (p. ej. escribir en un conjunto de datos que no permitió). Luego revoque: Agent Administration → Certificates → el certificado del agente → Revoke.

Lo que debería ver: la tabla del agente aparece como tarjeta en el chat con un botón Pin to dashboard; la petición fuera de alcance se rechaza y la traza muestra una llamada de herramienta denied con la regla; tras la revocación, una conversación nueva se rechaza al instante y una en curso se detiene en menos de 30 segundos. Un agente con postura Sovereign rechaza ejecutar código en un espacio de trabajo soberano, independientemente del interruptor.

5Automatizaciones: un flujo con aprobación y un paso Publish result

  1. Automations → Design workflow (Designer). Add trigger → elija uno (p. ej. Webhook o Schedule). Add next stepAI step (prompt, Model tier, Data classification).
  2. Add next step → Approval → defina Approvers.
  3. Add next step → Code (JavaScript en el worker aislado) que devuelva filas, p. ej. return { rows: [{date: '2026-09-01', line: 'U1', passengers: 120}] }.
  4. Add next step → Publish result → elija o cree un conjunto de datos, modo de escritura Append, filas {{code.rows}}.
  5. Publish. De vuelta en Automations → Active, use Run now. Apruébelo en Approvals.
  6. Automations → History → abra la ejecución.

Lo que debería ver: la entrada y la salida de cada paso; la aprobación muestra quién decidió y cuándo; la ejecución tiene una pestaña Published rows; Dashboards → Datasets muestra las filas nuevas. Pruebe el botón ✨ Help me build del Designer: describa una automatización en una frase y Render on canvas.

6Hooks: reaccionar a lo que ocurre

  1. En el Designer, cree un segundo flujo cuyo disparador sea When an event happens, evento dataset.rows.published. Añada un paso (un AI step que resuma {{trigger.payload}}). Publish.
  2. Automations → Hooks → New hook: título, Event dataset.rows.published, Filter payload.datasetId eq <id de su dataset> (use Test filter contra la carga de ejemplo), Handler = el flujo del paso 1. Enable.
  3. Ejecute otra vez el flujo del capítulo 5 (o importe un CSV en el conjunto de datos).
  4. Abra las Deliveries del hook.

Lo que debería ver: 1 delivered, un enlace View run y la ejecución del handler en History. Desactive el flujo handler y dispare de nuevo: el hook muestra handler paused y las entregas fallan honestamente, con Retry. En Deliveries → Replay events, elija una ventana, Preview y luego Replay N: las entregas repetidas llevan una insignia *replayed

#n* y cada una inicia exactamente una ejecución nueva.

7Paneles: conjuntos de datos, modelos de negocio, widgets, filtro cruzado, formularios

Conjuntos de datos

  1. Dashboards → Datasets → New dataset: título, Columns (p. ej. date date, line string, passengers integer, occupancy number), Keep rows for (days) = 90. Create dataset.
  2. Ábralo → Import CSV (modo de escritura Upsert by key o Append).

Lo que debería ver: el número de filas, la retención, la barra de cuota. En la cuadrícula: arrastre el borde de una columna para redimensionar, arrastre una cabecera para reordenar, Search in table (Ctrl/Cmd-F), seleccione un rango y Ctrl/Cmd-C para copiar a una hoja de cálculo; números alineados a la derecha; la primera columna se queda fija en tablas anchas.

Un panel

  1. Dashboards → New dashboardCreate. Está en el editor.
  2. Add widget: Type KPI; Business model (se crea uno por cada conjunto de datos); marque una medida; en el panel de propiedades elija la Measure; Add. Repita con Type Chart: marque una medida y una dimensión, elija X field / Y field en los selectores, marque Show values on hover. En Interactions, ponga Clicking a bar or slice filters other widgets by en su dimensión. En el KPI, marque Listen to selections from other widgets.
  3. Arrastre los widgets por su cabecera; redimensione desde cualquier borde; fije uno con Pin para que no se mueva; arrastre el chip New widget a una celda vacía para crear un widget justo ahí.
  4. Add filter (un filtro de periodo). Save draft y luego Publish.
  5. Abra el panel publicado (ahora está en la navegación izquierda bajo Dashboards). Haga clic en una barra.

Lo que debería ver: las demás barras se atenúan, aparece un chip line: U1 sobre el panel, el KPI vuelve a consultar el valor filtrado y la ✕ del chip lo borra. Versions permite volver atrás; Retire quita el panel de la navegación. Pruebe ✨ Help me build con una frase como «pasajeros por línea del mes actual, y un total»: la propuesta se valida contra el modelo antes de que la vea.

Un formulario

  1. Add widget → Type Form (Adaptive Card). Conserve la tarjeta de ejemplo o añada un Input.ChoiceSet, un Input.Number con min/max y una Action.ShowCard con campos extra. Elija un flujo como destino. Add, Save draft, Publish.
  2. En el panel publicado envíe el formulario vacío y luego correctamente.

Lo que debería ver: el envío vacío se bloquea en el navegador con los mensajes propios de la tarjeta, cero peticiones enviadas; el envío correcto muestra el mensaje de éxito e inicia el flujo destino (Approvals o History muestra la ejecución). Share en un panel con formulario se rechaza: los formularios nunca son públicos.

Compartir

  1. En un panel sin formulario: Share → Create link (etiqueta, horas). Abra el enlace en una ventana privada.

Lo que debería ver: el panel se muestra en solo lectura con el nombre de su organización y la caducidad, sin inicio de sesión; Revoke en el mismo diálogo lo anula. (Requiere el indicador de licencia resultsPublicShare y Share a result.)

8Marketplace y plantillas

  1. Marketplace → filtre Type Solution → abra una → Install → elija un espacio de trabajo → Confirm install.
  2. Automations → TemplatesDeploy template.

Lo que debería ver: los flujos de la solución aparecen en Automations → Active; una solución que lleva un paquete de panel crea también su panel, sus conjuntos de datos y sus hooks en el espacio de trabajo elegido (navegación Dashboards).

9Extensiones: que la plataforma se vea y hable como usted

Todo lo siguiente es un paquete firmado: un zip con un manifiesto y archivos de datos, firmado con una clave que usted conserva. La plataforma nunca ejecuta código de un paquete.

Firme su primer paquete

  1. En su portátil con Node 20: node tools/aancer-pack/cli.mjs keygen --out mykey.key (del bundle de la versión; genera mykey.key y mykey.pub).
  2. Escriba manifest.json (vea en la guía del cliente Authoring a pack el ejemplo mínimo; la carpeta hexad-ci del bundle es un paquete de tema completo que puede copiar).
  3. node tools/aancer-pack/cli.mjs sign manifest.json content/ -o mypack-1.0.0.ancpack --key mykey.key

Instálelo

  1. Platform Settings → Extensions → Add trust key: id de clave (debe coincidir con publisher.keyId en su manifiesto), etiqueta, el contenido de mykey.pub.
  2. Import pack → elija el .ancpackImport. Lea el resumen de verificación y las advertencias que haya. Configure & activate → enlace los parámetros (normalmente un espacio de trabajo) → Activate.

Lo que debería ver: un paquete importado antes de añadir la clave de confianza se rechaza con PACK_SIGNER_UNKNOWN; después, «Bundle verified», los elementos listados con su estado, y tras la activación aparece todo lo que el paquete declara: tema aplicado, entradas de navegación, tarjetas en Home, paneles, hooks (managed by pack). Retire pack lo quita todo y restaura el producto de serie; una versión más nueva del mismo id de paquete se importa como actualización y puede volver atrás.

Lo que puede llevar un paquete

ElementoQué haceDónde aparece
theme v2colores por bloque de tema (light/dark/…), fuentes autoalojadas, logotipos, favicon, color/lema/pie de la página de inicio de sesión, marco de los correos; para toda la instalación o por espacio de trabajoen todas partes; la página Branding pasa a managed by pack
localesu vocabulario sobre los textos en en/de/es/arla interfaz, incluida la página de inicio de sesión
dataset, model, widget, dashboarduna capa de resultados completaDashboards
hookuna suscripción a eventosAutomations → Hooks
functionuna función JavaScript o Python (aislada) usable como medida, preajuste de código o herramienta de agentemodelos, Designer, agentes
chipbotones de acción rápida en el compositor del chatChat
linkun enlace externo en la navegación DashboardsDashboards
carduna tarjeta en Home («From your packs»)Home
appuna de sus propias aplicaciones web dentro del hub DashboardsDashboards (requiere embeddedApps)

Su apariencia sin paquete

Platform Settings → Branding: Platform name, Login page tagline, Primary color, Secondary color, Logo URL, Favicon URL, Login background color, Default theme. Live preview muestra la página de inicio de sesión. Es la vía de seis campos sin firma; un paquete de tema hace todo esto y además fuentes, tokens por bloque y variantes por espacio de trabajo.

10Apps embebidas: su propia aplicación dentro del hub

  1. En su paquete, añada un elemento app: url (https, {{workspace}} permitido), origin, capabilities (p. ej. read:me, read:dataset:<id>, write:dataset:<id>, navigate, notify), egress.hosts. Importe y active como en el capítulo 9.
  2. Platform Settings → Extensions → abra el paquete → Manage app: lea el origen y las capacidades, marque la confirmación, Approve; Approve cada host de salida.
  3. Su aplicación debe responder con Content-Security-Policy: frame-ancestors <origen de su plataforma> y no debe enviar X-Frame-Options: DENY.
  4. Dashboards → su app aparece bajo su grupo con el glifo Embedded app. Ábrala.

Lo que debería ver: antes de la aprobación, una tarjeta honesta Needs approval; si su app no permite el embebido, the app has not allowed this platform to embed it con Retry; cuando lo permite, su app carga y recibe un token de corta vida por el puente (nunca en la URL). Cierre sesión en otra pestaña: el marco muestra session revoked en menos de 15 s. Rotate secret muestra el nuevo secreto de introspección una sola vez. Cada llamada del puente se audita bajo app.capability.*.

11Gobernanza: demostrar que ocurrió

  1. Governance → Audit log: filtre por acción (agent.tool.call, hook.delivered, extension.pack.activated, sovereignty.*).
  2. Governance → Records of processing → exporte; Compliance → los informes regulatorios.
  3. Console Home → Monitoring: ejecuciones, coste, eventos de seguridad.

Lo que debería ver: cada acción con consecuencias de los capítulos anteriores, con quién, cuándo, espacio de trabajo y resultado; las acciones denegadas como denegaciones; nunca datos a nivel de fila en el registro. El endpoint de verificación de la cadena de auditoría (/api/admin/compliance/audit-chain/verify) informa ok: true.

12Cosas que deberían rechazar — pruébelas a propósito

PruebeEsperado
Nivel en la nube en un espacio de trabajo Local-onlyrechazo por soberanía, auditado
Herramienta de agente fuera de su pasaportedenied en la traza, nada ejecutado
Herramienta de código sin el interruptor del espacio de trabajo o la licenciaherramienta ausente o Requires licence
Compartir un panel que tiene un formulariorechazado con el motivo
Importar un paquete firmado con una clave desconocida, o un paquete manipuladoPACK_SIGNER_UNKNOWN / hash no coincidente
Un tema con texto blanco sobre blancorechazado por ilegible; los pares de bajo contraste son advertencias
Hook sobre un flujo sin disparador Eventguardado disabled con HANDLER_INACTIVE
Envío de formulario vacío o fuera de rangobloqueado en el navegador, cero peticiones
App embebida sin frame-ancestorstarjeta de rechazo honesta con Retry
Abrir un conjunto de conocimiento de un espacio de trabajo al que no pertenece403 / estado vacío honesto

Cada rechazo de arriba es una función. Informe de un rechazo que no ocurrió, o de uno que ocurrió sin fila de auditoría.

¿Encontró algo que no coincidía?

Eso es un hallazgo. Anótelo en su tablero con el número de capítulo, lo que pulsó y lo que vio; cada rechazo que no ocurrió, o que ocurrió sin una fila de auditoría, es el informe más valioso que puede enviar.