LiPu-jpg/Openwrite
AI小说创作引擎 - 对话式引导创建项目、动态+静态文件防遗忘、多维风格提取与合成、通用技法质量审核、热门题材查看分析、多层渐进式压缩长文本 支持:四级大纲(总纲→篇→节→章)、三层风格合成、伏笔DAG管理、情节弧线-节拍模板驱动写作、去AI味技法
OpenWrite – 長編小説を書くためのAI補助ワークステーション
何であるか – OpenWrite は、2つの専門的なAIエージェントを用いて小説を共同執筆できるローカル実行アプリケーションです:
- Goethe – 想像力、登場人物、世界観構築、継続的なアウトラインの整理を支援します。
- Dante – 確認された資産をもとに適切なコンテキストを構成し、章を起草し、自動レビューを実行し、物語の「真実」ファイルを更新して、結果をディスクに書き込みます。
すべては単一のバージョン管理されたプロジェクトフォルダと、ウェブベースの Studio UI(または同等のCLI)内に収容されています。このシステムは、数十~数百章にわたる物語において、著者の意図、物語の事実、登場人物の状態を一貫して保つことを目的としています。
コア機能
| 機能 | OpenWriteの対応方法 |
|---|---|
| フルスタックスタジオ | 小説の作成、モデルの設定、アウトラインの編集、資産の管理、執筆、レビュー、検索、Markdown/TXT/EPUBへのエクスポートを可能にするウェブUI。 |
| 二重エージェント | Goethe = 計画と資産作成;Dante = コンテキストの構成、起草、事実抽出、状態の確定。エージェントは著者が明示的に差分を承認した後のみ書き込みを行います。 |
| 単一の真実のソース | src/ には正規のアウトライン、著者の意図、登場人物および世界のファイルが格納されます。実行時データ(原稿、メモリ、レビュー、キャッシュ)は data/ 下にあります。 |
| 長文コンテキスト処理 | 各章について、最近の章、継続的なアウトライン、関連する登場人物/状態のスニペット、および最大4つの以前の記述を再検索した正規パケットをシステムが構築します。 |
| 状態追跡 | 行単位のインライン注釈(例://**Shen Jin[傷勢]:左腕軽傷 -> 已回復**)で登場人物の位置、怪我、関係などを記録。衝突は自動検出されます。 |
| トランザクション書き込み | ノベルごとのロックにより、書き込み、状態更新、ファイル書き込みがすべて成功するか、失敗時にスナップショットにロールバックされます。 |
| 構造化されたレビュー・ループ | 37次元レビューで著者の意図、スタイル、一貫性、事実の整合性などをチェック。問題は重大度とともに表示され、ソーステキストにリンクされ、差分ベースの修正提案を生成できます。 |
| プライベート参照ライブラリ & RAG | 古いドラフトや外部作品をインポートし、ローカルの FastEmbed ベクトルインデックス(または OpenAI互換埋め込み)を実行。必要に応じて LightRAG のグラフベース検索を有効化し、エンティティレベルの推論を可能にします。 |
| 拡張可能なスキル | 標準の SKILL.md ファイル(または実行時 manifest.yaml スキル)は @skill-id でターン中に呼び出せます。スキルはサンドボックス化され、著者の承認ステップをスキップすることはありません。 |
| モデル非依存 | OpenAI、Anthropic、または任意の OpenAI互換エンドポイントをサポート。モデルパラメータ(モデル名、温度、コンテキスト窓など)は Studio の Model Settings パネルで設定されます。 |
クイックスタート
- クローンして起動
macOS/Windowsでは、提供されたgit clone https://github.com/LiPu-jpg/Openwrite.git cd Openwrite python3.10 -m venv .venv source .venv/bin/activate # Windows: .venv\Scripts\activate python -m pip install -e . openwrite studio # ローカルのウェブUIを開く起動 OpenWrite.command/起動 OpenWrite.batをダブルクリックすることで、隔離されたランタイムを作成し、依存関係をインストールしてUIを開くこともできます。 - モデルの設定 – Studioのトップバーの Model Settings でOpenAI、Anthropic、またはカスタムエンドポイントを選択し、APIキーを入力して接続をテストします。
- 小説の作成 – 最初の起動ウィザードでタイトルとフォルダ(デフォルトは
~/OpenWriteNovels/<Title>)を入力します。このフォルダにはsrc/とdata/のサブツリーが含まれます。 - Goetheで計画 – AI Collaboration パネルを開き、物語のアイデア、登場人物、世界観のルールについて議論します。Goetheがドラフトを提案し、差分を承認して
src/に資産を書き込みます。 - Danteで執筆 – アウトラインビューから章を選択し、ワードカウント目標を設定して Write をクリックします。Danteは正規パケットを構成し、LLMを呼び出し、章を書き、事実の変更を抽出し、状態ファイルを更新します。
- レビューと修正 – Review パネルを使って自動生成された問題を確認し、重大度でフィルタリングし、提案された差分を適用します。
- エクスポート – 原稿が完成したら、Project Migration に移動してMarkdown、プレーンテキスト、またはEPUBにエクスポートします。
アーキテクチャの概要
Studio ──┐
Goethe ──┤ → NovelApplicationService (正規パケット、書き込み/レビュー/修正、状態管理)
Dante ──┼─
CLI ──┘
すべてのインターフェースは同じ アクション表面 を共有しているため、CLIとUIは同一の動作をします。サービスは確認済みのソースファイルを src/ に、すべての一時データを data/ に格納します。
ライセンスとコミュニティ
- ライセンス – コアコードは Apache-2.0;サードパーティコンポーネントはそれぞれの元のライセンスを保持(FastEmbed、LightRAG、LiteLLM、Vditorなど)。
- 貢献 –
python -m pip install -e ".[dev]"を実行し、pytestでテストスイートを確認してください。問題や機能要望はGitHubの Issuesページで対応されます。 - 謝辞 – LightRAG(グラフ+ベクトル検索)、FastEmbed(ローカル埋め込み)、LiteLLM(モデルゲートウェイ)、Vditor(Markdownエディタ)、および oh-story-claudecode スキルセットを基盤として構築されています。
対象読者
- 登場人物の弧、世界観のルール、物語の伏線を一貫して保つ必要がある、複数章からなる小説を執筆する著者。
- AIの支援を望むが、制御を放棄したくない著者(正規の物語ファイルへのすべての変更は明示的に承認が必要)。
- クラウドストレージを必須としないローカル優先のワークフローを好むチームだが、クラウド埋め込みやLLMエンドポイントをオプションで利用したい場合。
結論 – OpenWriteは、長文コンテキストの課題に特化した、完全機能を備えたローカルホスト型AIエージェントプラットフォームです。計画、起草、自動レビュー、ベクトル/RAG検索、バージョン安全なUIを統合し、すべての決定的な編集において著者を常に巻き込むことを実現しています。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト