← 工房に戻る
毎日の道具

Threadmark

にぎやかな WhatsApp グループを、自分に関係のあることだけの短いリストに。支払い、打ち合わせ、締め切りを拾い出します。

Threadmark はセルフホスト型です。各自がそれぞれ専用のコピーを動かします。

未対応の項目、支払い、打ち合わせ、見守っているチャットを表示した注目受信箱

アプリについて

Threadmark は、自分で選んだ WhatsApp のグループと相手のためのプライベートな注目受信箱です。新しいメッセージが届くたびに読み、支払い、打ち合わせ、締め切り、そのほか見張るよう頼んだものを拾い出して、それだけを表示します。それ以外は WhatsApp に残ります。

WhatsApp Web と同じくリンク済みデバイスとして接続し、設計上は読むだけです。メッセージを送ることも、チャットを既読にすることも、オンライン表示にすることも、過去の履歴を読むこともありません。この接続は非公式なので、WhatsApp が仕様を変えたり、使っているアカウントを制限したりする可能性があります。

グループも相手も、オンにするまではすべてオフです。ほかのチャットのメッセージは確認や保存の前に破棄され、選んだチャットでも何にも当てはまらなかったメッセージは残りません。

ギャラリー

これらのスクリーンショットのチャットは架空のものです。

仕組み

  1. WhatsApp を接続。 QR コードかペアリングコードで、Threadmark をデバイスとしてリンクします。
  2. チャットを選ぶ。 見守りたいグループと相手だけをオンにします。名前や番号で検索するか、スマートフォンの連絡先から取り込めます。
  3. 仕分けを任せる。 組み込みの検出器と自分のフレーズルールが、新しいメッセージを 1 件ずつサーバー上で確認します。何も当てはまらず Jev がオンなら、AI サービスがもう一度目を通します。
  4. 大事なことに対応する。 項目を完了にする、スヌーズする、カレンダーに追加する、間違えたときに Threadmark に伝える、といった操作ができます。

機能

  • 支払いと打ち合わせをローカルで検出: 組み込みの検出器がルーマニア語と英語のメッセージを読み、金額、通貨、IBAN、日付、時刻、リンクを取り出します。
  • 自分だけのルール: フレーズルールは、指定した語のいずれか、またはすべてを、大文字小文字やアクセント記号を区別せずに探し、サーバーの外には出ません。ルールごとに対象のチャットを絞り、通知するかどうかを決め、まず例文で試せます。
  • ふだんの言葉で書くモニター: 注意が必要な荷物や予約のように、見張りたい内容を一文で書き、Jev がどれだけ確信したらメッセージを知らせるかを決めます。
  • AI はあくまで予備: ローカルで何も当てはまらないときは、TypeSafe AI のオプションサービス Jev が支払い、打ち合わせ、リマインダーを探し、緊急度を判定します。受け取るのはメッセージ本文だけで、チャット名、送信者、電話番号、WhatsApp の ID は送られません。
  • 締め切りと緊急度: 期日はメッセージから読み取られ、項目には期限間近や期限切れのバッジが付き、緊急のものは上に表示されます。
  • 支払いの警告: 変更された口座情報、変わった金額、重複の可能性、パスワードや支払いを求める不自然な依頼には、念のため確認するよう印が付きます。
  • 添付ファイルはローカルで読み取り: 写真、PDF、ボイスメッセージは、文字認識と音声の文字起こしでサーバー上で読み取り、すぐに削除できます。読めなかった手書きのメモは、写真を確認するためのリマインダーになります。
  • 変更と返信: Threadmark は、予定の訂正や取りやめに気づいたり、返信したら返信リマインダーを閉じたりできます。どちらも初期設定ではオフで、直近の本文を最大 48 時間だけ保持します。
  • 通知と毎日のまとめ: 新しい項目のプッシュ通知、緊急の項目には緊急のタイトル、さらに希望すれば指定した時刻に毎日のまとめが届きます。
  • 保存は短く: 検出した抜粋は、項目が未対応のまま残っていない限り、初期設定では 30 日後に削除されます。

ボンネットの下で

Threadmark は 2 つの部分からなり、それぞれが root 権限なしの Podman コンテナで動きます。ブリッジは Baileys ライブラリで WhatsApp との接続を保ち、アプリが受け取るまで各メッセージをキューに残します。アプリは Node.js 24 と内蔵の SQLite で動き、server-sent events と Web Push でブラウザに更新をリアルタイムに送ります。ブリッジは外部にポートを開きません。利用は招待制で PWA Invite Console から管理し、アプリは pwa-kit で自動更新されます。メッセージは中立的な形式でアプリに届くので、今後 Telegram やメールなどほかの経路も追加できます。このプロジェクトは GPL-3.0 ライセンスのオープンソースです。