LLM の推論待ち時間が多くなった。LLM に仕事を任せて効率化できた時間は、積極的にサボりたいと思っている。
そのサボり時間に積んでた Chrome のブックマークをなんとなく読むためのツールを作った。LLM の SKILL とかで書けそうだけど、まあ手を動かしたかったので。
なぜ作ったか
気になったり良いと思ったページはとりあえずブックマークするのだが、積み上がる一方で能動的に見返すことはほぼないんですよね。たまにブックマークを整理するときに「これ良かったな」という記事が出てきたりして、大掃除中に昔の漫画を読み始めるアレがよくある。
そこで、ブックマークをランダムにサジェストしてくれて、サクッと読めるものが欲しくて作った。「nibble」は「少しずつかじる」みたいな意味があり、つまみ食いするツールみたいなイメージ。
できること
- Chrome のブックマークからランダムに数件提示してくれる
- 読みたい記事をそのままブラウザで開く
- 「もう見ないな」と思った記事はその場でブックマークから削除できる
使い方
npx @sho-hata/nibblenibbleコマンドを実行すると、以下のようにブックマークされているWebページがランダムに表示され、選択してブラウザで開いたりブックマークを削除したりできる。実際の様子は README の GIF をみて欲しい。
▶ Some article you saved — example.com
A tool you meant to try — github.com
That blog post from last year — note.com
...
j/k: move d: remove from bookmarks o: open in browser Enter: confirmこの仕組みはとくに Chrome の API を呼び出しているわけではなく、Chrome がローカルに書き込むブックマークファイルの中身を読み込んでいるだけ。
Mac の場合は ~/Library/Application Support/Google/Chrome/Default/Bookmarks に存在する。ブックマークの削除機能は、このブックマークファイルを上書きすることで実現している。
そのため、Chrome が起動中に削除を行うと、Chrome 終了時に上書きされる場合がパターンがあるので、牧歌的な挙動になっているのだけれど、まあ自分しか使わないのでいいかなと。
蛇足
CLI の 挙動を README に載せたくて、GIFをどうやって作るか迷っていたのだけれど、https://github.com/asciinema/asciinema というターミナルのレコーディングツールで録画して GIF に変換するのがとても捗った。 有名なやつらしいが自分は初めて知った。これからお世話になると思う。
