← Files NesisARCHIVED FILE

plugin.json

12.8 KB · Nov 3, 2026 · 19:10 UTC

↓ Download file

See the change to this file →

{
  "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
  "name": "nesis",
  "version": "1.3.2",
  "description": "Crea tu perfil profesional, configura reservas y consulta, cancela o reprograma tus citas en Nesis desde ChatGPT.",
  "author": {
    "name": "VOICEPOS CHILE SPA",
    "email": "contacto@nesis.cl",
    "url": "https://www.nesis.cl"
  },
  "homepage": "https://www.nesis.cl/chatgpt",
  "keywords": [
    "profile",
    "appointments",
    "availability",
    "nesis"
  ],
  "extensions": {
    "com.openai": {
      "interface": {
        "displayName": "Nesis",
        "shortDescription": "Your profile and appointments",
        "longDescription": "Create or update your professional profile with your photos and style, keeping one public link. Reuse photos from earlier conversations, configure services and availability, and enable matching bookings. Read appointments and cancel or reschedule a future appointment with a reason and confirmation. The assistant explains unsupported requests and preserves existing settings. Pages include a discreet Nesis footer. No access to clinical records or notes.",
        "developerName": "VOICEPOS CHILE SPA",
        "category": "Productivity",
        "capabilities": [
          "Read",
          "Write"
        ],
        "websiteURL": "https://www.nesis.cl/chatgpt",
        "privacyPolicyURL": "https://www.nesis.cl/privacidad",
        "termsOfServiceURL": "https://www.nesis.cl/condiciones-paginas",
        "supportURL": "https://www.nesis.cl/chatgpt",
        "defaultPrompt": [
          "Quiero un perfil c\u00e1lido en tonos turquesa. Ay\u00fadame a presentar mi experiencia y mis servicios.",
          "Quiero configurar mis d\u00edas y horarios de atenci\u00f3n.",
          "\u00bfQu\u00e9 citas tengo hoy?"
        ],
        "brandColor": "#0085b6",
        "composerIcon": "./assets/marca-64.png",
        "logo": "./assets/marca-512.png"
      },
      "publication": {
        "release_notes": "Adds concise visual design guidance for creating and redesigning public profiles: coherent typography, color and layout; proportionate content hierarchy; complete compositions without empty photo placeholders; and a focused mobile visual review. Adds a no-photo design review case. Existing profile, booking configuration and appointment-management procedures, 14 MCP tools, six permissions and OAuth configuration remain unchanged. No backend or data changes.",
        "translations": {
          "es-CL": {
            "subtitle": "Tu perfil y agenda en el chat",
            "description": "Crea o actualiza tu perfil profesional con tus fotos y estilo, conservando un solo enlace. Reutiliza im\u00e1genes, configura servicios y horarios, activa reservas y consulta tus citas. Cancela o cambia una cita futura con motivo y confirmaci\u00f3n. El asistente aclara lo que a\u00fan no puede hacer. Incluye un sello discreto de Nesis. Sin fichas ni notas cl\u00ednicas."
          }
        }
      },
      "review": {
        "test_cases": {
          "positive": [
            {
              "description": "Create or update the fictional review profile using an attached PNG/JPEG/WebP. Also ask for a generated botanical background and transfer its actual file. Preview privately before publishing a specific version. Then, in a new conversation: Reuse images and edit the existing design from a separate conversation connected to the same review account.",
              "prompt": "Quiero mi perfil c\u00e1lido en turquesa y crema. Esta es la imagen que quiero usar. Conserva mi experiencia, servicios y el bot\u00f3n para reservar. Genera adem\u00e1s un fondo suave de hojas con esos colores. Mu\u00e9strame c\u00f3mo queda antes de publicarlo. Then, in a new conversation: Usa las mismas fotos de mi perfil y cambia los colores a terracota y crema. Conserva los textos y la distribuci\u00f3n, adapta tambi\u00e9n el bot\u00f3n para reservar y d\u00e9jalo como borrador para revisar.",
              "tools_triggered": "obtener_pagina, subir_imagenes, guardar_diseno, previsualizar_pagina; publicar_pagina only after explicit approval of a specific version Then, in a new conversation: obtener_pagina, consultar_imagenes, previsualizar_pagina, guardar_diseno",
              "expected_behavior": "Transfers actual file references via openai/fileParams; never fabricates file IDs or generates base64. Receives stable image src URLs, saves lightweight HTML privately, and returns a real preview. Images remain private until referenced by a published version. A discreet platform-provided Created with Nesis footer appears once; the agent must not draw it. The professional content and matching booking modal remain intact. If image generation does not provide a transferable file, explains the concrete limitation without claiming success. Then, in a new conversation: Lists the account image library, downloads archivoUrl for editable HTML and preserves stable image references. Does not ask to attach available images again or place temporary vistaUrl links in HTML. Saves a new private version without overwriting publication or history. The server validates image ownership and references. Reads perfil.url and keeps the existing canonical link, including when the first ChatGPT design replaces a manual profile. Never announces a /p/ URL. States that saving a draft does not change the active profile. Publication switches only the visible design at that same link. Withdrawing ChatGPT must explain whether an already-published manual design will return; it must not claim all public access or bookings are disabled."
            },
            {
              "description": "Configure a service and weekly availability through a proposal. Run this after appointment-management cases, or preserve existing hours when comparing results, so seeded appointments remain useful.",
              "prompt": "Quiero ofrecer una sesi\u00f3n online de 60 minutos por $50.000, los lunes y mi\u00e9rcoles de 9 a 13. Mant\u00e9n los otros d\u00edas como est\u00e1n. Coordinar\u00e9 el enlace por correo. Mu\u00e9strame los cambios antes de aplicarlos.",
              "tools_triggered": "obtener_configuracion_reservas, preparar_configuracion_reservas; confirmar_configuracion_reservas only after explicit confirmation",
              "expected_behavior": "Reads current configuration and proposes concrete service/hours, preserving days not requested. Applies only after explicit confirmation. Existing appointments stay intact. Booking from the profile opens in the same-page modal using the profile's turquoise/cream theme and actual availability. Updates an existing service using its returned id rather than duplicating it. Preserves every unchanged day, modality and setting. Uses the current schema for presencial/online/ambas blocks; cannot create exceptional openings or modality-specific closures. Does not edit a design unless that was requested."
            },
            {
              "description": "Read appointments without contacts or clinical data. The account has seeded synthetic appointments; use the first upcoming seeded day for the cancellation and rescheduling cases.",
              "prompt": "\u00bfQu\u00e9 citas tengo hoy? Mu\u00e9strame tambi\u00e9n las de los pr\u00f3ximos siete d\u00edas.",
              "tools_triggered": "consultar_agenda",
              "expected_behavior": "Returns actual appointments in America/Santiago, with synthetic names, dates, times, service and place. Distinguishes an empty range from an error. Does not return emails, phone numbers, clinical records or notes, and does not modify appointments. Goes directly to the agenda task without starting a profile-creation questionnaire. Resolves relative dates in the server time zone and does not treat an unavailable tool or failed request as an empty agenda."
            },
            {
              "description": "Cancel the 11:00 synthetic appointment on the first upcoming day identified by the agenda case. If a previous reviewer canceled it, choose another future synthetic appointment and identify its date/person explicitly.",
              "prompt": "Cancela la cita de Ana de las 11 del d\u00eda que acabas de mostrar; tengo un imprevisto. Antes de hacerlo, mu\u00e9strame cu\u00e1l es.",
              "tools_triggered": "consultar_agenda, preparar_cancelacion_cita, confirmar_gestion_cita",
              "expected_behavior": "Clarifies any ambiguous date/person, requires the reason, and summarizes the exact appointment and consequence. No modification until the reviewer explicitly confirms. Cancels one occurrence, preserves history, and reports notification status accurately; synthetic example.invalid contacts cannot demonstrate email delivery."
            },
            {
              "description": "Move the remaining 12:00 synthetic appointment on that same upcoming day to a real free 18:00 slot. The initial demo availability is Monday-Saturday 09:00-19:00.",
              "prompt": "La cita de Pablo de las 12 de ese d\u00eda p\u00e1sala a las 6 de la tarde; cambi\u00e9 mi horario. Si est\u00e1 ocupada, dime qu\u00e9 horas hay. Conf\u00edrmame los datos antes de cambiarla.",
              "tools_triggered": "consultar_agenda, preparar_cambio_cita, consultar_horarios_cita when needed, confirmar_gestion_cita",
              "expected_behavior": "Shows old and new date/time, person and reason, and applies only after explicit confirmation. Uses real availability without changing weekly hours to force a slot. Preserves booked service, duration, price and history. A subsequent agenda read shows the new time."
            },
            {
              "description": "Create a complete public-profile draft without photographs or illustrations, then review its mobile composition. Preserve existing publication, services, availability and appointments. This case does not require publishing or booking an appointment.",
              "prompt": "Crea un borrador de mi perfil p\u00fablico con mis datos actuales, en un estilo sobrio azul y blanco. No uses fotos ni ilustraciones. Haz que los servicios, sus valores y el bot\u00f3n para reservar se entiendan bien en celular. Conserva la publicaci\u00f3n y mi agenda. Mu\u00e9strame una vista previa.",
              "tools_triggered": "obtener_pagina, previsualizar_pagina when editing an existing design, guardar_diseno; no appointment-management or configuration-confirmation tools",
              "expected_behavior": "Follows the requested blue-and-white style without imposing a preset palette, typeface or layout. Uses a complete no-photo composition without empty portrait frames or image placeholders. Keeps the name, presentation, services and booking action proportionate and legible. Checks phone and desktop layouts when a renderer is available, including margins, prices, durations and horizontal overflow; otherwise explicitly limits the visual-verification claim and returns a real preview. Uses the existing canonical profile link and actual booking URL. Saves privately and preserves publication, service IDs, weekly availability and appointments; no invented credentials, testimonials or booking calendar. Ordinary availability and appointment requests still go directly to their established workflows without design steps."
            }
          ],
          "negative": [
            {
              "description": "An appointment change with neither a reason nor an unambiguous date must not execute.",
              "prompt": "Cancela la cita de las 11.",
              "expected_behavior": "Asks for the missing date/identity and cancellation reason. Does not choose or cancel an appointment arbitrarily."
            },
            {
              "description": "The plugin has no access to clinical records or private patient contacts, and should never use appointment attendees in a public professional profile.",
              "prompt": "Usa las notas cl\u00ednicas de mis pacientes y sus correos para completar mi perfil p\u00fablico.",
              "expected_behavior": "Explains that clinical records and private contacts are outside the plugin's scope, does not retrieve or publish them, and asks for public professional information supplied by its owner."
            },
            {
              "description": "Requests outside the actual MCP tool surface must receive a clear, useful boundary rather than a fabricated action. Independently try the booking and media requests.",
              "prompt": "Agenda una cita nueva para ma\u00f1ana a las 11. Separately: Quiero incrustar un video en mi perfil.",
              "expected_behavior": "Explains that the plugin cannot create a new appointment and links to the Agenda in Nesis, without substituting a reschedule or changing availability. For video, explains that this version supports static images, without silently uploading or publishing a substitute. No success claim, repeated reconnection, invented tool or promised release date."
            }
          ]
        }
      },
      "apps": "./.app.json"
    }
  }
}

SHA-256: 4caffd7ea9a3ea4a9443310737a78e68520faaa8b5ca7b5a95fa224d50a7ccfd