Route C : Phase 3
C-06:リライトエンジンの実装
既存テキストの再構成 - 過去の資産を蘇らせる
新しい記事を作るだけでなく、過去に書いた記事や、メモ帳に書き溜めたアイデアを再利用することも、効率的なコンテンツ制作には不可欠です。
このステップでは、既存のテキストを読み込み、指定したペルソナ(口調)でNote用にリライトする機能を実装します。
1. 実装する機能 (Text Refiner)
- テキスト入力: リライトしたい文章を貼り付けるためのテキストエリア。
- ペルソナ選択: C-02で設定したペルソナ(Markdownファイル)を選択するプルダウンメニュー。
- AIリライト実行: ボタンを押すと、Gemini APIを呼び出し、指定したペルソナの口調で文章を書き直します。
- 結果表示: リライト後の文章を別のテキストエリアに表示します。
2. 進化の呪文(AIへの指示)
以下のプロンプトをAI Studioに貼り付け、gui/tabs/tab_write.py を拡張してリライト機能を追加させましょう。
PROMPT
あなたはプロのPython開発者です。
現在作成中の「FX_Trend_Hunter」の `gui/tabs/tab_write.py` に、既存テキストのリライト機能を追加してください。
【要件定義】
1. **GUI拡張 (`gui/tabs/tab_write.py`):**
- 既存の「JSON整形」機能の下に、「テキストリライト」エリアを新設。
- 左右2カラム構成で、左に「元テキスト入力欄」、右に「リライト結果表示欄」を配置。
- ペルソナ選択用のプルダウンメニューを追加。`_wp_sites/` フォルダ内の `_persona_note.md` で終わるファイルを自動でリストアップすること。
- 「リライト実行」ボタンを配置。
2. **バックエンド実装 (`lib/lib_text_refiner.py`):**
- `refine_text(source_text, persona_content)` という関数を作成。
- Gemini APIを呼び出し、`source_text` を `persona_content` の指示に従ってリライトし、Note用Markdownとして返すロジックを実装。
- プロンプトは `prompts/text_refine_template.txt` として外部化すること。
【重要:出力形式の制約】
- Pythonコード内の文字列リテラルやコメントであっても、**バッククォォト3つ(```)は絶対に使用しないでください。**
- AI Studioでの表示崩れを防ぐため、コードブロックの囲み記号は出力せず、ファイル名とコード本体のみを提示してください。
【出力ルール】
1. 作成・修正が必要なファイル名と、そのコード全文を提示してください。
2. ファイルマーカーの出力は禁止。ファイル名だけをコードブロックの外に表示し、ファイルは省略禁止でお願いします。
3. **最後に、ユーザーが実行すべき「実装手順」を箇条書きで必ず出力すること。**
3. 実装と動作確認
AI Studioの出力結果の中から、AI自身が生成した「実装手順」を見つけて、その指示通りに作業を進めてください。
→ 「執筆・整形」タブに新しいエリアが表示され、テキストを入力してリライトが実行できれば成功です!