aminer-daily-paper について
aminer-daily-paperは、AMinerのrec5 APIを通じて論文を推薦するスキルです。研究者はテーマや研究者名を指定でき、APIキーに紐づくアカウントに基づく個別推薦も利用できます。
主な機能
- 01テーマ別の論文推薦
- 02研究者別の論文推薦
- 03APIキーのアカウントに基づく個別推薦
- 04ページ指定での結果取得
活用シーン
- 01研究テーマの最近の論文探し
- 02特定の研究者に関連する論文の発見
- 03AMinerアカウントに合わせた推薦の取得
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ aminerorg/ aminer-open-skill --skill aminer-daily-paperインストール後、Claude Code で/aminer-daily-paperを入力して読み込まれたか確認します。
詳細
aminer-daily-paper
AMiner rec5 API を使用したパーソナライズされた論文推薦です。トークンが必要です。環境変数 AMINER_API_KEY を設定してください。
有効にするタイミング:ユーザーが論文の推薦を求めたときはいつでも有効にします。明示的なコマンド(/aminer-dp ...)または自然言語での依頼(RAG に関する論文をおすすめして、最近のマルチモーダル論文をおすすめして)が対象です。
実行前の確認:必須環境変数を確認する
AMINER_API_KEY — 常に必要です。スクリプトを呼び出す前に確認してください。
[ -z "${AMINER_API_KEY+x}" ] && echo "AMINER_API_KEY missing" || echo "AMINER_API_KEY exists"
設定されていない場合は処理を停止し、ユーザーに次のように伝えてください。
AMINER_API_KEYが設定されていません。https://open.aminer.cn でトークンを取得し、環境変数として設定してください。
ほかに必要な環境変数はありません。
API エンドポイント
POST https://datacenter.aminer.cn/gateway/open_platform/api/v3/paper/rec5
必須ヘッダー:
| ヘッダー | 値 |
|---|---|
Authorization | ${AMINER_API_KEY} |
X-Platform | 現在のホスト:claude-code / cursor / codex / openclaw。特定できない場合は unknown |
X-Skill-Name | aminer-daily-paper |
X-Skill-Version | このファイルのフロントマターにある version フィールド |
Content-Type | application/json;charset=utf-8 |
リクエストフィールド
| フィールド | 型 | 必須 | 説明 |
|---|---|---|---|
author_name | string | 条件付き | 学者名(英語)。バックエンドは人物検索によって学者 ID を解決します。 |
author_org | string | 任意 | 学者の所属機関(英語の正式名称)。名前が曖昧な場合、曖昧さを解消するために必要です。 |
topics | string[] | 条件付き | 研究トピックの語句。ユーザーの表現を使用してください(中国語、英語、または混在)。API は複数言語のトピック文字列を受け付けます。 |
size | int | 任意 | 1 回の呼び出しあたりの論文数(1~20)。モデルに決定させる場合は省略してください(後述)。 |
offset | int | 任意 | ページネーションのオフセット(0~100、デフォルトは 0)。 |
language_sort | string | 任意 | 中国語または英語を優先した順位付けをユーザーが明示的に求めた場合(例:「中国語の論文を優先」/「英語の論文を優先」)に限り、zh または en を指定します。それ以外の場合は省略してください。リクエストにこのフィールドは含まれません。 |
author_name または topics の少なくとも一方を指定してください。どちらも指定されていない場合、API は AMINER_API_KEY に関連付けられたアカウントに基づいて、パーソナライズされた推薦を返します。
レスポンス構造
{
"code": 200,
"success": true,
"data": [{
"offset": 0,
"size": 5,
"total": 32,
"papers": [{
"paper_id": "...",
"arxiv_id": "",
"title": "...",
"year": 2026,
"authors": ["Author A", "Author B"],
"keywords": ["kw1", "kw2"],
"summary": "...",
"structured_summary": {
"research_problem": "...",
"research_challenge": "...",
"research_method": "...",
"experimental_results": ""
},
"famous_authors": [],
"aminer_author_profiles": [],
"author_entries": [],
"links": {
"aminer": "https://www.aminer.cn/pub/{paper_id}",
"arxiv": "",
"pdf": ""
},
"paper_url": "https://www.aminer.cn/pub/{paper_id}",
"source": "local_rec5"
}]
}]
}
入力形式
構造化コマンドでも、自然言語でも、どちらも有効です。
/aminer-dp
/aminer-dp topics: multimodal agents, tool-use
/aminer-dp scholar: Jie Tang org: Tsinghua papers: OAG-Bench | RPC-Bench
recommend me recent papers on RAG
パラメーターなしで/aminer-dpを実行すると、トークンのみで API を呼び出します。API はAMINER_API_KEYを使ってアカウントを特定し、パーソナライズされたおすすめを返します。
自然言語入力 — スクリプトを呼び出す前に、あなた(モデル)が入力をフィールドに解析する必要があります。topicsについては特に重要です:
-
topics— ユーザーの意図を「翻訳で別のものに置き換えない」こと- ユーザーがトリガーにすでに
topics:(例:具身智能、环境保护)と記述している場合は、その文字列をそのままhandle_trigger.pyの--textに渡してください。無関係な英語の用語に置き換えてはいけません(例:任意のトピックを「Knowledge Distillation」、「Smart agriculture」、またはユーザーが求めていない別の分野に対応付けてはいけません)。 - 検索用に英語を追加する場合は、同じ概念を忠実に表す別名にしてください(例:具身智能 →
embodied intelligence、环境保护 →environmental protection)。迷った場合は、ユーザーの元の表現を残し、類義語を作り出さないでください。 - ユーザーのトピックを別の研究分野に変更してはいけません。
- ユーザーがトリガーにすでに
-
研究者と所属機関(人物検索は引き続き英語を中心に行います)
- 研究者を特定する際は、
author_name/author_orgに一般的に使われている英語表記を使用してください(例:Jie Tang、Tsinghua University)。よく知られた機関の略称は正式名称に展開し、名前が曖昧な場合はauthor_orgを追加してください。名前を確実に特定できない場合は、ユーザーに確認してください。
- 研究者を特定する際は、
-
language_sort— ユーザーが中国語または英語を優先しておすすめを順位付けするよう明確に求めている場合に限り、トリガーにlanguage_sort: zhまたはlanguage_sort: enを含めてください。求めていない場合は追加しないでください(API 呼び出しではlanguage_sortが省略されます)。 -
sizeと複数回呼び出すかどうかを決めます(呼び出し戦略を参照)。 -
トリガーを組み立て直してから、
handle_trigger.pyを呼び出します。
例(中国語のトピック — そのまま保持):
- ユーザー:
/aminer-dp topics: 具身智能, 环境保护 - 呼び出し:
handle_trigger.py --text "/aminer-dp topics: 具身智能, 环境保护"
(topicsを無関係な英語に書き換えないでください。)
例:
- ユーザー:
/aminer-dp 我做多模态智能体和 tool-use,帮我推荐最近论文 - 抽出内容:
topics: multimodal agents, tool-use - 呼び出し:
handle_trigger.py --text "/aminer-dp topics: multimodal agents, tool-use size: 5"
例(研究者):
- ユーザー:
/aminer-dp 我是唐杰,清华大学,做多模态和知识图谱 - 抽出内容:
scholar: Jie Tang, org: Tsinghua University, topics: multimodal, knowledge graph - 呼び出し:
handle_trigger.py --text "/aminer-dp scholar: Jie Tang org: Tsinghua University topics: multimodal, knowledge graph"
例(名前が曖昧なため、ユーザーに確認):
- ユーザー:
/aminer-dp 推荐张伟方向的论文 - あなた:「张伟はよくある名前です。正確に特定するため、所属機関(例:张伟,北京大学)を教えてください。または、aminer_author_idを直接指定してください。」
papersフィールド:代表的な論文タイトル(例:papers: OAG-Bench | RPC-Bench)は、特定の文脈を補うためにscholar / author_nameと併記します。API フィールドに直接対応するものではありません。
呼び出し戦略
入力に基づいて、sizeと複数回呼び出すかどうかを決めます。
| シナリオ | アクション |
|---|---|
| トピックまたは研究者が1つで、カジュアルな依頼 | 1回呼び出し、sizeは省略(デフォルトは10) |
| ユーザーが件数を明示(例:「5件ください」) | 1回呼び出し、指定件数に従う(最大20件) |
| 異なるトピックが複数(例:RAG + multimodal agents) | トピックグループごとに1回呼び出し、各回size: 5 |
| トピックを指定しない、広範で自由形式の依頼 | 1回呼び出し、sizeは省略(デフォルトは10) |
複数回呼び出す場合のルール:
- トピックグループごとに
handle_trigger.pyを1回呼び出し、その都度、対象を絞ったtopics:のサブセットを渡します。 - 精度を高めるため、各
topics:リストは関連性の高い用語1〜3個にします。 - 順番に呼び出し、すべての呼び出しが完了してから結果をまとめて提示します。
- ユーザーが追加を求めない限り、全呼び出し分の論文は合計で約15件を超えないようにします。
実行
サポートされているエントリーポイントは1つだけです。
python3 "{baseDir}/scripts/handle_trigger.py" \
--base-dir "{baseDir}" \
--text "<trigger text with explicit fields>" \
[--config /path/to/config.yaml]
--text:明示的なフィールド(topics:、scholar:など)を含む再構成済みのトリガー--config:YAML 設定ファイルの任意のパス(ファイルが存在する場合、outputs/内のランタイムコピーを介して{baseDir}/config.yamlがデフォルトになります)
handle_trigger.py はフィールドを解析して rec5 API を呼び出し、ユーザーに表示する reply_text(Markdown)を含む JSON を返します。
契約
- 明示的に実行するたびに、新しい実行となります。
- ステータスのみのテキストで回答しないでください。
- スキルの検索、インストール、修復は行わないでください。
handle_trigger.pyの実行後、JSON 出力のfinal_responseを確認してください。TEXT— 通常の処理です。reply_text(Markdown)をユーザーに提示してください。任意:アクティブなチャネルに合わせて表現を調整してもかまいません。より豊かな文章にしたい場合は、prompts/enrich.mdを中国語のエンリッチメント用リファレンスとして利用できます。- その他のエラー →
reply_text(またはエラーの詳細)をユーザーに報告してください。
注: このスキルは reply_text を含む JSON を返すだけで、チャネル固有の送信には対応していません。
エラー処理
AMINER_API_KEYが未設定 → 停止し、設定するようユーザーに促します。- プロフィール入力がない → トピック、研究者名、または
aminer_author_idを指定するようユーザーに促します。 - API エラー → エラーが発生した段階を報告し、他のスキルにはフォールバックしないでください。