情報収集に便利なRSSリーダーですが、更新を気にして1日に何度もリロードしたり、大量のRSSを無限スクロールして時間を浪費してしまうことがあります。そこで、1日1回の更新に割り切ることにより情報の過剰な取得を防ぎ、必要なニュースや記事を効率よくチェックできる軽量なRSSリーダー「hys」が公開されています。

superstarryeyes/hys: Terminal RSS Reader for Digital Minimalists in Zig - Tool for Escaping the Doomscroll

https://github.com/superstarryeyes/hys

hys公式のWindows用インストール手順ではインストールできなかったため、Windows11のWSL2で構築したAlmaLinux 9上にLinux用の手順でインストールします。Zigのダウンロードページからバージョン0.15.2の「zig-x86_64-linux-0.15.2.tar.xz」をダウンロードします。


wget https://ziglang.org/download/0.15.2/zig-x86_64-linux-0.15.2.tar.xz


ダウンロードしたファイルを解凍。


tar -xvf zig-x86_64-linux-0.15.2.tar.xz


解凍したフォルダのパスを設定し、再ログインもしくは「source ~/.bashrc」でパスを反映。


echo 'export PATH="/zig-x86_64-linux-0.15.2:"' >> ~/.bashrc
source ~/.bashrc


必要なヘッダーファイルをインストール。


sudo dnf install libcurl-devel
sudo dnf install expat-devel


hysのリポジトリをクローン。


git clone https://github.com/superstarryeyes/hys.git


hysフォルダに移動しビルド。


cd hys
zig build -Doptimize=ReleaseSafe install -p ~/.local


ビルドが終われば「~/.local/bin」フォルダにhysが作成されます。今回はRSSとしてGIGAZINEシークレットクラブで提供しているGIGAZINEの全文RSSを利用するため「hys --sub "全文RSSのURL"」で設定しました。



起動するために「hys」とコマンドを打つと、コンソールに記事の一覧が表示されます。記事の一部が表示されるので、linkをCtrl+クリックすると……



デフォルトのブラウザが立ち上がり記事が表示されます。



一覧に表示される際の文字数を変更したい場合は「~/.hys/config.json」の「maxDescriptionLength」を変更します。1000文字に変更すると以下のように表示されました。その他、1度に取得する記事数やインターバルなども設定可能です。



◆機能一覧

・1日1回の巡回によって、情報を過剰に取得するドゥームスクロールを回避

・数百件の記事でも数秒で処理が可能

・ターミナルのリンクをクリックするとブラウザで開くことが可能

・OPML対応で購読リストのインポート・エクスポートが可能

・日本語・中国語・韓国語・キリル文字など多言語に対応

・tech/science/art などのグループ分けが可能

・lessで表示されvimとほぼ同等のショートカットキーでの操作、および検索が可能

・RSS・Atomの解析とUTF-8への対応を重視

なお、ソーシャル系ニュースサイトのHacker Newsでは、hysについての作者との議論が行われており「新聞を読むような感覚です」との報告や「安全性が確立されていないZig言語を利用することは不安」という懸念に対して「メモリ制限やサニタイズ処理などを考慮して開発している」との回答などがありました。