rusica.net

ロールプレイチャットシステムを開発中

先日から進めているロールプレイチャットシステム開発を引き続き進めている。ユーザーマニュアルの目次だけ列挙。

1. 起動手順
2. 初回セットアップ
3. ユーザープロファイルの管理
4. キャラクターの管理
5. ロールプレイの開始
6. チャット画面の使い方
7. 画像生成機能(Draw Things 連携)
8. 記憶管理(Lore Book)
9. 設定の変更
10. バックアップと復元

こんな感じの機能というかそういうのが実装済み。スマホでの利用を考えて立ち絵表示は廃止してその代わりにDraw Thingsと連携してチャット画面内に生成画像を表示できるようにした。Draw Thingsが生成した画像ファイルはPNGでメタ情報も含まれていてそのままだとファイルサイズが大きすぎるからWebPに変換して持ってくるようになっている。記憶管理についてはチャット画面に整理ボタンを設置。クリックするとチャット内の会話内容などをLLMが処理して記録する。記録しておくと新規セッション時などに直近3つ分の記録と最大15件までのブックマーク済みの記録をもとに開始できる。SillyTavernのLore Book的な感じ。キャラクター管理ではキャラ用のシステムプロンプトとアイコン画像、画像生成用のポジティブプロンプトとネガティブプロンプトを入力できるようにした。

とか何とかやってたら肥大化したスパゲッティコードと化したので、日曜日をほぼ丸々使ってフロントエンドとバックエンドのリファクタリングを行った。機能ごとにファイルを分けたり、同じことをするのに重複している箇所の整理、開発中のテストコードが残ったままになっている箇所の削除などなどを行ってすっきりさせた。

今はUIテーマの色をカスタマイズできるように改修中。昨日ひとまず実装してみたけど色の変わらない部分があったりと、機能の設計段階から見直した方が良さそう。Gitでロールバックしてやり直すことにする。

と思ったらセッションが長くなった時の記憶データ生成処理が上手くいっていないな。先にこっちの修正が必要そう。