便利で快適な入力フォーム開発に特化したJavaScriptライブラリ「InputManJS(インプットマンJS)」の最新バージョン「V6.1J」では、「AI文章作成アシスタントコンポーネント(GcTextAssistant)」に、入力した文章へビジュアルテーマを適用する機能を追加しました。

このテーマ機能は、メシウスが提供する幼稚園・認定こども園向けの園務効率化システム「LeySerKids」で独自に実装された機能を参考に開発されたものです。実際の業務アプリケーションにおけるInputManJSのAI文章作成アシスタントの活用については、以下の事例記事で詳しくご紹介しています。
本記事では、InputManJSのAI文章作成アシスタントに用意されている組み込みテーマの使い方と、独自のカスタムテーマの実装方法をご紹介します。

AI文章作成アシスタントを組み込んだプロジェクトを準備する
この記事の前半では、以前の記事で作成したプロジェクトを使って文章にテーマを設定する方法を紹介します。ここでは概要だけを記載しますので、プロジェクトの構成や作成手順などの詳細については以下をご参照ください。
ベースとなるAI文章作成アシスタントコンポーネントを組み込んだアプリは以下からもダウンロード可能です。
AI文章作成アシスタントを使って文章のテーマを変更する
テーマ機能はAI文章作成アシスタントの組み込み機能として利用できます。まずは、以下のコマンドを実行してViteの開発サーバーを起動します。
npm run devブラウザで「http://localhost:5173/」にアクセスすると、AI文章作成アシスタントが利用可能になったリッチテキストエディタが表示されるので、以下の手順を実行して、テーマを変更するためのコンテキストメニューを表示します。
※ テーマ機能は「V6.1J」以降のバージョンで利用可能です。
- リッチテキストエディタに任意の文章を入力します。
- Ctrl+Aキーを押下して文章全体を選択します。
- 表示されたメニューから「テーマを変更」を選択します。
- 下記のテーマのメニューが表示されます。

InputManJSのAI文章作成アシスタントに組み込まれているテーマは、次のとおりです。
※ これらのテーマで生成されるスタイルは実行するたびに変化します。常に同じ結果にはなりませんので、ご留意ください。
| テーマ | GC.InputMan.AI.GcTextAssistantBehaviorの値 |
|---|---|
| シンプルテーマ | ChangeToBasicThemeStyle |
| ビジネステーマ | ChangeToBusinessThemeStyle |
| 技術テーマ | ChangeToTechnologicalThemeStyle |
| アートテーマ | ChangeToArtisticThemeStyle |
シンプルテーマ
このテーマは、装飾を抑えた、シンプルで読みやすいスタイルです。さまざまな用途に使いやすい、すっきりとしたデザインを生成します。
メニューから「シンプルテーマ」を選択すると、「シンプルテーマを適用する」ダイアログ内にテーマが適用された文章が生成されます。生成されたスタイルが期待したものと異なるときは、ダイアログ内の[再生成]ボタンを押下することで、別の提案を生成できます。

[適用]ボタンを押下すると、生成された内容がリッチテキストエディタに設定されます。

ビジネステーマ
このテーマは、落ち着きと専門性を感じさせるビジネス向けのスタイルです。資料や案内文など、さまざまなビジネスシーンに適したデザインを生成します。
メニューから「ビジネステーマ」を選択してテーマに沿ったスタイルを生成した後、[適用]ボタンを押下すると次のようなスタイルになります。

技術テーマ
ハイテクでモダンな印象のスタイルです。洗練された雰囲気や近未来的なイメージのデザインを生成します。
「技術テーマ」を選択すると、次のように技術テーマに沿ったスタイルが生成されます。

アートテーマ
装飾を活かした芸術的で優雅なスタイルです。文芸的な雰囲気を持つデザインを生成します。
「アートテーマ」を選択した場合の例を以下に示します。

