← Files OK JLPTARCHIVED FILE

plugin.json

10.8 KB · Nov 4, 2026 · 06:14 UTC

↓ Download file

{
  "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
  "name": "okjlpt",
  "version": "1.0.1",
  "description": "Practise JLPT (Japanese-Language Proficiency Test) questions from past tests, N1 to N5, with explanations in English or Chinese.",
  "author": {
    "name": "OK JLPT",
    "email": "support@okjlpt.com",
    "url": "https://okjlpt.com"
  },
  "homepage": "https://okjlpt.com/en",
  "keywords": [
    "JLPT",
    "Japanese",
    "language learning",
    "exam practice",
    "\u65e5\u672c\u8a9e\u80fd\u529b\u8a66\u9a13"
  ],
  "extensions": {
    "com.openai": {
      "interface": {
        "displayName": "OK JLPT",
        "shortDescription": "Practise JLPT past questions",
        "longDescription": "Practise for the Japanese-Language Proficiency Test (JLPT) right in the chat. Ask for a question at any level from N1 to N5 in vocabulary, grammar or reading, and OK JLPT shows it as a card with four options. Tap an answer to see whether it is right and why, with an explanation in English, Simplified Chinese or Traditional Chinese. Tap Next question to keep going. You can also ask when the next test is, how long each section takes and what the pass marks are.\n\nThe questions come from the free past tests on okjlpt.com. Listening questions and questions with pictures are not shown in the chat; to take a whole test with listening and an estimated score, open it on okjlpt.com. No account is needed.\n\nOK JLPT is an independent study tool. It is not affiliated with or endorsed by the Japan Foundation or Japan Educational Exchanges and Services, which run the JLPT. Scores and answers on OK JLPT are for practice only.",
        "developerName": "OK JLPT",
        "category": "Education & Research",
        "capabilities": [
          "JLPT practice questions",
          "Answer checking with explanations",
          "JLPT test dates and pass marks"
        ],
        "websiteURL": "https://okjlpt.com/en",
        "supportURL": "https://okjlpt.com/en/support",
        "privacyPolicyURL": "https://okjlpt.com/en/privacy",
        "termsOfServiceURL": "https://okjlpt.com/en/terms",
        "defaultPrompt": [
          "Give me a JLPT N3 grammar question.",
          "Quiz me on N2 vocabulary.",
          "When is the next JLPT and what is the N2 pass mark?"
        ],
        "brandColor": "#2F7E61",
        "brandColorDark": "#7CC29F",
        "composerIcon": "./assets/icon.png",
        "logo": "./assets/logo.png"
      },
      "review": {
        "test_cases": {
          "positive": [
            {
              "description": "Ask for a question at one level and section; answer it on the card.",
              "prompt": "Give me a JLPT N3 grammar question.",
              "tools_triggered": "practice_jlpt_question",
              "expected_behavior": "A card shows one N3 grammar question with four options and the test it comes from. Tapping an option marks the right answer in green (and a wrong pick in red) and shows the explanation, with Next question and a link to the whole test on okjlpt.com."
            },
            {
              "description": "A Chinese-speaking learner asks for a reading question; the explanation follows their language.",
              "prompt": "\u6211\u8981\u8003 N2\uff0c\u51fa\u4e00\u9053\u9605\u8bfb\u9898",
              "tools_triggered": "practice_jlpt_question",
              "expected_behavior": "A card shows an N2 reading passage in a scrollable box, the question and four options. After tapping an option, the verdict and explanation are in Simplified Chinese and the link opens the Simplified Chinese page of that test."
            },
            {
              "description": "The learner answers in the chat instead of tapping the card.",
              "prompt": "Give me an N5 vocabulary question. My answer is 2.",
              "tools_triggered": "practice_jlpt_question, check_jlpt_answer",
              "expected_behavior": "ChatGPT shows an N5 vocabulary question, then checks option 2 with check_jlpt_answer and says whether it is right, which option is correct and why, without guessing the answer itself."
            },
            {
              "description": "Keep practising: the next question is new.",
              "prompt": "Give me a JLPT N4 vocabulary question, then another one I haven't seen.",
              "tools_triggered": "practice_jlpt_question",
              "expected_behavior": "Two different N4 vocabulary questions are shown; the second call passes the first question's id in exclude, so the same question does not repeat. Tapping Next question on the card does the same."
            },
            {
              "description": "Ask about the test itself.",
              "prompt": "When is the next JLPT and what is the N2 pass mark?",
              "tools_triggered": "get_jlpt_exam_facts",
              "expected_behavior": "ChatGPT gives the next test date and the N2 pass mark (90 out of 180, with the minimum for each section) from the facts returned, and links to the test dates page on okjlpt.com."
            }
          ],
          "negative": [
            {
              "description": "General translation is not a JLPT practice request; OK JLPT should not be used.",
              "prompt": "Translate this into English: \u660e\u65e5\u306f\u96e8\u304c\u964d\u308b\u305d\u3046\u3067\u3059\u3002"
            },
            {
              "description": "Writing help is outside the app; no tool should be called.",
              "prompt": "Help me write a self-introduction in Japanese for a job interview."
            },
            {
              "description": "Asking for the answers to an upcoming real test; the app has no such content and must not invent it.",
              "prompt": "Show me the answers to the December 2026 JLPT N2."
            }
          ]
        },
        "commerce": false,
        "commerce_description": "The app sells nothing and takes no payments in ChatGPT. It links to okjlpt.com only to take a whole practice test."
      },
      "publication": {
        "release_notes": "First release: JLPT N1\u2013N5 practice questions (vocabulary, grammar, reading) as a card with answer checking and explanations in English, Simplified Chinese and Traditional Chinese, plus JLPT test dates and pass marks.",
        "translations": {
          "zh-CN": {
            "subtitle": "\u5728\u804a\u5929\u91cc\u7ec3 JLPT \u5386\u5e74\u8bd5\u9898",
            "description": "\u76f4\u63a5\u5728\u804a\u5929\u91cc\u51c6\u5907\u65e5\u672c\u8bed\u80fd\u529b\u6d4b\u8bd5\uff08JLPT\uff09\u3002\u8bf4\u51fa\u7b49\u7ea7\uff08N1\u2013N5\uff09\u548c\u9898\u578b\uff08\u6587\u5b57\u8bcd\u6c47\u3001\u8bed\u6cd5\u3001\u9605\u8bfb\uff09\uff0cOK JLPT \u5c31\u4f1a\u51fa\u4e00\u9053\u9898\uff0c\u4ee5\u56db\u4e2a\u9009\u9879\u7684\u5361\u7247\u663e\u793a\u3002\u70b9\u9009\u9879\u9a6c\u4e0a\u77e5\u9053\u5bf9\u9519\u548c\u539f\u56e0\uff0c\u89e3\u6790\u6709\u7b80\u4f53\u4e2d\u6587\u3001\u7e41\u4f53\u4e2d\u6587\u548c\u82f1\u6587\u3002\u70b9\u300c\u4e0b\u4e00\u9898\u300d\u63a5\u7740\u7ec3\u3002\u4e5f\u53ef\u4ee5\u95ee\u8003\u8bd5\u65e5\u671f\u3001\u5404\u79d1\u65f6\u95f4\u548c\u5408\u683c\u7ebf\u3002\n\n\u9898\u76ee\u6765\u81ea okjlpt.com \u7684\u514d\u8d39\u8bd5\u9898\u3002\u542c\u529b\u9898\u548c\u5e26\u56fe\u7247\u7684\u9898\u4e0d\u5728\u804a\u5929\u91cc\u51fa\uff1b\u60f3\u505a\u6574\u5957\uff08\u542b\u542c\u529b\u3001\u4f30\u5206\uff09\uff0c\u8bf7\u5230 okjlpt.com\u3002\u4e0d\u9700\u8981\u8d26\u53f7\u3002\n\nOK JLPT \u662f\u72ec\u7acb\u7684\u5b66\u4e60\u5de5\u5177\uff0c\u4e0e\u4e3e\u529e JLPT \u7684\u65e5\u672c\u56fd\u9645\u4ea4\u6d41\u57fa\u91d1\u4f1a\u3001\u65e5\u672c\u56fd\u9645\u6559\u80b2\u652f\u63f4\u534f\u4f1a\u6ca1\u6709\u5173\u8054\u3002"
          },
          "zh-TW": {
            "subtitle": "\u5728\u5c0d\u8a71\u88e1\u7df4\u7fd2\u65e5\u6aa2\u8a66\u984c",
            "description": "\u76f4\u63a5\u5728\u5c0d\u8a71\u88e1\u6e96\u5099\u65e5\u672c\u8a9e\u80fd\u529b\u8a66\u9a57\uff08JLPT\uff09\u3002\u8aaa\u51fa\u7d1a\u6578\uff08N1\u2013N5\uff09\u548c\u984c\u578b\uff08\u6587\u5b57\u8a9e\u5f59\u3001\u6587\u6cd5\u3001\u8b80\u89e3\uff09\uff0cOK JLPT \u5c31\u6703\u51fa\u4e00\u984c\uff0c\u4ee5\u56db\u500b\u9078\u9805\u7684\u5361\u7247\u986f\u793a\u3002\u9ede\u9078\u9805\u99ac\u4e0a\u77e5\u9053\u5c0d\u932f\u548c\u539f\u56e0\uff0c\u89e3\u6790\u6709\u7e41\u9ad4\u4e2d\u6587\u3001\u7c21\u9ad4\u4e2d\u6587\u548c\u82f1\u6587\u3002\u9ede\u300c\u4e0b\u4e00\u984c\u300d\u7e7c\u7e8c\u7df4\u7fd2\u3002\u4e5f\u53ef\u4ee5\u554f\u8003\u8a66\u65e5\u671f\u3001\u5404\u79d1\u6642\u9593\u548c\u53ca\u683c\u5206\u6578\u3002\n\n\u984c\u76ee\u4f86\u81ea okjlpt.com \u7684\u514d\u8cbb\u8a66\u984c\u3002\u807d\u89e3\u984c\u548c\u6709\u5716\u7247\u7684\u984c\u4e0d\u5728\u5c0d\u8a71\u88e1\u51fa\uff1b\u60f3\u505a\u6574\u56de\uff08\u542b\u807d\u89e3\u3001\u4f30\u5206\uff09\uff0c\u8acb\u5230 okjlpt.com\u3002\u4e0d\u9700\u8981\u5e33\u865f\u3002\n\nOK JLPT \u662f\u7368\u7acb\u7684\u5b78\u7fd2\u5de5\u5177\uff0c\u8207\u8209\u8fa6 JLPT \u7684\u65e5\u672c\u570b\u969b\u4ea4\u6d41\u57fa\u91d1\u6703\u3001\u65e5\u672c\u570b\u969b\u6559\u80b2\u652f\u63f4\u5354\u6703\u6c92\u6709\u95dc\u806f\u3002"
          },
          "ja-JP": {
            "subtitle": "JLPT\u306e\u554f\u984c\u3092\u30c1\u30e3\u30c3\u30c8\u3067\u7df4\u7fd2",
            "description": "\u65e5\u672c\u8a9e\u80fd\u529b\u8a66\u9a13\uff08JLPT\uff09\u306e\u5bfe\u7b56\u3092\u30c1\u30e3\u30c3\u30c8\u306e\u4e2d\u3067\u3002\u30ec\u30d9\u30eb\uff08N1\u301cN5\uff09\u3068\u5206\u91ce\uff08\u6587\u5b57\u30fb\u8a9e\u5f59\u3001\u6587\u6cd5\u3001\u8aad\u89e3\uff09\u3092\u4f1d\u3048\u308b\u3068\u3001OK JLPT \u304c4\u629e\u306e\u554f\u984c\u3092\u30ab\u30fc\u30c9\u3067\u8868\u793a\u3057\u307e\u3059\u3002\u9078\u629e\u80a2\u3092\u30bf\u30c3\u30d7\u3059\u308b\u3068\u6b63\u89e3\u304b\u3069\u3046\u304b\u3068\u89e3\u8aac\u304c\u8868\u793a\u3055\u308c\u307e\u3059\uff08\u89e3\u8aac\u306f\u82f1\u8a9e\u30fb\u4e2d\u56fd\u8a9e\uff09\u3002\u300c\u6b21\u306e\u554f\u984c\u300d\u3067\u7d9a\u3051\u3066\u7df4\u7fd2\u3067\u304d\u307e\u3059\u3002\u8a66\u9a13\u65e5\u3084\u5404\u79d1\u76ee\u306e\u6642\u9593\u3001\u5408\u683c\u70b9\u3082\u8cea\u554f\u3067\u304d\u307e\u3059\u3002\n\n\u554f\u984c\u306f okjlpt.com \u306e\u7121\u6599\u306e\u8a66\u9a13\u554f\u984c\u304b\u3089\u51fa\u984c\u3057\u307e\u3059\u3002\u8074\u89e3\u3084\u56f3\u306e\u3042\u308b\u554f\u984c\u306f\u30c1\u30e3\u30c3\u30c8\u3067\u306f\u51fa\u984c\u3057\u307e\u305b\u3093\u3002\u8074\u89e3\u3092\u542b\u3080\u5168\u554f\u306e\u6f14\u7fd2\u3068\u5f97\u70b9\u306e\u76ee\u5b89\u306f okjlpt.com \u3067\u3002\u30a2\u30ab\u30a6\u30f3\u30c8\u306f\u4e0d\u8981\u3067\u3059\u3002\n\nOK JLPT \u306f\u72ec\u7acb\u3057\u305f\u5b66\u7fd2\u30c4\u30fc\u30eb\u3067\u3001JLPT \u3092\u5b9f\u65bd\u3059\u308b\u56fd\u969b\u4ea4\u6d41\u57fa\u91d1\u304a\u3088\u3073\u65e5\u672c\u56fd\u969b\u6559\u80b2\u652f\u63f4\u5354\u4f1a\u3068\u306f\u95a2\u4fc2\u3042\u308a\u307e\u305b\u3093\u3002"
          }
        }
      },
      "apps": "./.app.json"
    }
  }
}

SHA-256: 58179d1f0ec725bc4ca725c45397c14b0339bb93ba817354b71e6a14223d7661