GPTの応答文生成アニメーションは1文字もしくは1単語(そのまんまトークン単位かも)ごとに<span>タグで囲まれて分割して生成されていて、これはすでにアニメーションが終わって出力済みのログでも律儀に保持されてる
GPTの仕様変更かChromeのアプデによる挙動の変更かはわからないけど、ここ数日でそもそもの表示形式かもしくは分割の細かさが変わった
例えば置換前の単語が[テスト]だった場合、これが[ / テスト]とか[テス / ト]のように分割されてしまうと画面では[テスト]と表示されていても内部では2〜3個の独立した文字列という扱いだからスクリプトは置換対象として取れない
(実際にログ出力するコードを追記してコンソールで確認したのでハルシではない。ユーザーが送信した文は置換できてGPTが生成した文だけが置換できないのはこれが理由)
これに対応するスクリプトを実装するのは専門知識のない俺には無理なので応急処置として置換したい単語を🝖とか🜲みたいな絶対に自然文で生成されなさそうな1文字で出力するようにプロンプトを調整した
作者氏がrentryで推奨してた「s→妹」のような1文字置換を守ってる人は問題ないはずだけど俺は誤検出恐れて[ ]で囲んで2文字以上にしちゃってたので症状出たっていうまあ自業自得でした
もし原因がChromeのアプデによる挙動変更だとしたらユーザー間で時間差のあるアプデが適用されていくにつれて同じ症状に悩む人が出てくるかもしれないし、
ちゃんとコード書ける人の修正や改善の一助にもなればと思ったので長文で鬱陶しいだろうけど一応レスとして残しておく