長編執筆支援の中心はコンテキスト管理です。一回だけ文章を生成することは難しくありませんが、章、事実、版、レビューコメント、参考資料を追跡できる形で保つことが難点です。
プロジェクト概要
main.py が AstrBot と接続し、novel_writer/entry/commands がコマンドを分配します。services はプロジェクト操作、続きの生成、改稿、レビュー、入出力を担当し、storage は草稿と版を保存します。rag と extraction は参照資料と事実抽出を扱います。
用途は、長編作品をプロジェクト、巻、章、事実、版に分けて扱うことです。連載、設定管理、章ごとのレビュー、草稿の版管理、共同編集前の資料整理に向いています。
ローカル優先設計
プロジェクト資料はローカルに保存します。モデルは生成、抽出、提案に参加しますが、状態はプラグイン側が管理します。生成や修正のたびに章の版を作り、事実抽出では人物、場所、出来事、制約を記録します。
生成前には設定、要約、事実記録、検索された根拠を組み立てます。生成後は本文を版として保存し、レビューや矛盾報告、記憶パッチを作れるようにします。