Show HN: MIT OSS・エージェント向けLinkedIn DMをCLIで統合(CLIとTUIサンプル)
allman はローカルファースト、AIネイティブ、キーボード駆動のCLIおよびTUIで、メッセージ(現在はLinkedIn、今後iMessageやSlackなどに対応予定)を管理します。データはローカルGitリポジトリに保存され、AIエージェントにパイプでき、標準Unixツールと連携します。
allmanは、最新のメッセージングサービス(最初はLinkedInから)を単一のローカルターミナルインターフェースに統合する、新しいオープンソースプロジェクトです。MITライセンスで公開されており、コマンドラインツール(CLI)とターミナルユーザーインターフェース(TUI)を提供し、ユーザーはターミナルから離れることなくすべてのDMを管理できます。
allmanの設計思想は、古典的なメール転送エージェントsendmailに触発されています。今日の分散したメッセージプラットフォームに対して、オープンでプログラム可能、かつローカルファーストなレイヤーを提供することを目指しています。現在、allmanはLinkedInメッセージの同期、リアルタイムリスニング、送信、返信、検索を完全にサポートしています。開発者は今後、iMessage、Slack、Discord、電子メール、SMSのサポートを追加し、最終的にはすべての主要メッセージチャンネルをカバーする予定です。
一般ユーザー向けに、allman-tuiはメールクライアントのようなターミナル受信トレイを提供します。Vimスタイルのナビゲーション、リアルタイム更新、インライン絵文字ピッカー、クイック返信テンプレートなどを備え、グラフィカルなメールクライアントと同じように会話の閲覧、メッセージ作成、履歴検索が行えます。
allmanのローカルファーストアーキテクチャが中核的な特徴です。すべてのメッセージはプレーンなJSONL形式でローカルディスク上のGitリポジトリに保存され、cat、grep、jqといった標準Unixツールで直接処理できます。認証は実際のブラウザセッションを通じて行われ、資格情報はユーザーのマシンから離れません。
AIエージェント向けには、allmanはエージェントがシェルから直接呼び出せるように設計されています。すべてのコマンドは--jsonフラグに対応し、構造化データを出力します。エージェントはallmanを呼び出し、JSONをパースし、さらに処理するためにパイプできます。リアルタイムイベントストリームはNDJSON形式で出力され、長時間実行されるエージェントに適しています。組み込みの安全機構には送信前チェック(最後の読み取り以降に新しいメッセージが到着した場合は送信を中止)とチャンネルごとのレート制限が含まれ、エージェントの過剰送信を防ぎます。
allmanのインストールは簡単で、macOSとLinuxでは1行のcurlコマンドで単一バイナリが取得できます。ログインは実際のブラウザを使用し、同期後すぐに使用開始できます。プロジェクト全体はGitHubで公開されており、コミュニティによるコード貢献や独自アダプタの構築を歓迎しています。