ジャーナル記事
NovelAIユーザースクリプト機能のご紹介
2021年、NovelAIにスクリプト機能を追加する計画を発表しました。さまざまな理由で計画は一時中断していましたが、ついにスクリプト機能の実装時期が到来しました。NovelAIをカスタマイズする新しい方法をご紹介できることを嬉しく思います。
スクリプト機能は強力なカスタマイズオプションを提供しますが、上級者向けの機能です。スクリプトの作成にはプログラミング知識が必要であり、スクリプトのインストールや設定も、通常のNovelAI機能より複雑になる場合があります。
スクリプトとは?ユーザースクリプトとは何ですか?
スクリプトとは、あなたや他のユーザーが作成したコードの断片で、個別のストーリーに追加したり、アカウント全体に適用したりして、NovelAIに新しい機能を追加できます。小さなユーティリティツールや整理ツールから、ロアブックの動作を大幅に変更するもの、さらには小規模なテキストベースのゲームまで、さまざまな用途に使えます。
スクリプトを使うにはプログラミングが必要ですか?
他のユーザーが作成したスクリプトを使用する場合、プログラミングの知識は必要ありません。ただし、独自のスクリプトを作成したい場合はプログラミングが必要です。スクリプトはTypeScript(JavaScriptのスーパーセット)で記述します。
スクリプトは安全に使えますか?
スクリプトが引き起こす可能性のある損害を最小限に抑えるよう最善を尽くしていますが、スクリプトを強力で有用なものにするためには、ある程度のリスクが常に伴います。
スクリプトは第三者に情報を漏洩したり、アカウント詳細を変更したりすることはできません。ただし、権限が与えられた場合、実行されるストーリーの内容を自由に変更できます。つまり、意図的であれ過失であれ、ストーリーの内容を削除、変更、破損させる可能性があります。信頼できるソースや人物からのスクリプトのみをダウンロードして追加してください。
スクリプトが原因で発生した問題のデバッグや、スクリプトによるデータ損失の復旧について、当社サポートは対応できません。新しいスクリプトを追加する前に、ストーリーのバックアップ(または全ストーリーを一度に)をダウンロードすることを強くお勧めします。
スクリプトはどこで見つけられますか?
NovelAI内にスクリプトを他のユーザーと共有する専用の場所はありません。ただし、当社のDiscordでスクリプトが共有されている場合があります。
スクリプトを追加/作成するにはどうすればよいですか?
スクリプトは「ユーザースクリプト」設定画面から追加できます。設定画面には以下の方法でアクセスできます:
- 左サイドバーのガチョウメニュー
- 右サイドバーの詳細タブ(ストーリーが選択されている場合)
- キーボードショートカット:Alt+X

スクリプトを追加または作成する際、以下の2つのタイプから選択できます:
- アカウントスクリプト:アカウントに保存され、すべてのストーリーで実行されます
- ストーリースクリプト:ストーリーファイルに保存され、そのストーリーでのみ実行されます
助けて!スクリプトのせいでウェブサイトが使えなくなりました!
誤ってアカウントまたはストーリーにユーザースクリプトを追加してウェブサイトが使用できなくなった場合、http://novelai.net/stories?noscript=trueにアクセスすることで、スクリプトを読み込まないように強制できます。
スクリプトの制限事項
スクリプトができることには制限があります。実用上の理由や、セキュリティ上の理由によるものです。主な制限事項は以下のとおりです:
- 現在、APIの生成関連部分のほとんどは、GLM 4.6で行われた生成のみをサポートしています
- スクリプトは、Editor V2を使用するストーリーでのみ機能します。Editor V2はかなり前からデフォルトになっており、ほとんどまたはすべてのストーリーで使用されていると思われます。Editor V1のストーリーでスクリプトを使用するには、まずEditor V2に変換する必要があります
- スクリプトはネットワークリクエストを行えません。スクリプトAPIを使用して、特定のNovelAI APIエンドポイントとのみやり取りできます
- スクリプトはDOMに直接アクセスまたは変更できません。APIを通じてUI要素を作成することでページを変更できますが、DOMに配置する要素を直接作成することはできません
ドキュメントと例
当社のドキュメントページは、スクリプトに関する情報で更新されました。完全なAPIリファレンス、スクリプトAPI内の特定のトピックに関する追加ページ、およびいくつかのスクリプト例が含まれています。ドキュメントは、TypeScript/JavaScriptでのプログラミングの基礎に精通していることを前提としています。
必要な情報は見つかりますか?
当社のDiscordにお越しください。チームメンバーまたは他のコミュニティメンバーがお手伝いできるかもしれません!