arxiv-paper-tracker
これは、設定可能なarXiv論文トラッキングのためのエージェント向けスキルです。このリポジトリが SKILL.md をサポートするエージェントシステムにクローンされると、ユーザーが指定した制約条件に基づいてarXiv論文の検索、追跡、重複排除、要約、定期的な監視を行いたい場合に、エージェントはこのスキルを使用する必要があります。
適切な使用例は次のとおりです。
- エージェントが生成した一時的な設定を使用した単発のarXiv検索。
- 永続的な既読状態ファイルを使用した定期的な論文追跡。
- 著者、機関、キーワード、arXivカテゴリ、日付範囲、結果数を含む、クエリ制約の任意の組み合わせの監視。
- 外部の通知システム、メールパイプライン、スケジューラー、チャットボットによって送信可能なMarkdownダイジェストの生成。
このファイルの例はあくまで例です。トピック、著者、機関、カテゴリ、時間枠、結果の制限はすべて config.yaml で設定可能です。
このスキルの機能
このスキルは以下を実行できます。
- arXivのクエリ。
- 著者、機関、キーワード、カテゴリによる論文のフィルタリング。
- arXiv IDによる論文の重複排除。
- ローカルの既読状態ファイルを維持し、重複した通知を回避。
- Markdownダイジェストの生成。
- ローカル設定ファイルで有効になっている場合、オプションでメール通知を送信。
このスキルは以下を実行しません。
- 論文の全文を自動翻訳する。
- PDFをダウンロードして詳細に読む。
- 論文の品質や関連性に関するユーザーの判断を代替する。
- ユーザーのメールパスワード、アプリパスワード、APIキー、その他のシークレットを保存または管理する。
インストール
現在のエージェントランタイムにパッケージがインストールされていない場合は、リポジトリルートから次を実行します。
python -m pip install -e .
これにより、次のコンソールコマンドがインストールされます。
arxiv-paper-tracker
コンソールコマンドが利用できない場合の同等のモジュールエントリポイントは次のとおりです。
python -m arxiv_paper_tracker.cli
推奨される使用方法
ローカル設定ファイルを作成します。
arxiv-paper-tracker init-config config.yaml
同等のコマンド:
python -m arxiv_paper_tracker.cli init-config config.yaml
config.yaml を編集した後、スキャンを実行します。
arxiv-paper-tracker scan \
--config config.yaml \
--state outputs/arxiv_tracker/state.json \
--output outputs/arxiv_tracker/latest.md
同等のコマンド:
python -m arxiv_paper_tracker.cli scan \
--config config.yaml \
--state outputs/arxiv_tracker/state.json \
--output outputs/arxiv_tracker/latest.md
エージェント使用ガイダンス
ユーザーが完全な設定ファイルを提供していない場合、エージェントはユーザーのリクエストに基づいて一時的なローカル設定ファイルを作成できます。以下のフィールドは例示であり、要求されたトピック、著者、機関、カテゴリ、時間枠、結果の制限に合わせて変更する必要があります。
queries:
authors: []
categories: []
keywords: []
institutions: []
limits:
max_results_per_query: 20
days_back: 7
state:
path: outputs/arxiv_tracker/state.json
email:
enabled: false
次に実行します。
arxiv-paper-tracker scan \
--config config.yaml \
--state outputs/arxiv_tracker/state.json \
--output outputs/arxiv_tracker/latest.md
ユーザーが長期的な追跡ではなく単発の検索のみを希望する場合、エージェントは一時的なパスを使用できます。
arxiv-paper-tracker scan \
--config /tmp/arxiv_tracker_config.yaml \
--state /tmp/arxiv_tracker_state.json \
--output /tmp/arxiv_tracker_digest.md
出力の処理
scan コマンドは次のことを行います。
- ダイジェストを標準出力に出力します。
--outputが指定された場合、ダイジェストをMarkdownファイルに書き込みます。
エージェントは標準出力または --output ファイルを読み取り、Markdownをターゲットサーフェス(ターミナル、Web UI、メール、Feishu、DingTalk、Slack、Discord、その他のチャットインターフェースなど)に適応させる必要があります。
スケジューリング
このリポジトリは特定のエージェントフレームワークに依存しません。定期的な実行には、任意のスケジューラーまたは自動化ランタイムから scan コマンドをトリガーします。例:
- OpenClaw またはその他のスキル対応エージェントランタイム。
- Claude Code またはその他のローカルコーディングエージェント。
- 別のエージェントスケジューラー。
- cron。
- GitHub Actions。
- カスタムスケジューラー。
スケジューラーは scan コマンドを実行し、生成されたMarkdownダイジェストを自身の通知チャネルを通じて配信するだけで十分です。
安全ルール
- 公開リポジトリは
config.example.yamlのみを提供します。 - 個人の
config.yamlファイルをコミットしないでください。 - メール通知はデフォルトで無効になっています。
- メールが有効な場合、SMTPユーザー名とアプリパスワードはローカルの設定ファイルにのみ存在する必要があります。
- ローカル設定ファイルはgitで無視される必要があります。
- メールのアプリパスワード、APIキー、クッキー、トークンをプロンプト、ログ、GitHub Issue、公開出力に公開しないでください。