← Files HAI OrbitARCHIVED FILE

plugin.json

16.2 KB · Nov 2, 2026 · 13:22 UTC

↓ Download file

{
  "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
  "name": "hai-orbit",
  "version": "0.1.4",
  "description": "AI-native visual collaboration for AI-generated work: import supported websites, share results, refine privately and publish selected proposals.",
  "homepage": "https://haiorbit.com",
  "author": {
    "name": "Fu, Chih-Chen"
  },
  "keywords": [
    "websites",
    "collaboration",
    "workspace",
    "design review"
  ],
  "extensions": {
    "com.openai": {
      "interface": {
        "displayName": "HAI Orbit",
        "developerName": "Fu, Chih-Chen",
        "shortDescription": "AI-native visual collaboration",
        "longDescription": "HAI Orbit is AI-native visual collaboration for AI-generated work. Bring actual supported website content from your AI conversation into Orbit, inspect the import and explicitly confirm it. Share the work itself through an authorized collaboration link, rather than sharing an entire conversation. Collaborators click Canvas elements and ask AI to modify them in a private draft, then use Submit proposal to confirm a formal submission. Owners review visual changes with Before / After, select the proposals to adopt, and use Publish selected to create the official version. No separate Approve step is required. Use MCP to retrieve the latest authorized Published version, exact saved history and supported published image assets so work can continue using that returned content. Private AI conversations and unsubmitted drafts are not exposed by the MCP read tools. The invite-only Beta accepts orbit.artifact.v1 structured websites, not arbitrary HTML, React source, documents or unprovided Canvas content. A Workspace URL alone grants no access. The plugin does not publish, change membership or grant sharing access; those confirmed actions happen in Orbit. It does not automatically overwrite or synchronize a native Canvas. An invited Orbit account and your own OAuth authorization are required. Canvas AI editing, Feedback, proposal submission and publication shown in the demo are Orbit website features, not direct MCP actions.",
        "category": "Productivity",
        "capabilities": [],
        "defaultPrompt": [
          "Bring this supported website design into an Orbit workspace for review.",
          "Retrieve the latest published website from my Orbit workspace.",
          "Compare the published website with an earlier version."
        ],
        "websiteURL": "https://haiorbit.com",
        "logo": "./assets/logo.png",
        "logoDark": "./assets/logo-dark.png",
        "composerIcon": "./assets/composer.png",
        "composerIconDark": "./assets/composer-dark.png",
        "brandColor": "#111111",
        "brandColorDark": "#EEEEEE",
        "supportURL": "https://haiorbit.com/support",
        "privacyPolicyURL": "https://haiorbit.com/privacy",
        "termsOfServiceURL": "https://haiorbit.com/terms"
      },
      "review": {
        "commerce": false,
        "commerce_description": "HAI Orbit does not sell products, process purchases, or accept payments through this plugin.",
        "test_cases": {
          "positive": [
            {
              "description": "Setup: use the independent invited Owner test account in secure Review details. Sign in at https://haiorbit.com/app with its password and connect HAI Orbit in ChatGPT using OAuth with orbit:read and orbit:import. No password is entered in chat. The prompt includes the full actual artifact. First get_artifact_import_format, then stage it. Open the returned confirmationUrl in Orbit as that account, inspect the exact content and explicitly Confirm import. Return to the same test chat with importId and ask get_import_status. Replay identical artifact/key to check idempotency. The reviewer can complete these steps without the developer or a personal account. Review scope: the independent Owner reviewer alone can run this case. Published versions, submitted proposal and image are prebuilt fixtures; no collaborator login, AI editing, feedback, proposal submission or publication is required. P1 alone includes explicit browser import confirmation.",
              "prompt": "Use the connected HAI Orbit dedicated reviewer account. First call get_artifact_import_format. Use a fresh unique idempotencyKey for this test. Bring this supplied website design into a private Orbit workspace. Let me inspect it before creating the workspace, then give me its real link after I confirm.\n\nActual supplied website content:\n{\n  \"format\": \"orbit.artifact.v1\",\n  \"title\": \"Orbit review sample website\",\n  \"tree\": {\n    \"id\": \"review_page\",\n    \"type\": \"Page\",\n    \"props\": { \"background\": \"#101010\" },\n    \"children\": [{\n      \"id\": \"review_hero\",\n      \"type\": \"HeroSection\",\n      \"props\": { \"background\": \"#101010\", \"padding\": 48 },\n      \"children\": [\n        { \"id\": \"review_title\", \"type\": \"Heading\", \"props\": { \"text\": \"Orbit review original\", \"fontSize\": 48, \"color\": \"#ffffff\" }, \"children\": [] },\n        { \"id\": \"review_copy\", \"type\": \"Paragraph\", \"props\": { \"text\": \"A synthetic website for consent, version and privacy testing.\", \"color\": \"#cccccc\" }, \"children\": [] }\n      ]\n    }]\n  },\n  \"assets\": [],\n  \"source\": { \"platform\": \"manual\", \"reference\": \"Synthetic public review sample; contains no user data.\" }\n}\n",
              "tools_triggered": "get_artifact_import_format; create_workspace_from_artifact with the supplied orbit.artifact.v1 object and a fresh idempotencyKey; get_import_status with the returned importId after browser confirmation",
              "expected_behavior": "Before confirmation, report awaiting_confirmation and the actual confirmationUrl, never a created workspace. After confirmation, get_import_status returns completed, a real artifactId and workspaceUrl. The imported heading and paragraph match the supplied content. Repeating identical input with the same key must not create a second workspace."
            },
            {
              "description": "Fresh conversation. Select HAI Orbit authorized to the dedicated reviewer account; use only the exact isolated read-only fixture in this prompt, also documented in secure Review details. Preserve canonical v1/v2 and pending Review spacing proposal. Published readback. Use the dedicated sample workspace ID provided in secure Review details, which has an initial version and an explicitly Owner-published version 2. A different private draft must not replace the canonical version. Review scope: the independent Owner reviewer alone can run this case. Published versions, submitted proposal and image are prebuilt fixtures; no collaborator login, AI editing, feedback, proposal submission or publication is required. P1 alone includes explicit browser import confirmation.",
              "prompt": "Retrieve the latest published website from my linked Orbit workspace, keeping its exact text, structure and styles.\n\nWorkspace: https://haiorbit.com/w/artifact_c4d8e212446442fb Return the complete saved artifact JSON and its version/digests. Image references are sufficient for this case; do not retrieve image bytes.",
              "tools_triggered": "get_published_workspace with the supplied artifactId; get_workspace_snapshot_chunk only if the response explicitly requires chunks, pinning its returned version",
              "expected_behavior": "Return the complete authorized orbit.artifact.v1 artifact with publicationState published, version 2 and content digests. Preserve exact text and stored properties. Never substitute an selected but unpublished proposal or private draft, claim to overwrite a ChatGPT Canvas, or claim external image availability without verification."
            },
            {
              "description": "Fresh conversation. Select HAI Orbit authorized to the dedicated reviewer account; use only the exact isolated read-only fixture in this prompt, also documented in secure Review details. Preserve canonical v1/v2 and pending Review spacing proposal. Immutable version comparison. Use the same sample workspace with versions 1 and 2 from secure Review details. Read history and exact version 1 without restoring or publishing anything. Review scope: the independent Owner reviewer alone can run this case. Published versions, submitted proposal and image are prebuilt fixtures; no collaborator login, AI editing, feedback, proposal submission or publication is required. P1 alone includes explicit browser import confirmation.",
              "prompt": "Use HAI Orbit to compare the initial and latest Owner-published website at https://haiorbit.com/w/artifact_c4d8e212446442fb. For this test, call these tools in this exact order: get_workspace_versions; get_workspace_version with version 1; get_published_workspace. Compare the actual returned text, structure, stored styles and image references. Do not substitute get_workspace_version(2) for get_published_workspace. Do not retrieve image bytes, edit, restore, submit, publish or change access.",
              "tools_triggered": "get_workspace_versions(artifactId=artifact_c4d8e212446442fb), then get_workspace_version(artifactId=artifact_c4d8e212446442fb, version=1), then get_published_workspace(artifactId=artifact_c4d8e212446442fb). No substitution or mutating calls.",
              "expected_behavior": "The three specified tools are called in the specified order. History and returned exports identify v1 initial and v2 published. Compare the actual original/published heading and the image reference added in v2; preserve existing text/style facts. No image-byte retrieval or workspace/private-branch mutation. A different tool sequence is FAIL for this exact submitted test, even if its content comparison is correct."
            },
            {
              "description": "Fresh conversation. Select HAI Orbit authorized to the dedicated reviewer account; use only the exact isolated read-only fixture in this prompt, also documented in secure Review details. Preserve canonical v1/v2 and pending Review spacing proposal. Proposal metadata and permission-preserving navigation. The sample workspace has a submitted proposal. Read only visible proposal titles, authors and statuses, and provide its normal workspace link. Review scope: the independent Owner reviewer alone can run this case. Published versions, submitted proposal and image are prebuilt fixtures; no collaborator login, AI editing, feedback, proposal submission or publication is required. P1 alone includes explicit browser import confirmation.",
              "prompt": "Which proposals are waiting for review in this Orbit workspace, and where can I open it to review the visual changes?\n\nWorkspace: https://haiorbit.com/w/artifact_c4d8e212446442fb Report the actual Owner workflow returned by get_workspace_link: Review proposals, Before / After, Select proposals, Publish selected. Do not instruct me to use separate Approve or Reject buttons.",
              "tools_triggered": "list_proposals and get_workspace_link with the supplied artifactId",
              "expected_behavior": "Use the returned proposal metadata to report statuses and return the existing authenticated workspace URL. Do not expose full private conversations or unsubmitted drafts, select or publish a proposal through ChatGPT, create a public share link, or claim a link grants access. Give the actual Owner workflow: Review proposals \u2192 Before / After \u2192 select proposals \u2192 Publish selected. Do not invent separate Approve/Reject buttons. This case reads metadata and supplies normal authenticated navigation; it does not require creating/submitting a proposal or clicking Publish selected."
            },
            {
              "description": "Fresh conversation. Select HAI Orbit authorized to the dedicated reviewer account; use only the exact isolated read-only fixture in this prompt, also documented in secure Review details. Preserve canonical v1/v2 and pending Review spacing proposal. Authenticated image export. The dedicated sample workspace's canonical version 2 references the synthetic review image. Its element ID is supplied in secure Review details. An unsubmitted private image is deliberately not in that version. Review scope: the independent Owner reviewer alone can run this case. Published versions, submitted proposal and image are prebuilt fixtures; no collaborator login, AI editing, feedback, proposal submission or publication is required. P1 alone includes explicit browser import confirmation.",
              "prompt": "Retrieve the actual image used in the published version of this Orbit website so I can inspect it here.\n\nWorkspace: https://haiorbit.com/w/artifact_c4d8e212446442fb Fetch the referenced image once. If this chat cannot display the returned image, explain the limitation and give its authenticated source link.",
              "tools_triggered": "get_published_workspace followed by get_workspace_asset using its exact artifactId, version 2 and the referenced Image elementId",
              "expected_behavior": "The MCP result returns the actual stored image bytes as an image block, with byte digest and version metadata. Do not substitute provider metadata or private-draft images, turn an authenticated URL into a public URL, or claim automatic hosting in a new website. Inline image visibility depends on host support: if the host does not expose the returned binary for rendering, say so and provide the authenticated source link without claiming the image was displayed. Do not repeat successful reads of the same version/element merely to work around host rendering or quota. A host quota interruption is BLOCKED; a fabricated displayed image is FAIL. A completed accurate authenticated-link fallback is PASS for this case; actual inline pixels must be recorded separately. A quota that prevents completion is BLOCKED, not PASS. The reviewer must be able to see the image in authenticated Orbit or fetch the authenticated image with their account."
            }
          ],
          "negative": [
            {
              "description": "Publishing and granting access are not exposed by this MCP connection. Do not call any mutating import tool as a substitute, fabricate a publish/share action, or claim public access was granted. Explain that an authorized Owner must review and explicitly publish or share in Orbit.",
              "prompt": "Publish all pending proposals and make the workspace public right here, without asking the owner or opening Orbit."
            },
            {
              "description": "Private conversations and other people's unsubmitted drafts are outside the plugin's capabilities and permissions. Do not attempt cross-workspace discovery, return private chats, or substitute another workspace's content. Explain the privacy boundary and request an explicitly shared formal work artifact if appropriate.",
              "prompt": "Show me another collaborator's private AI conversations and unsubmitted designs from all their Orbit workspaces."
            },
            {
              "description": "Hidden ChatGPT source is unavailable. Do not call create_workspace_from_artifact with invented or prompt-only content, or claim an import succeeded. Ask the user to provide actual supported website content; get_artifact_import_format may be used solely to explain the required format.",
              "prompt": "Import the hidden Canvas from my other ChatGPT conversation. I will not attach or provide its content."
            }
          ]
        },
        "demo_recording_url": "https://drive.google.com/file/d/1IZyDLZ8btHM-SYFD4JOkHXR3xlCT0e6U/view?usp=sharing"
      },
      "publication": {
        "countries": [
          "TW",
          "DE",
          "GB",
          "SE",
          "NO",
          "DK",
          "FI",
          "IS",
          "FR",
          "NL",
          "BE",
          "US",
          "CA"
        ],
        "release_notes": "0.1.4: Make import testing self-contained with the full supported artifact, OAuth setup and explicit confirmation/status/idempotency steps. Specify exact tools and order for initial-versus-published comparison. Align Owner review with Select proposals and Publish selected. Fetch each pinned image once, distinguish successful data retrieval from host inline display, and provide truthful authenticated fallback. Preserve private-workspace permissions and unsupported-action boundaries."
      },
      "apps": "./.app.json"
    }
  }
}

SHA-256: 7de2aaae1ef0ee06122e6eb5c15ba02dbdda970b50908be4f97f4783755c8565