Mistral Chat Prompt Injector

Listens for postMessage events and injects them into chat.mistral.ai's input field

目前為 2025-05-20 提交的版本,檢視 最新版本

// ==UserScript==
// @name         Mistral Chat Prompt Injector
// @description  Listens for postMessage events and injects them into chat.mistral.ai's input field
// @match        https://chat.mistral.ai/*
// @run-at       document-idle
// @version 0.0.1.20250520203249
// @namespace https://greasyfork.org/users/1435046
// ==/UserScript==

(function () {
  window.addEventListener('message', e => {
    if (e.data?.type !== 'prompt' || !e.data.content) return;

    const ta = document.querySelector('textarea[name="message.text"]');
    if (!ta) return;

    const setValue = Object.getOwnPropertyDescriptor(HTMLTextAreaElement.prototype, 'value').set;
    setValue.call(ta, e.data.content);
    ta.dispatchEvent(new Event('input', { bubbles: true }));
    ta.focus();

    ta.dispatchEvent(new KeyboardEvent('keydown', {
      key: 'Enter',
      code: 'Enter',
      bubbles: true
    }));
  });
})();