0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Claude Code の待ち時間に、ステータスラインで「現地メディアの一行ニュース」を読む

0
Posted at

Claude Code に長めのタスクを投げると、esc to interrupt を眺める時間がそこそこ発生します。
別作業に切り替えるには短く、じっと待つには長い。その隙間時間に一行ニュースを読めたら、と思って
newsline というプラグイン / CLI を作りました。

newsline demo

何をするもの?

  • 既存のステータスライン(HUD)の 下の行 に、地域に合ったヘッドラインが 6 秒ごとに切り替わり表示。
    既存のステータスラインはそのまま残ります。
  • 単なる翻訳ではなく、その地域の実際の現地メディア から取得します。日本なら NHK、韓国なら
    聯合ニュース、フランスなら Le Monde、ドイツなら Tagesschau、ほかに El País・G1・BBC/NPR など。
    メディアが落ちた/ブロックされた場合は Google News のロケールフィードへ自動フォールバック。
  • 現時点では上記メディアが中心ですが、今後さらに多様なプラットフォームと記事が混ざり、
    どんどん豊かになっていく予定です。
  • ヘッドラインは OSC 8 ハイパーリンクなので、多くのターミナルでそのままクリックして記事へ。
  • 日本語を含む 8 言語対応、トピック(テック/ビジネス/スポーツなど)選択可。
  • ヘッドラインの色とローテーション間隔(既定 6 秒)は設定で自由に調整できます。

仕組み(ここが Qiita 向けの本題)

ステータスラインは Claude Code から高頻度で呼ばれるため、呼び出しのたびにネットワークを
待つのは厳禁
です。少しでもブロックすると、そのままプロンプト表示の体感速度に効いてしまう。
そこで newsline は取得と描画を完全に分離しています。

  1. バックグラウンド取得: RSS をローカルで取得(python3 標準ライブラリのみ、依存パッケージなし)。
    ロケールごとに「まず現地の主要メディア → 最後に Google News ロケールフィード」の順で試行し、
    最初に記事が取れたソースを採用。死んだフィードはスキップされます。
  2. キャッシュ書き込み: 取得したヘッドライン N 件をキャッシュへ。
  3. 即時描画: ステータスライン呼び出し時はキャッシュから即レンダリングし、壁時計ベースで
    ローテーション。ネットワークは一切待ちません。

更新処理は single-flight ロック 付きのバックグラウンドプロセスが担当し、複数セッションから
同時に呼ばれても取得は重複しません。ヘッドラインの色は描画時に適用しているため、設定変更が
キャッシュ再取得を待たずに即反映されます。

インストール(登録・メール不要)

curl -fsSL https://raw.githubusercontent.com/itdar/newsline/master/install.sh | sh

npm(npm i -g newsline-cli && newsline init)、Homebrew、Claude Code のプラグイン
マーケットプレイス(/plugin marketplace add itdar/newsline)でも導入できます。次のメッセージ
送信時から表示され、再起動は不要。newsline uninstall で元のステータスラインに完全復元されます。

プライバシー

取得・表示はすべてローカルです。外部に出るのは、地域ソース選定のためのおおまかなコンテキスト
(言語・国・トピックなど、トラッキング ID なし)だけ。~/.config/newsline/config.json
"api": "off""endpoint": "off" を設定すれば 完全ローカルモード になり、ニュースフィード
以外にはどこにも接続しません。

おわりに

GitHub: https://github.com/itdar/newsline
どんなニュースソースやトピックが欲しいか、フィードバック歓迎です。

この記事は Zenn にも投稿しています(クロスポスト)。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?