AI・機械学習
Show HN: Weatherdeck – AIコーディングエージェントレーンの読み取り専用ステータスボード
Show HN: Weatherdeck – a read-only status board for AI coding agent lanes (github.com)
要約
Weatherdeckは、AIコーディングエージェントの作業状況を可視化するための読み取り専用ステータスボードです。リアルタイムで進捗状況、待機中のタスク、エラーなどを一覧表示し、監視やアラートシステムではなく、あくまで「何が起きているか」を把握することに特化しています。Pythonのみで構築されており、ローカルで実行可能で、セットアップも容易です。
全文翻訳
Weatherdeck Weatherdeckは、マシンとその上で実行されている作業(プッシャーによって供給されるTVまたは電話のページ)のステータスボードであり、天気アプリや監視またはアラートシステムではありません。
あなたが見るもの。
ここにあるすべての画像はデモです(weatherdeck run --demo、ページアドレスに#theme=ship-deckを使用)。そのソースは発明されたものであり、その中のものは何も現実のものではありません。
あなたを待っているもの。
琥珀色のプレートは、人に必要な呼び出しの数を数え、それぞれがどれだけ待ったかを示します。脇に置かれたものは数えられません。日付が付いた保留、または他の誰かが所有している行は、あなたを待っているものとしては数えられません。電話ページでは、それらは折りたたまれた行(「延期2・スキッパーの番3」)の下に呼び出しとして表示され、それをタップするとそれぞれの日付または所有者、および理由が表示されます。
正直な進捗。
進捗はパーセント範囲で表示されます(ソースが提供する場合)。レーンが読み取れない場合、「わからない」(「さらに10件」の行が1と表示される)とカウントされ、良好とは表示されません。静かなソースは名前が付けられます。時計の横のランプは、ライブソースの数を数えます。報告が停止すると、「2/3ライブ」と表示され、そのマシンの船は霧の中に描かれ、サイレントとラベル付けされます。
TVと電話のための1つのボード。
同じページが、ワイドスクリーンでは外海、電話では1つの列になります。クリップでは、Cinder(発明されたソースの1つ)が報告を停止します。静止画。
デモの数分後の電話ページは、ALL FINEタイルでクロップされています。呼び出し、脇に置かれたもののための折りたたまれた行、次に問題、次にそのタイル(呼び出しまたは問題が開いておらず、すべてのフィードが報告されている場合にのみ点灯します)。折りたたまれた行が開かれました。延期された行は戻ってくる日付と理由を示し、他の行は誰が所有しているかといつからかを示します。それらのどれも「あなたが必要」の上では数えられません。
これは、多くのソースによって報告された作業のための、TVまたは電話に常時表示されることを意図した、一目でわかるボードです。あなたを待っているもの、動いているものとその正直な進捗度、完了したもの、次に来るもの、そしてあなたがそれを見ているものを信頼できるかどうかです。
任意のツールがカードを残すことができます。
1つの小さなJSONファイルがドロップディレクトリに入ると、ステータスタイルのカードになります。ボードはそれを読み取るだけです(docs/ADDINS.md)。
任意のツールがそれを供給できます。
ソースは、HTTP経由で1つのJSONドキュメントを送信できるものなら何でも構いません。ソースは設定されるのではなく、発見されます。マシンとアイテムは自分で現れます。
チェック可能。
ホストが受信するすべてのプッシュは、受信ログ(weatherdeck received --diff)の1行になります。各ソースが送信したものとボード上で変更されたもの。
ギャップについて正直。
報告を停止したソースは画面に残り、サイレントで霧がかかった状態とマークされます。ボードは古いデータを新鮮なものとして表示することは決してなく、ソースが欠落している場合はそのように言います。数値が測定されるまで、それ自体または任意のツールの値は主張しません(docs/honesty.md)。
読み取り専用、ローカル、ミニ。
Python標準ライブラリのみ、1つのSQLiteファイル、1つのプレーンHTML/JS/CSSページ。ビルドステップなし、CDNなし、テレメトリなし、ルート権限なし。どこでも実行できます。
Windows、macOS、Linuxでネイティブに同じコマンドを実行できます。管理者権限は不要です。複数のホストを同時に実行します。各ページには、どのホストがそれをサービスしているかが表示されます。
決定的。
モデルやLLMの呼び出しは一切ありません。唯一のアウトバウンドトラフィックは、あなたが指定したホストにプッシュするアダプターです。
これは何ではありません。
監視またはアラートシステムではありません。決して誰かにページを送信せず、ソースがプッシュしたものだけを表示します。ホストサービスではありません。自分で、選択したマシンで実行します。そして、それは1.0未満の趣味のソフトウェアであり、作者が抱えていた問題を解決したためオープンソース化されました。詳細が変更される可能性があり、サポートはベストエフォートです。
5分でクイックスタート
Python 3.9から3.14が必要です(古いバージョンは起動時に1行メッセージで停止します。Microsoft Store版は試用には問題ありません。ログオン時に実行したり、ビートを実行したりするには、docs/runbook-windows.mdを参照してください)。
インストール不要:ソースチェックアウトまたはリリースZIPから実行します。このリポジトリをクローンするか(git cloneし、フォルダにcd)、スクリプト/build-packageがクローンからビルドするZIPを解凍してコードを取得します。pip installはまだサポートされておらず、その旨のメッセージで停止します。
以下では、weatherdeckはmacOS/Linuxではpython3 bin/weatherdeck、Windowsではbin\[weatherdeck.cmd](http://weatherdeck.cmd)を意味します(cmdまたはPowerShell)。
合成データで確認。
weatherdeck run --demo
http://127.0.0.1:8787/を開きます。3つの発明されたソースが報告します。約2分半後に1つが報告を停止し、約2:40から遅延が表示され、開始から約3分後にサイレントになるため、オフライン状態を確認できます。Ctrl-Cで停止します。(--port Nでポートを変更できます。)
実稼働で実行。
weatherdeck on # バックグラウンドで実行し、URLを出力します
weatherdeck status
weatherdeck off
データはユーザーごとのデータディレクトリに保存されます(--data DIRまたは$WEATHERDECK_DATAで別の場所を選択)。Windowsでは、weatherdeck startup installは、管理者権限なしで、すべてのログオン時に起動するように設定します。
何かを送信します。
任意のツール、1回のPOST(同じマシンから、セットアップ不要):
curl -X POST http://127.0.0.1:8787/api/ingest -H 'Content-Type: application/json' -d '{ "schema": "lookout.feed", "schema_version": "1.0", "source": { "id": "my-laptop" }, "items": [{ "id": "build", "title": "Nightly build", "state": "running" }] }'
スキーマIDは意図的にlookout.feedと読み取られます。これは、すべての既存のアダプターがすでに話しているワイヤ名であり、製品がリネームされたときに変更されていません(docs/feed-spec.md、「Schema ids」を参照)。
継続的に供給するには、例のアダプターを実行します。これは、手編集したリストとこのマシンの状態をフィードに変換し、リスト内のすべてのホストにプッシュします。
cp examples/adapter/work.example.json work.json
cp examples/adapter/sinks.example.txt sinks.txt
# ホストを編集します
python3 examples/adapter/push_example.py --work work.json --sinks sinks.txt
独自のツールから供給するには、docs/adapters.md、「Write a pusher for your tool」を参照してください。
他のデバイスに見せる。
設定ファイルにアドレスを追加します(hosts.bind)。(LANアドレス、VPN範囲、またはその両方)。ソースごとにトークンを作成します(weatherdeck token new my-laptop)。そして、電話からページを開きます。いずれかのトークンが存在すると、プッシュにはAuthorization: Bearer <token>が必要です。
TVの場合、ホストに到達できる任意のコンピューターでページをフルスクリーンで開くか、ホスト自体でキオスクモードで開きます。
設定ファイルは<data>/config.jsonです。これはステップ2のデータディレクトリ内にあります(weatherdeck statusはそのディレクトリを表示します。--config FILEまたは$WEATHERDECK_CONFIGで別のファイルを指定します)。作成されるまで存在しません。最小構成:
{ "hosts": { "bind": ["localhost", "auto:192.168.1.0/24"] } }
編集後にホストを再起動します(weatherdeck restart)。すべてのキーはdocs/hosting.mdにあります。
削除します。
weatherdeck offでホストを停止し、解凍またはクローンしたフォルダとデータディレクトリ(weatherdeck statusが表示する場所)を削除します。Windowsでは、startup installを実行した場合は、weatherdeck startup removeを先に実行します。他に何もインストールされません。サービス、レジストリエントリ、他の場所のファイルはありません。
サポート
Windows 11
macOS (Apple Silicon)
Linux (Ubuntu, WSL2)
ホスト (weatherdeck run, on, ingest)
サポートされています
サポートされています
サポートされています
Python 3.9から3.14 (3.8はサポートされていません)
3.9から3.14 (3.8はサポートされていません)
3.9から3.14 (3.8はサポートされていません)
GitHubのホストされたランナーでのテストスイート(2026-10-16; 453テスト、.github/workflows/test.yml、手動実行)は、Python 3.9から3.14でパスします。同日の最初の実行は、すべてのWindowsレッグで13のテストが失敗しました(9つはWindowsが長すぎるとして拒否したコマンドラインでNodeを開始しました。残りはLinuxマシン、コードページデコード、およびWindowsが削除できなかったスクラッチクローンを想定したテストでした)。それらは修正され、2回目の実行で18のジョブすべてがパスしました。
Python 3.9から3.14でパスします。
Python 3.9から3.14でパスします。
ページ: Chrome, Edge
サポートされています
サポートされています
サポートされています
ページ: Safari (macOS), iPhone
ヘッドレスWebKit(レイアウト、オーバーフロー、コンソールエラー);ダッシュボードの深部シーンは、2026-10-10にメンテナーによってSafari、iPhone、および4K TVでチェックされ、承認されました。これらのデバイスでは他に何もされていません(docs/device-checklist.md)。
同じ
同じ
ページ: Firefox
期待通りに動作するはずですが、各リリースでチェックされていません。
同じ
同じ
最後の確認から(ブラウザストレージ)
ブラウザごと。サイトデータをブロックするブラウザは、sinceプレートを表示しません。
同じ
同じ
フィードスキーマ読み取り 1.0から1.12
1.0から1.12
1.0から1.12
マシンあたりの船 (0.4.0)