memorandums

日々の生活で問題解決したこと、知ってよかったことなどを自分が思い出すために記録しています。

Gemini CLI Shaper 作ってもらった

AIに課金しない勢です。課金しないとすぐに上限に到達してチャットが打ち切られてしまいます。

そんな中、Gemini Proを(制限内で)継続的に使えるGemini CLIというのを少し前に知り使っています。今、最高にありがたいツールの1つです。

発表スライドや発表原稿のたたき台作成はAIがやってくれる時代なんだなぁ - memorandums

さて、そんなGemini CLIはその名の通り、ターミナル(黒い画面)で使います。ゆえに独特なコマンドがあったりはするのですがちょっと覚えれば使えるので(チャットの保存なんかもできちゃう)いい感じです。

Gemini CLI の簡単チュートリアル

ただですね。。。このGemini CLIの最大の問題点は回答もターミナルに表示されて、そのターミナル画面で見やすくレイアウトするためか改行が自動挿入され行の両端に余計な空白がはいっちゃうんですね。。。この回答をコピペしようとするとその記号もろともコピペされちゃうんです。これが問題でした。

例えば、以下です。これもGemini Proにアンパンマンマーチの英訳をしてもらった結果です。改行が入って各行の両端に空白文字が入っていますよね?

こういう改行等を削除する便利ツールにShaperっていうのがあります。英語論文のPDFをコピペすると改行がはいっちゃうので除去してくれるんですね。改行が入ったままだとDeepLとかでおかしくなってしまうので重宝しています。

dream-exp.net

ただ、このツールは余計な空白は削除してくれないのでうまく行かないんですよ。で、不要な空白も除去できるツールがあったらいいなと思ったんです。本日、卒研の中間発表だったので合間で作ろうとしたけど時間がなくてできず。。。終わって部屋に戻って、面倒だからAIにやらせようということにしました。

以下、プロンプトです。

Gemini CLIの出力がターミナルに表示されたときに、各行の両側に余計な空白が空いてしまう問題がありました。これを取り除くための簡単なWebアプリを作りたいと思います。WebアプリはHTMLとCSSとJavascriptを組み合わせて作成します。ローカル(ブラウザ)だけで動作することを目指します。

ユーザインタフェースとしては、Gemini CLIの出力結果(以下のサンプル)のようなテキストを貼り付けるtextareaが必要です。そして貼り付けたら自動的に結果を出力するをtextareaが必要です。

# サンプル
  Yes, I'm happy, the joy of living, even if the scars in my heart ache.
   I can't go back, that's why I'm here. Living in the moment, my heart
  burns with passion. So you go on, with a smile. Yes, I'm happy, the
 
# 望まれる結果
Yes, I'm happy, the joy of living, even if the scars in my heart ache. I can't go back, that's why I'm here. Living in the moment, my heart burns with passion. So you go on, with a smile. Yes, I'm happy, the

で、できたソースはそのまま動きました。せっかくなので英語にしておけばもしかすると海外のユーザも使ってもらえるかもと思って少し私の方で修正しました(これもAIにやらせればよかったですけどね、それくらいはさせてくれという感じです)。

以下で公開しています。よければ使ってやってくださいね〜。

Gemini CLI Shaper

■追記

翌日ですが、その後、このツールをガンガン使おうとしたんですね。。。ただ、このツールの問題点を発見しました。つまり、余計な空白は綺麗に除去できるんですが、改行は不要なものもあるものの必要なものもあるんですね。。。回答が複数段落の場合です。これを1段落にしてしまうのはマズイわけです。結局、vim使うのが最適かな。。。と思っています。編集モードで J を押せば改行を削除できます。1段落にしたい先頭行にカーソルを持っていってひらすら J を押せばいいわけです。その前に各行の前に2つほどスペースが入っているのでこれを dw と押して削除してしまえばいいわけです。vim使いじゃないと何言っているかわからないと思いますが。。。つまり、 Gemini CLIの回答に不要な空白や改行が含まれていた場合はvimを使え という結論になりそうです。まぁあるあるですね。いくらよいと思って提案しても本当に使えるか?というとそんなに世の中は甘くない。研究も同じです。