Claude Code 用のカスタムステータスラインの構築

私は一日の大半を Claude Code で過ごしています。それは私のプログラマーであり、レビュアーでもあります。

数日後、ある問題に気づきました。自分がどれだけのトークンを使用したのか、セッションのコストがいくらなのか、そしてコンテキストがどれくらい残っているのかが分からなかったのです。

これらの事実を確認するためにコマンドを実行したくはありません。リアルタイムで確認したいのです。ターミナルをちらっと見るだけで、自分のステータスが分かるようにしたいのです。

そこで、カスタムステータスラインを構築しました。

私は主に3つのことに焦点を当てました:

  • セッションコスト:Claude Opus は無料ではありません。コストをリアルタイムで確認することで、タスクをいつ切り上げるべきかを判断しやすくなります。
  • コンテキストウィンドウ:残りのコンテキストの割合を表示したいと考えています。これにより、いつ新しいセッションを開始すべきかを判断できます。
  • プロジェクト情報:現在のディレクトリ、git ブランチ、および使用しているモデルを確認する必要があります。

ステータスライン API はシンプルです。Claude Code にシェルスクリプトを指定するだけです。ツールは stdin を介して JSON ドキュメントをスクリプトに送信します。スクリプトは結果を stdout に出力します。

SDK もフレームワークも使用しません。単に stdin と stdout を使用するだけです。ローカルで動作し、コストもかかりません。

設定方法:

  1. ~/.claude/statusline.sh にスクリプトを作成します。
  2. jq を使用して JSON データを解析します。
  3. パス、ブランチ、モデル、トークン、コストを表示するように出力をフォーマットします。
  4. ~/.claude/settings.json ファイルにスクリプトを追加します。

更新間隔を1秒に設定できます。これにより、リアルタイムのダッシュボードが得られます。

コードを書きたくない場合は、Claude Code にショートカットがあります。以下を実行してください: /statusline show me model, branch, token counts, context percentage, and cost

これにより、自動的に行が生成されます。

シンプルなシェルスクリプトでツールをカスタマイズすることは、働き方を変えます。機能が追加されるのを待つのではなく、自分自身の自動化を構築し始めるのです。

Source: https://dev.to/ndrone/building-a-custom-status-line-for-claude-code-5822

Optional learning community: https://t.me/GyaanSetuAi