Tsudzuri Logo
Tsudzuri
AI Writing Assistant

インスピレーションが枯渇した時、
AIが新しい風を。

続きの展開に迷ったら、AIに相談。アイデアの壁を突破し、創作のスピードを加速させます。

続きを提案

文脈を読み取り、続きの文章をAIが提案。「次はどうなる?」と詰まってしまった時の呼び水として活用できます。
自分では思いつかなかった展開が、新しいアイデアを連れてくるかもしれません。

AI Writing

AI執筆

履歴
新規
モード
追記
書き直し
出力文字数
1000文字
5005000
追加の指示(任意)
例: 主人公の心情を詳しく描写してください...

続きを書いてもらう

AIがあなたの代わりにペンを執ります。指定した方向性に沿ってまとまった量の文章を生成するため、プロットはあるけれど文章化が追いつかない、といった場面で物語を前進させる力を与えます。

全体を書き直してもらう

書き上げた文章のクオリティを、もう一段階引き上げます。表現の変更、描写の強化、あるいは要約など、多彩な指示で文章を磨き上げる、頼れる編集者のような存在です。

プロンプトのカスタマイズと変数仕様

AIに送信されるプロンプトは自由にカスタマイズ可能です。以下の変数をプロンプト内に記述することで、エディタの状態や設定値を動的に埋め込むことができます。

{userInput}

執筆パネルの「指示」に入力したテキストがそのまま埋め込まれます。前後の文脈に囚われず、AIに直接指示を出したい場合に使用します。

Internal Logic
// ユーザー入力内容そのまま
const userInputContent = userInput;

{targetFile}

現在開いているファイルの全文です。マークダウンのコードブロックとして整形され、AIに文脈として渡されます。

Internal Logic
// 執筆中のファイル(行番号なし)
const targetFileContent = `\`\`\`txt\n${fileContent}\n\`\`\``;

{variables}

「変数・用語集」に登録されているデータです。パネル設定で「変数の情報を付与」がオンの場合にのみ埋め込まれます。

Internal Logic
// 変数設定が有効な場合
if (panelSettings.includeVariables) {
    const variables = useVariableStore.getState().variables;
    /* ...中略... */
    variables.forEach(v => {
        variablesContent += `- ${v.name}: ${v.value}\n`;
    });
} else {
    variablesContent = '変数情報なし(設定で無効)';
}

{timelines}

「年表」に登録されているデータです。パネル設定で「年表の情報を付与」がオンの場合にのみ埋め込まれます。

Internal Logic
// 年表設定が有効な場合
if (panelSettings.includeTimeline) {
    const events = useTimelineStore.getState().events;
    /* ...中略... */
    events.forEach(e => {
        timelinesContent += `- ${e.timetag}: ${e.title}\n`;
    });
} else {
    timelinesContent = 'タイムライン情報なし(設定で無効)';
}

{outputStringNum}

パネル設定で指定した「出力文字数」に基づいて、文字数指示の文章が生成されます。

Internal Logic
// 文字数制限がある場合
if (panelSettings.outputLength > 0) {
    outputLengthContent += `\n\n約${panelSettings.outputLength}文字で執筆してください。`;
}

外部API利用に関するご注意

  • 本機能の利用には、OpenAI、Gemini、Anthropicなどの外部AIサービスのAPIキーが別途必要です。ユーザーご自身で取得・設定してください。
  • API利用料はユーザーご自身の負担となります。
  • Tsudzuriは、AIによって生成された内容の正確性や、API利用に伴うコストについて一切の責任を負いません。