Skip to content

Commit 34bd739

Browse files
ItzAronaclaude
andcommitted
doc: add Japanese README and tidy load_config exception
- Add README_ja.md mirroring the English README - Link the new translation from README.md and README_zh-CN.md - Replace bare except in load_config with explicit Exception Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent b541a7e commit 34bd739

4 files changed

Lines changed: 253 additions & 3 deletions

File tree

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# 📖 Automatic Novel Generation Tool
22

3-
[中文文档](./README_zh-CN.md) | English
3+
[中文文档](./README_zh-CN.md) | English | [日本語](./README_ja.md)
44

55
> ~~Currently I don't have much energy to maintain this project. The project brings no revenue, and with graduation approaching I have many other priorities. If time permits in the future I may consider a refactor using newer technologies. — 2025/09/24~~
66
>

README_ja.md

Lines changed: 248 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,248 @@
1+
# 📖 自動小説生成ツール
2+
3+
[中文文档](./README_zh-CN.md) | [English](./README.md) | 日本語
4+
5+
> ~~現在このプロジェクトを維持する余裕があまりありません。プロジェクト自体に収益はなく、卒業も近づいているため、他にも忙しいことがたくさんあります。後で時間があれば、より新しい技術を使ってリファクタリングすることを検討するかもしれません。——2025/09/24~~
6+
>
7+
>- ~~**(2026/03/09):** 本プロジェクトは近日中にリファクタリングを開始し、より先進的な技術実装と新しい創造的なコンセプトを採用する予定です。~~
8+
>
9+
> **更新 (2026/03/25):** リファクタリング版は初期開発が完了しました(メインフレームワークのみで、機能はまだ利用できません)。1週間以内に dev ブランチへアップロードされ、以降の開発もブランチで同期されます。
10+
11+
<div align="center">
12+
13+
**コア機能**
14+
15+
| モジュール | 主な機能 |
16+
|------------------------|------------------------------------------------|
17+
| 🎨 小説設定ワークショップ | 世界観構築 / キャラクター設計 / プロット設計図 |
18+
| 📖 インテリジェント章生成 | 多段階生成によりプロットの一貫性を確保 |
19+
| 🧠 状態追跡システム | キャラクター成長軌跡 / 伏線管理 |
20+
| 🔍 セマンティック検索 | ベクトルベースの長期コンテキスト整合性 |
21+
| 📚 ナレッジベース統合 | ローカルドキュメント参照に対応 |
22+
| ✅ 自動校正機能 | プロットの矛盾と論理的衝突を検出 |
23+
| 🖥 ビジュアルワークベンチ | 設定 / 生成 / 校正をカバーする全工程 GUI |
24+
25+
</div>
26+
27+
> 大規模言語モデルを基盤とした多機能小説ジェネレーターです。設定が統一され、論理が緻密な長編ストーリーを効率的に創作することを支援します。
28+
29+
---
30+
31+
## 📑 目次
32+
1. [環境準備](#-環境準備)
33+
2. [プロジェクト構成](#-プロジェクト構成)
34+
3. [設定ガイド](#️-設定ガイド)
35+
4. [実行方法](#-実行方法)
36+
5. [使い方](#-使い方)
37+
6. [FAQ](#-faq)
38+
39+
---
40+
41+
## 🛠 環境準備
42+
以下の要件を満たす環境を用意してください:
43+
- **Python 3.9+**(推奨: 3.10–3.12)
44+
- **pip** パッケージマネージャー
45+
- 有効な API キー:
46+
- クラウドサービス: OpenAI / DeepSeek など
47+
- ローカルサービス: Ollama などの OpenAI 互換インターフェース
48+
49+
---
50+
51+
## 📥 インストール
52+
1. **プロジェクトを取得**
53+
- [GitHub](https://github.com) から ZIP をダウンロードするか、リポジトリをクローンします:
54+
```bash
55+
git clone https://github.com/YILING0013/AI_NovelGenerator
56+
```
57+
58+
2. **ビルドツールのインストール(任意)**
59+
- 一部のパッケージがインストールに失敗する場合は、[Visual Studio Build Tools](https://visualstudio.microsoft.com/ja/visual-cpp-build-tools/) から C++ ビルドツールをダウンロード・インストールしてください。
60+
- デフォルトではインストーラーに MSBuild のみが含まれます。ワークロードから **C++ によるデスクトップ開発** を必ず選択してください。
61+
62+
3. **依存関係をインストールして実行**
63+
- ターミナルを開き、プロジェクトディレクトリに移動します:
64+
```bash
65+
cd AI_NovelGenerator
66+
```
67+
- (任意)仮想環境を作成して有効化します:
68+
```bash
69+
python -m venv .venv
70+
# 動作しない場合は次を試してください:
71+
# python3 -m venv .venv
72+
```
73+
```
74+
# Windows の場合:
75+
.venv/Scripts/activate
76+
```
77+
```
78+
# Linux / Mac の場合:
79+
source .venv/bin/activate
80+
```
81+
- プロジェクトの依存関係をインストールします:
82+
```bash
83+
pip install -r requirements.txt
84+
```
85+
- インストール完了後、メインプログラムを実行します:
86+
```bash
87+
python main.py
88+
```
89+
90+
依存関係が不足している場合は、手動でインストールしてください:
91+
```bash
92+
pip install <パッケージ名>
93+
```
94+
95+
## 🗂 プロジェクト構成
96+
```
97+
novel-generator/
98+
├── main.py # エントリーポイント、GUI を起動
99+
├── consistency_checker.py # 一致性チェック、プロット矛盾を防止
100+
|—— chapter_directory_parser.py # ディレクトリ解析
101+
|—— embedding_adapters.py # Embedding インターフェースラッパー
102+
|—— llm_adapters.py # LLM インターフェースラッパー
103+
├── prompt_definitions.py # AI プロンプトテンプレート
104+
├── utils.py # ユーティリティ関数とファイル操作
105+
├── config_manager.py # 設定マネージャー (API キー、Base URL)
106+
├── config.json # ユーザー設定 (任意)
107+
├── novel_generator/ # 章生成のコアロジック
108+
├── ui/ # グラフィカルユーザーインターフェース
109+
└── vectorstore/ # (任意) ローカルベクトル DB ストレージ
110+
```
111+
112+
---
113+
114+
## ⚙️ 設定ガイド
115+
### 📌 基本設定 (`config.json`)
116+
```json
117+
{
118+
"api_key": "sk-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
119+
"base_url": "https://api.openai.com/v1",
120+
"interface_format": "OpenAI",
121+
"model_name": "gpt-4o-mini",
122+
"temperature": 0.7,
123+
"max_tokens": 4096,
124+
"embedding_api_key": "sk-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
125+
"embedding_interface_format": "OpenAI",
126+
"embedding_url": "https://api.openai.com/v1",
127+
"embedding_model_name": "text-embedding-ada-002",
128+
"embedding_retrieval_k": 4,
129+
"topic": "崩壊スターレイルの主人公が原神のテイワット大陸へ転移し、世界を救いながらキャラクターたちと複雑な関係を築いていく物語。",
130+
"genre": "ファンタジー",
131+
"num_chapters": 120,
132+
"word_number": 4000,
133+
"filepath": "D:/AI_NovelGenerator/filepath"
134+
}
135+
```
136+
137+
### 🔧 各項目の説明
138+
1. **生成モデル設定**
139+
- `api_key`: LLM サービスの API キー
140+
- `base_url`: API エンドポイント(ローカルサービスでは Ollama のアドレスを指定)
141+
- `interface_format`: インターフェース形式
142+
- `model_name`: メイン生成モデル名(例: gpt-4、claude-3)
143+
- `temperature`: 創造性パラメータ(0–1、高いほど創造的)
144+
- `max_tokens`: モデル応答の最大長
145+
146+
2. **Embedding モデル設定**
147+
- `embedding_model_name`: Embedding モデル名(例: Ollama の nomic-embed-text)
148+
- `embedding_url`: サービスのエンドポイント
149+
- `embedding_retrieval_k`: 取得する近傍数
150+
151+
3. **小説パラメータ**
152+
- `topic`: メインストーリーのテーマ
153+
- `genre`: ジャンル
154+
- `num_chapters`: 全体の章数
155+
- `word_number`: 1章あたりの目標文字数
156+
- `filepath`: 生成ファイルの保存先パス
157+
158+
---
159+
160+
## 🚀 実行方法
161+
### 方法 1 — Python で実行
162+
```bash
163+
python main.py
164+
```
165+
GUI が起動し、対話的に操作できます。
166+
167+
### 方法 2 — 実行ファイルへパッケージング
168+
Python のない環境で実行したい場合は **PyInstaller** でパッケージングします:
169+
```bash
170+
pip install pyinstaller
171+
pyinstaller main.spec
172+
```
173+
パッケージング後、`dist/` フォルダに実行ファイル(Windows の場合 `main.exe` など)が生成されます。
174+
175+
---
176+
177+
## 📘 使い方
178+
1. **アプリ起動後、基本パラメータを入力します:**
179+
- **API Key & Base URL**(例: `https://api.openai.com/v1`
180+
- **モデル名**(例: `gpt-3.5-turbo``gpt-4o`
181+
- **Temperature**(0–1、創造性のばらつきを制御)
182+
- **トピック**(例: 「終末世界での AI 蜂起」)
183+
- **ジャンル**(例: 「SF」/「ファンタジー」/「アーバンファンタジー」)
184+
- **章数****1章あたりの文字数**(例: 10 章 × 約 3000 文字)
185+
- **保存先**(出力用フォルダを新規作成することを推奨)
186+
187+
2. **「Step1. 設定生成」をクリック**
188+
- トピック・ジャンル・章数を基に以下を生成します:
189+
- `Novel_setting.txt`: 世界観、キャラクター、伏線などの設定。
190+
- 生成後の設定は閲覧・編集できます。
191+
192+
3. **「Step2. ディレクトリ生成」をクリック**
193+
- `Novel_setting.txt` を基に以下を生成します:
194+
- `Novel_directory.txt`: 章タイトルと短いプロンプト。
195+
- 章タイトルと説明は確認・修正できます。
196+
197+
4. **「Step3. 章ドラフト生成」をクリック**
198+
- 章を生成する前に以下を設定できます:
199+
- 章番号(例: `1`
200+
- 「本章ガイダンス」欄に各章固有の指示を入力
201+
- 章生成時、システムは以下を行います:
202+
- 既存の設定、`Novel_directory.txt`、確定済みの章を読み込み
203+
- 一貫性のためにベクトル検索で関連コンテキストを呼び出し
204+
- 章のアウトライン (`outline_X.txt`) と本文 (`chapter_X.txt`) を生成
205+
- エディタペインでドラフトを確認・編集できます。
206+
207+
5. **「Step4. 現在の章を確定」をクリック**
208+
- システムは以下を更新します:
209+
- グローバルサマリー (`global_summary.txt`)
210+
- キャラクター状態 (`character_state.txt`)
211+
- ベクトルストア(以降の章で最新情報を利用できるように)
212+
- 主要なプロットポイント(例: `plot_arcs.txt`
213+
- 確定後、確定版テキストが `chapter_X.txt` に保存されます。
214+
215+
6. **一致性チェック(任意)**
216+
-[任意] 一致性校正」ボタンをクリックすると、最新章をスキャンしてキャラクターのロジックやプロットの矛盾を検出します。
217+
- 衝突が見つかった場合は、ログ領域に詳細メッセージが表示されます。
218+
219+
7. **手順 4–6 を繰り返し**、すべての章を生成・確定します。
220+
221+
> ベクトル検索のヒント:
222+
> 1. Embedding のインターフェースとモデル名を明示的に指定してください。
223+
> 2. ローカル Ollama の Embedding を使用する場合は、先に Ollama サービスを起動してください:
224+
> ```bash
225+
> ollama serve # サービス起動
226+
> ollama pull nomic-embed-text # モデルのダウンロード / 有効化
227+
> ```
228+
> 3. Embedding モデルを切り替えた後は `vectorstore` ディレクトリをクリアしてください。
229+
> 4. クラウド Embedding を使用する場合は、API の権限が有効になっていることを確認してください。
230+
231+
---
232+
233+
## ❓ FAQ
234+
### Q1: Expecting value: line 1 column 1 (char 0)
235+
236+
このエラーは通常、API が有効な JSON を返さなかったことを示しています。HTML のエラーページや予期しない内容が返されている可能性があります。
237+
238+
### Q2: HTTP/1.1 504 Gateway Timeout?
239+
240+
API エンドポイントの安定性とネットワーク接続を確認してください。
241+
242+
### Q3: Embedding プロバイダーを切り替えるには?
243+
244+
GUI の Embedding 設定欄に新しいプロバイダーの情報を入力してください。
245+
246+
---
247+
248+
その他の質問や機能リクエストがあれば、プロジェクトリポジトリの Issue で報告してください。

README_zh-CN.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# 📖 自动小说生成工具
22

3+
中文文档 | [English](./README.md) | [日本語](./README_ja.md)
4+
35
>- ~~当前没有什么精力维护该项目,本身该项目并无任何收益,以及临近毕业,有很多内容要忙,如果后面有时间的话,再考虑基于更新的技术去重构吧。——2025/9/24~~
46
>
57
>- ~~**(2026/03/09):** 本项目即将在近期开启重构,届时将采用更先进的技术实现与全新的创意。~~

config_manager.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@ def load_config(config_file: str) -> dict:
1919
try:
2020
with open(config_file, 'r', encoding='utf-8') as f:
2121
return json.load(f)
22-
except:
23-
return {}
22+
except Exception:
23+
return {}
2424

2525

2626
# PenBo 增加了创建默认配置文件函数

0 commit comments

Comments
 (0)