Skip to content
na2menePublic

About

勝手に溜まり、勝手に片付く受信箱 — 自分宛の通知だけを自動収集して優先度順に並べる個人用 CLI

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

atena

atena(宛名)— 勝手に溜まり、勝手に片付く受信箱。通知の洪水から自分宛だけを抽出・仕分けし、AI が P1〜P3 で優先度付けする

GitHub / Slack を起点に、Confluence / Google Meet など対象サービスを増やしながら、 自分宛のアクション(レビュー依頼・メンション・リアクション・返信待ち)を 自動で受信箱に集める個人用 CLI。

名前は「宛名」から。各サービスを流れる大量の情報のうち、宛名が自分になっているもの だけを選り分けて届ける私書箱、という意味。

特徴

  • 登録は最小限 — 受信箱の中身は外部サービスの状態から自動で導出される。 手動追加(atena add)は補助
  • 消えるのも自動 — 自分がレスした・リアクションした・レビューを提出したことを 検知して自動でクローズする
  • 再浮上する — 一度消えても、新しい動きがあれば自動で再オープンする
  • 外部サービスへは読み取り専用 — 投稿・push・書き込み API を一切持たない。 トークンは read 系 scope のみ
  • 優先度で並ぶ — AI が依頼文面から緊急度を推定して P1〜P3 を付け、受信箱は優先度順に並ぶ

ステータス

Phase 1(GitHub + Slack コレクタ / fzf UI / launchd 定期収集)+ Phase 2(AI 要約 + 優先度推定 + 優先度順ソート)完了。 Phase 3(Confluence / Meet)は未着手。挙動の正は docs/SPEC.md を参照。

必要なもの

  • Node.js 22+
  • fzf(対話 UI)
  • gh CLI(GitHub トークンの自動解決)
  • Slack user token(xoxp- / search:read reactions:read users:read)
  • claude CLI(Phase 2 の AI エンリッチメント用。無くても素の表示で動く)

インストール

Claude Code などの AI エージェントに、これをそのまま貼る:

https://raw.githubusercontent.com/na2mene/atena/main/INSTALL.md を読んで、手順に従ってセットアップして

エージェントが clone から検証まで進め、人間にしかできない作業(Slack アプリ作成・ Google 認可)は依頼文つきで案内してくる。手順書の実体は INSTALL.md。

手動でやる場合

git clone https://github.com/na2mene/atena.git && cd atena
bash scripts/install.sh

以降の外部サービス設定は INSTALL.md の Step 2〜4 を参照。

依存確認 → npm install → ビルド → .env 雛形作成 → ~/bin/atena symlink → launchd 登録(2分間隔・9〜22時)まで一括で行う。何度実行しても安全。 初回は .env にトークン類を記入すること。

ソースを変更したら npm run build(または install.sh 再実行)。UI と定期収集は ビルド済みの dist/cli.mjs を使う。UI のキー割当や画面まわり(ui/atena.sh)の変更は 開いている UI には効かない — atena を開き直すこと。

定期収集の解除は launchctl bootout gui/$(id -u) ~/Library/LaunchAgents/com.atena.collect.plist。

使い方

atena ui            # fzf 対話 UI(開きっぱなし運用・20秒自動更新)
atena ls            # open な項目の一覧
atena add "メモ"    # 手動追加
atena done 2 5      # 消す
atena collect       # 収集(定期実行が呼ぶ)

atena ui を開いてからの操作

キー 動作
Enter 選択項目をブラウザで開く(複数マーク時は全部)
Ctrl-T 複数選択のマーク切替
Ctrl-D done(マークがあれば一括で消す)
Ctrl-Z 直前の done を取り消す
Ctrl-N 手動追加
Tab ソート切替(優先度順 → 時刻順 → ソース順)
Ctrl-P 選択項目の優先度を循環設定(P3 → P2 → P1 → P3。AI が上書きしなくなる)
Ctrl-R いますぐフル収集して更新
Esc 終了

一覧は20秒ごとに自動更新され、カーソルは選択中の項目に追従する。

About

勝手に溜まり、勝手に片付く受信箱 — 自分宛の通知だけを自動収集して優先度順に並べる個人用 CLI

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages