吾輩

Wagahai

吾輩はメールクライアントである。名前は今言った。

Gmail・Google Workspace・Fastmail を、手元で軽快に動く一つのメールボックスにまとめた。通すのは、あなたが受け取ると決めた相手のメールだけである。

デモを30秒で。開幕の猫、Imbox、写真つきのニュースレター、スクリーナーの審査、そして取り消し。受信箱の表示まで80ミリ秒もかからない。

選んだ相手のメールだけ

知らない番号からの電話には、そう簡単に出ない。メールも同じでよいはずだ。HEY のこの発想を、吾輩も拝借した。そこに、どうしても欲しかった仕組みを足した。選別の結果はすべて、一行ずつ読んで直せるルールとして残る。受け取るかどうかを、モデルの気分に委ねる気はない。

初めての相手は保留

初めての差出人からのメールは、まずスクリーナーで待機する。y で受け入れ、n で以後お断り、l で仕分け。判断はキーひとつでルールになり、いつでも読み返せる。

返事待ちに目印

ウォッチャーが探すのは、あなたの返事を待つ質問である。「木曜は空いてる?」には印をつけるが、ニュースレターの「もっと成長しませんか?」は相手にしない。二度せっつくくらいなら、一度見逃すほうを選ぶ。

取り消しは一打

アーカイブも仕分けもルールも、u ひとつで取り消せる。送信も、実際に送り出すまでの猶予時間なら同じく取り消せる。後悔まで含めて、正規の使い方である。

文字と、ときどき画像

HTMLメールは、読みやすいテキストにして見せる。見栄えはよくない。画像はターミナルにそのまま表示できる。ただし、あなたが見たいと言ったときだけだ。

 Feed ▸ 1/48 · autumn, upcountry                                      r reply · f fwd 
 The Daily Loop ‹letters@dailyloop.example›                          today 07:12
   Autumn, upcountry

   The maples turned early this year. Our correspondent walked the
   ridge trail at dawn and sent back one picture worth the trip:
A photograph of a mountain ridge trail at dawn, maples turned red and orange above a valley of mist, drawn inline in the terminal
   Full gallery and the walking notes [1].

   ▨ 2 remote images shown · 1 tracker blocked — permanently

I を押せば画像が出る。トラッキングピクセルは出ない。設定で止めているのではなく、通さない作りである。遮断した数も表示する。

 screener review  3 senders · 5 threads                                               
  N  Noor Haddad                                                     → Feed             bulk: mentions unsubscribe                                                        Atlas: your week in review · 3 threads · noor@atlas.example                  
  M  Marco Bellini                                                   → Imbox?
     a person until told otherwise
     Intro from the Rust meetup · 1 thread · DMARC ✓

 y in · n out · l file · Enter open · u undo

スクリーナーでは、初めての差出人と判断材料を並べる。キーひとつで判断できる。

蓋を閉じても仕事中

吾輩は二つに分かれている。メールを預かるデーモンと、あなたが操作するクライアントである。デーモンは、自宅サーバでも押し入れの Mac mini でも、常時稼働のマシンに置く。ノートPCからは、いつもの ssh でクライアントを開けばよい。蓋を閉じても同期、選別、返事待ちの確認は続く。翌朝、どこから開いても仕事は済んでいる。クライアントの更新も同じ ssh 接続で片づく。

エージェントの権限

クライアントの全操作は、権限を指定できるローカルAPIからも使える。アシスタントは「Feed、読み取り専用、今夜まで」と権限を絞ったトークンで接続する。それ以外は見ることも触ることもできない。操作は誰が行ったかまで記録され、すべて取り消せる。一週間分の履歴もクエリひとつで追える。ただし、送信だけは譲れない。エージェントができるのは送信待ちに入れるところまで。実際に送るには、人間がキーを押す必要がある。

出来はいいのか

よくない。だが、作り手は気に入っている。吾輩は、作り手が自分たちのためにこしらえたメールクライアントである。無料、実験中。用途や環境が作り手のそれと違えば、まったく動かないこともある。作り手は自分のメールをすべて吾輩で読み、出来にも満足している。自作の品評であるから、話は割り引いて聞くべきだ。粗もあれば、足りない機能もある。主張だけは一人前である。

macOS 上の Ghostty。動作確認の実績は以上である。ほかでも動くかもしれない。吾輩もさっぱり知らない。

Google アカウントの扱い

以上である。処理はすべて、あなたのマシンで行う。吾輩のデーモンがメールプロバイダと直接やり取りする。こちらにサーバはなく、アカウントを作る必要もない。あなたのメールを、そのメールプロバイダ以外に渡すこともない。 プライバシーポリシー(英語)→

入手

一行で試せる。アカウントも設定もいらない。デモには架空のメールボックスが丸ごと入っている。返事をしなくても、誰も困らない。

curl -fsSL https://wagahai.org/install.sh | sh
wagahai --demo

現在の対応環境は macOS(Apple Silicon)である。インストール用のスクリプトは、先に目を通せる短さである。~/.local/bin にバイナリを一つ置き、チェックサムも検証する。実際のメールを使うには、先ほどの ssh の話に出てきた、自前の常時稼働デーモンが要る。導入の相談も、そのほかの用事も info@katayama.dev まで。用途を添えること。