最終更新日 2025-07-09

HmPerplexityWeb を外部マクロから呼び出す

概要

質問内容について、外部マクロから呼び出すことで、定型的にAIを利用するマクロを組むことが出来ます。

以下のマクロファイルを作成し、HmPerplexityWeb.mac と同じフォルダに入れてください。

test1.mac

jsmode @"WebView2\HmPerplexityWeb";
js {

function onRequestQuestionText() {
    return "1+1は?";
}

hidemaru.postExecMacroFile( currentmacrodirectory() + "\\HmPerplexityWeb.mac" );

} // js

jsmode は "WebView2\HmPerplexityWeb"

HmPerplexityWebと同じ実行空間で走らせます。

onRequestQuestionText() という関数を定義し、質問内容を返す

onRequestQuestionText() を定義して、最終的に質問内容を返すと、
そのままPerplexityへの問い合わせ内容となります。

HmPerplexityWebへと処理を移す

currentmacrodirectory() + "\\HmPerplexityWeb.mac"

の「フルパス指定の部分を適切に修正」出来るなら、
「test1.mac」と「HmPerplexityWeb.mac」を同じフォルダに配置する必要はありません

「質問内容」を「マクロの引数」として渡せるように出来ますか?

将来の互換性のため、HmPerplexityWeb.mac 本体には、そのような機能を持たせていません。

以下のような「間をとりもつマクロ」を作成し、HmPerplexityWeb.mac と同じフォルダに配置すると良いでしょう。

HmPerplexityWebArg.macの作成

HmPerplexityWebArg.mac (HmPerplexityWeb.macと同じフォルダに配置)
jsmode @"WebView2\HmPerplexityWeb";
js {

var _myQuestionTextCache = getarg(0);

function onRequestQuestionText() {
    return _myQuestionTextCache;
}

hidemaru.postExecMacroFile( currentmacrodirectory() + "\\HmPerplexityWeb.mac" );

} // js

外部マクロからは、この「HmPerplexityWebArg.mac」を呼び出すようにする

test4.mac
execmacro currentmacrodirectory + "\\HmPerplexityWebArg.mac", "1+1は?";