AI文章作成アシスタントに独自のテーマを追加する
ここまでは組み込みのテーマを紹介しましたが、AI文章作成アシスタントでは、アプリケーションの用途に合わせた独自のテーマを追加することもできます。ここからは、カスタムテーマを追加して実装する方法をご紹介します。
カスタムテーマの実装
カスタムテーマを利用するために、次の2つを設定します。
- カスタムのAI動作を登録する
- GcRichTextEditorクラスのAITextAssistantConfigプロパティにメニュー項目を追加する
それでは、これらを実装する方法について見ていきましょう。
AI動作の登録
ここでは、GC.InputMan.AI.GcTextAssistantクラスのregisterBehaviorメソッドを使って、カスタムテーマを実現するchangetocustomthemestyleという名前のAI動作を登録します。
AI動作の登録についてはヘルプとデモで詳しく解説していますので、ご一読いただければと思います。
カスタムのAI動作を登録するために「client/src/main.js」に以下のコードを追加します。
・・・(中略)・・・
// カスタムテーマのAI動作の登録
GC.InputMan.AI.GcTextAssistant.registerBehavior("changetocustomthemestyle", {
prompt: `あなたはビジュアルデザインとレイアウトに精通したプロフェッショナルで、優れた美的センスをお持ちです。
ただし、文面の言い換えや敬語表現の変更は行わず、入力された内容をそのまま使用してください。
内容を理解した上で、以下の要件に従って色・フォント・レイアウトなどを適用し、文書をデザインしてください。
# 目的
- 提供されたテキストそのまま使用し、内容を追加・変更・削除しないでください。
- インラインスタイルを使用して、文章を見やすく整えてください。
- 情報の流れと整理を意識し、重要な情報は視覚的にわかりやすく強調してください。
# レイアウトとスタイルの制約
- すべてのスタイルはインラインスタイルで指定してください。
- 新規画像・外部リソースの追加は禁止です。
- アニメーション(GIF・CSSを含む)は禁止です。
- ルートコンテナは1つにし、divを複数層にネストしないでください。
- すべての要素の幅と高さは100%に設定してください。
- fixed width・min-width・white-space:nowrapなど、コンテナが拡大する原因となる記法は使用しないでください。
- 画像・表・装飾ブロックなどはすべてコンテナの幅に収め、横スクロールが発生しないようにしてください。
# 補足
- 短い情報の場合は、シンプルにまとめ、細かく分割したり過度に装飾したりしないでください。柔らかい背景や淡い点線枠などで重点を際立たせ、読みやすく整えてください。
- 長い文章の場合は、内容のまとまりに応じて自然な段落に分割し、読みやすさとデザインの質を高めてください。ただし、文の途中で区切らないでください。
- 画像が中心の場合は、1行に1枚ずつ配置してください。背景色や装飾枠を加えてもかまいませんが、リンクを壊さず、説明文は追加しないでください。
# スタイル
誰にでも安心感を与えるほのぼのとした可愛いスタイルです。
# 特徴:
柔らかく、安心感のある優しい雰囲気のスタイルです。
# デザイン要素:
- 色:やわらかい色調(ベビーピンク・スカイブルー・ミントグリーン・クリームイエロー)を基調とします。
- フォント:丸ゴシック体など、角の取れた柔らかい書体のフォントを使用してください。
- 背景:彩度を抑えたグラデーション、薄い半透明のベース、淡い水彩調の質感のいずれかを背景に使用してください。
- イラスト:木や葉、木の実、自然模様などを水彩やクレヨンや水彩で描いたような手描き風のイラストで使用してください。
- 装飾:ふわふわした雲形の囲み枠、小さな星やハートなどを組み合わせてください。
# 適した用途:
案内状・手帳・ノート
# 出力形式
- エディタにそのまま貼り付けられるHTMLを出力してください。
- Markdown・コードコメント・styleタグ・scriptタグ・説明文は含めないでください。
# 以下が対象テキストです:`,
});
// リッチテキストエディタの作成
・・・(中略)・・・AI文章作成アシスタントの設定
続いてGcRichTextEditorクラスのコンストラクタでAITextAssistantConfigプロパティを設定してメニュー項目を追加します。これによりツールバーやメニューそして選択時のメニューから独自のAI動作を起動できるようになります。
なお、AITextAssistantConfigプロパティを設定する際には、追加する独自のAI動作だけでなく、表示したい組み込みのAI動作についても記述しておく必要があります。組み込み機能の種類についてはヘルプをご参照ください。
各メニュー項目にはIGcTextAssistantCommonItemインターフェイスのプロパティを設定することが可能です。組み込みのAI動作についてはnameプロパティだけを設定しますが、独自のAI動作については、必須のnameプロパティに加えて、オプションのselectionプロパティとtextプロパティを設定します。
| プロパティ | 説明 |
|---|---|
| name | 対応するAI動作名 |
| selection | メニュー項目をテキスト選択時のみ利用可能にするかどうかを指定 |
| text | メニュー項目に表示するテキスト |
selectionプロパティをtrueに設定することで、リッチテキストエディタ上の文字列が選択されていないときには独自AI動作のメニュー項目は不活性化され、文字列が選択されたときにのみ利用できるようになります。
「client/src/main.js」でメニュー項目を追加する部分は、次のとおりです。
・・・(中略)・・・
// リッチテキストエディタの作成
const gcRichTextEditor = new GC.InputMan.GcRichTextEditor(
document.getElementById("gcRichTextEditor1"),
{
plugins: [InputMan.GcRichTextEditorPluginItem.All],
AITextAssistantConfig: {
behaviorConfig: {
dialogConfig: { width: 800, height: 500, }
},
menuItems: [
{ "name": GC.InputMan.AI.GcTextAssistantBehavior.GenerateText },
{ "name": GC.InputMan.AI.GcTextAssistantBehavior.ReviseText },
{ "name": GC.InputMan.AI.GcTextAssistantBehavior.SummarizeContent },
{ "name": GC.InputMan.AI.GcTextAssistantBehavior.ExpandContent },
{ "name": GC.InputMan.AI.GcTextAssistantBehavior.SimplifyContent },
{
"text": "口調を変更",
"subAIBehaviorItems": [
{ "name": GC.InputMan.AI.GcTextAssistantBehavior.ChangeToProfessionalTone },
{ "name": GC.InputMan.AI.GcTextAssistantBehavior.ChangeToCasualTone }
]
},
{
"text": "スタイルを変更",
"subAIBehaviorItems": [
{ "name": GC.InputMan.AI.GcTextAssistantBehavior.ChangeToBusinessStyle },
{ "name": GC.InputMan.AI.GcTextAssistantBehavior.ChangeToTechnicalStyle }
]
},
{
"text": "翻訳",
"subAIBehaviorItems": [
{ "name": GC.InputMan.AI.GcTextAssistantBehavior.TranslateToJapanese },
{ "name": GC.InputMan.AI.GcTextAssistantBehavior.TranslateToEnglish }
]
},
{
"text": "テーマを変更",
"subAIBehaviorItems": [
{ "name": GC.InputMan.AI.GcTextAssistantBehavior.ChangeToBasicThemeStyle },
{ "name": GC.InputMan.AI.GcTextAssistantBehavior.ChangeToBusinessThemeStyle },
{ "name": GC.InputMan.AI.GcTextAssistantBehavior.ChangeToTechnologicalThemeStyle },
{ "name": GC.InputMan.AI.GcTextAssistantBehavior.ChangeToArtisticThemeStyle },
// テーマ変更メニューにカスタムテーマを追加
{ "name": "changetocustomthemestyle", "text": "カスタムテーマ", "selection": true }
]
}]
},
・・・(中略)・・・
}
);動作確認
それでは、「npm run dev」コマンドを実行してから、ブラウザで「http://localhost:5173/」にアクセスして動作を確認しましょう。
リッチテキストエディタに任意の文章を入力してCtrl+Aキーを押下すると、文章全体が選択されて選択時のメニューが表示されるので、表示されたメニューから「テーマを変更」の「カスタムテーマ」を選択します。
今回作成したサンプルは以下よりダウンロード可能です。
さいごに
今回は、InputManJSのリッチテキストエディタで利用できる「AI文章作成アシスタント」のテーマ機能について、組み込みテーマを使って文章のビジュアルスタイルを変更する方法と、用途に合わせた独自のテーマを追加する方法をご紹介しました。
テーマ機能を活用することで、文章の作成や推敲だけでなく、用途やシーンに合わせた見た目の調整までAIで支援できます。また、独自のAI動作を登録することで、業務やアプリケーションに合わせたテーマを追加することも可能です。
製品サイトでは、InputManJSの機能を手軽に体験できるデモアプリケーションやトライアル版も公開しておりますので、こちらもご確認ください。
また、ご導入前の製品に関するご相談、ご導入後の各種サービスに関するご質問など、お気軽にお問合せください。
