長編執筆支援で難しいのは、一つの本文を生成することではありません。人物、場所、時間線、章の版、作者の意図を長いプロジェクトの中で追跡できる状態に保つことです。最近の整理では、プラグインを小さな執筆作業台に近づけました。メッセージ入口は残しつつ、WebUI が確認、編集、点検の役割をより多く担います。
プロジェクト概要
この執筆ツールは、個人的な利用場面を中心に保守しています。AstrBot のメッセージ入口、プロジェクト保存、章の版、事実抽出、RAG 検索、ワールドブックカード、独立 WebUI をローカル優先の環境にまとめています。目的は、継続的な執筆、旧稿整理、世界観維持、人間による確認です。
構造としては、main.py がプラグイン入口を担当します。services がプロジェクト、章、WebUI、取り込み、記憶関連の処理をまとめます。storage は SQLite データとプロジェクトファイルを保持します。rag と抽出モジュールは参考資料、事実記録、検索用チャンクを扱います。最近のワールドブック作業台は、主に StoryMemoryCardService と WebUI のプロジェクト payload builder を中心にしています。
ワールドブックカード
ワールドブックは一つの設定文書ではなく、章、キーワード、執筆タスクによって有効化されるカード群です。カード種別には、作者の長期意図、現在の焦点、世界ルール、資源台帳、伏線記録があります。生成前に、サービスは章番号とリクエストに応じて有効カードを確認し、必要な内容を文脈へ組み込みます。
このモデルは、長編創作の中でゆっくり変化する情報に向いています。人物の短期状態は章の事実から取得し、世界ルールや伏線はカード層で保持します。カードは記憶パッチから自動生成でき、手動編集もできます。手動ロックされたカードは自動更新で上書きされません。
WebUI と章編集
WebUI のプロジェクトページは、概要、原稿エディタ、知識と記憶、章タイムライン、文体プロファイル、取り込み状態に分かれています。章エディタはブラウザ草稿キャッシュ、差分プレビュー、手動版保存に対応しています。生成された本文は、そのまま最終稿になるのではなく、人間の確認を挟めるようになります。
プロジェクト payload builder も部分的な失敗を扱います。各画面は必要なデータだけを読み、ある区画で失敗しても空データを返してページを使える状態に保ちます。執筆ツールでは、ページ全体を止めるよりもエディタを使える状態で残すことが重要です。
旧稿と記憶回復
旧稿取り込みと記憶回復も今回の整理対象でした。取り込まれた章、事実、要約は検索材料になります。事実ストアが空でも、キャッシュされた記憶パッチが残っている場合、サービスはその記録を構造化事実として再投入できます。
有用な学びは、本文生成と物語状態の維持を分けて扱うことです。章は編集可能な草稿であり、ワールドブック、事実、時間線、文体プロファイルは次の執筆を支える状態層です。この状態層が明確になるほど、長いプロジェクトを続けやすくなります。