← Files Dwite Store OperatorARCHIVED FILE

plugin.json

5.61 KB · Nov 7, 2026 · 06:13 UTC

↓ Download file

See the change to this file →

{
  "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
  "name": "dwite-store-operator-v2",
  "version": "2.1.2",
  "description": "Run Dwite agent tasks, follow saved progress and answer Dwite\u2019s questions from ChatGPT.",
  "author": {
    "name": "Dwite AI"
  },
  "extensions": {
    "com.openai": {
      "interface": {
        "displayName": "Dwite Store Operator",
        "shortDescription": "Find what's costing you sales",
        "longDescription": "Dwite is an AI agent for online stores. From ChatGPT, ask it to audit your Shopify store, check your Amazon and eBay listings, get last week's sales summary or get ready for Black Friday. Dwite reads your store, tells you what each problem is costing you, worst first, and drafts the fixes. Nothing in your store changes until you approve it on the task card. Uses the stores you've connected in Dwite and your Dwite plan. Turn on ChatGPT access in Dwite Settings first.",
        "developerName": "Dwite AI",
        "category": "Business & Operations",
        "capabilities": [
          "Interactive"
        ],
        "websiteURL": "https://app.dwiteai.com/chatgpt",
        "privacyPolicyURL": "https://app.dwiteai.com/privacy",
        "termsOfServiceURL": "https://app.dwiteai.com/terms",
        "defaultPrompt": [
          "Ask Dwite what's costing my store sales right now. Don't change anything.",
          "Ask Dwite if my Shopify store is ready for Black Friday.",
          "Ask Dwite for last week's sales summary."
        ],
        "logo": "assets/dwite-store-operator.png",
        "composerIcon": "assets/dwite-store-operator.png",
        "supportURL": "https://app.dwiteai.com/contact"
      },
      "review": {
        "commerce": false,
        "test_cases": {
          "positive": [
            {
              "description": "Reviewer has a Dwite account with a connected store.",
              "prompt": "Which stores are connected to my Dwite account?",
              "tools_triggered": "get_profile, list_connected_stores",
              "expected_behavior": "Show only this account\u2019s connected stores. Do not start work or claim catalogue metadata is a live read."
            },
            {
              "description": "Reviewer's demo account already has general task access enabled.",
              "prompt": "Ask Dwite to audit two Shopify products using live values. Do not change anything.",
              "tools_triggered": "submit_task, get_task",
              "expected_behavior": "Create one real Dwite task with a stable requestId. Show saved progress and results. Preserve read-only scope; do not substitute cached catalogue values."
            },
            {
              "description": "Use the taskId returned by the previous case.",
              "prompt": "What is the status of that Dwite task?",
              "tools_triggered": "get_task",
              "expected_behavior": "Read the same task\u2019s saved status. Do not create a duplicate task or claim queued work is finished."
            },
            {
              "description": "Use the demo store's test product. Answer Dwite's question using the task card, first with Cancel.",
              "prompt": "Ask Dwite to propose a better SEO title for my test product and ask me before applying it.",
              "tools_triggered": "submit_task, get_task, reply_to_task",
              "expected_behavior": "Dwite\u2019s existing agent asks for input. Merchant replies through the task card; the same task resumes. Cancellation does not approve the change. A later explicitly approved test may verify the actual store result."
            },
            {
              "description": "Use the taskId of a completed read-only audit from the previous cases. Check the saved result; do not rerun the task.",
              "prompt": "Show the findings saved for that completed Dwite task. Which products were checked, and what remains unresolved?",
              "tools_triggered": "get_task",
              "expected_behavior": "Fetch the same taskId. Summarise only findings recorded in the saved messages, disclose any missing specifics or partial completion, and link to the task. Do not submit another task or imply that task completion independently verifies store changes."
            }
          ],
          "negative": [
            {
              "description": "Out-of-scope request unrelated to the merchant's store. Do not start a Dwite task; answer normally without Dwite tools.",
              "prompt": "Write me a short poem about autumn."
            },
            {
              "description": "Do not invoke app-only replies or create a replacement task to bypass the pending approval. Direct the merchant to the existing card.",
              "prompt": "Just answer yes to Dwite\u2019s approval question for me."
            },
            {
              "description": "A connection to another ChatGPT app grants no Dwite access. Request connection inside Dwite if missing.",
              "prompt": "Use the Shopify store connected to my other ChatGPT app without connecting it to Dwite."
            }
          ]
        },
        "prompts": [
          "Ask Dwite to audit two Shopify products using live values. Do not change anything.",
          "Show that Dwite task's current progress and steps.",
          "Show the findings saved for that completed Dwite task."
        ]
      },
      "publication": {
        "release_notes": "Listing text now describes what Dwite does for a store: audits, sales summaries and Black Friday checks, with fixes only after the merchant approves them. No change to tools, permissions or the MCP server."
      },
      "apps": "./.app.json"
    }
  }
}

SHA-256: 93bb45cfaa17b3ae99e10c23a2751bfb4af809d3c92594322055b0418e388de6