بنقرة واحدة
fetch-arxiv-to-lexiang
从 arXiv 抓取最新 AI 论文,精选 8-12 篇有价值论文,生成中英文摘要,下载原文 PDF,并上传到腾讯乐享知识库。支持通过定时任务自动执行,也可手动触发。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
从 arXiv 抓取最新 AI 论文,精选 8-12 篇有价值论文,生成中英文摘要,下载原文 PDF,并上传到腾讯乐享知识库。支持通过定时任务自动执行,也可手动触发。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
| name | fetch-arxiv-to-lexiang |
| description | 从 arXiv 抓取最新 AI 论文,精选 8-12 篇有价值论文,生成中英文摘要,下载原文 PDF,并上传到腾讯乐享知识库。支持通过定时任务自动执行,也可手动触发。 |
| description_zh | 抓取 arXiv 论文并归档到乐享知识库 |
| description_en | Fetch arXiv AI papers and archive to Tencent Lexiang knowledge base |
| version | 1.0.0 |
| homepage | https://github.com/ajaxhe/fetch-arxiv-to-lexiang |
从 arXiv cs.AI 板块抓取最新论文,精选有价值的论文并生成结构化摘要,上传到腾讯乐享知识库归档。
当以下信号出现时执行:
执行完成后,skill 产出以下内容:
| 产物 | 路径/位置 | 说明 |
|---|---|---|
| 摘要 Markdown | /tmp/arxiv-daily/YYYY-MM-DD/arxiv_daily_digest.md | 结构化论文摘要(含概览表格 + 详情) |
| 论文 PDF | /tmp/arxiv-daily/YYYY-MM-DD/*.pdf | 精选论文的原文 PDF |
| 乐享知识库条目 | arXiv最新AI论文 / YYYY-MM-DD / | 摘要和论文 PDF 均上传到乐享知识库 |
/tmp/arxiv-daily/为临时工作目录,每次执行前清理当天目录。
从 arXiv cs.AI recent 页面获取最新论文:
bash scripts/fetch_arxiv.sh
脚本会:
https://arxiv.org/list/cs.AI/recent 页面也可使用 web_fetch 工具直接获取页面内容:
url: https://arxiv.org/list/cs.AI/recent
fetchInfo: "提取页面中所有论文条目,包括:论文ID(arXiv ID)、标题、作者列表、摘要页链接。以结构化格式输出。"
从抓取的论文列表中,精选 8-12 篇有价值的论文。
优先级排序:
淘汰规则:
对每篇精选论文:
https://arxiv.org/abs/{paper_id} 获取英文摘要https://arxiv.org/pdf/{paper_id}.pdf 下载论文原文# 下载论文 PDF 到工作目录
TODAY=$(date +%Y-%m-%d)
WORK_DIR="/tmp/arxiv-daily/$TODAY"
mkdir -p "$WORK_DIR"
curl -L -o "$WORK_DIR/{paper_id}.pdf" "https://arxiv.org/pdf/{paper_id}.pdf"
将精选论文整理成结构化的 Markdown 文档,保存到 $WORK_DIR/arxiv_daily_digest.md。
格式模板:
# arXiv AI 论文每日精选 - YYYY-MM-DD
> 从 arXiv cs.AI 板块精选 N 篇最新论文
## 概览
| # | 标题 | 方向 | 亮点 |
|---|------|------|------|
| 1 | [论文标题](https://arxiv.org/abs/xxxx.xxxxx) | Agent | 一句话亮点 |
| 2 | [论文标题](https://arxiv.org/abs/xxxx.xxxxx) | LLM | 一句话亮点 |
| ... | ... | ... | ... |
## 标签分布
- Agent: N 篇
- LLM: N 篇
- RAG: N 篇
- ...
---
## 详细信息
### 1. 论文中文标题
**原标题**: English Title
**作者**: Author1, Author2, ...
**机构**: Institution
**arXiv ID**: xxxx.xxxxx
**方向**: Agent
**中文摘要**:
中文翻译的摘要内容...
**创新点**:
- 创新点1
- 创新点2
**链接**: [论文](https://arxiv.org/abs/xxxx.xxxxx) | [PDF](https://arxiv.org/pdf/xxxx.xxxxx.pdf)
---
### 2. 下一篇论文...
将摘要和论文 PDF 上传到乐享知识库的指定位置。
本 skill 的目标知识库等信息通过配置文件管理,不在 SKILL.md 中硬编码。
配置文件路径:config.json(位于 skill 根目录,即与本 SKILL.md 同级)
当 config.json 中 _initialized 为 false 或 space_id 为空时,在执行任何乐享操作前,必须先通过对话引导用户完成配置。
核心设计:用户只需要粘贴一个乐享知识库链接,Agent 自动完成所有配置。
链接格式:https://<domain>/spaces/<space_id>?company_from=<company_from>
流程如下:
第一步:检测 MCP 连接
whoami)检测 MCP 是否已连接⚠️ 乐享 MCP 尚未连接。请先完成鉴权配置:
1. 访问 https://lexiangla.com/mcp 登录后获取 COMPANY_FROM 和 LEXIANG_TOKEN
2. 按照你使用的 Agent 配置 MCP 连接:
- CodeBuddy:在 MCP 管理面板中添加 lexiang server
- OpenClaw:运行 claw install https://github.com/tencent-lexiang/lexiang-mcp-skill
- 其他 Agent:在 MCP 配置文件中添加 lexiang server
3. 完成后告诉我,我会继续配置流程。
不要继续后续步骤,等待用户完成 MCP 连接后重试。第二步:请求用户提供知识库链接
🔧 首次使用,需要配置目标知识库。
请粘贴你想用来归档论文的乐享知识库链接,格式如:
https://lexiangla.com/spaces/xxxxx?company_from=yyyyy
💡 获取方式:在乐享中打开目标知识库,复制浏览器地址栏中的链接即可。
第三步:解析链接并验证
lexiangla.com)/spaces/ 后面的路径段company_from= 参数值space_id 或 company_from)→ 提示用户重新粘贴正确的链接space_describe_space(参数:space_id=<解析出的 space_id>)验证知识库是否存在第四步:写入配置并确认
config.json当用户说「重新配置知识库」等类似意图时:将 config.json 中 _initialized 设为 false,重新执行初始化流程。
| 用户输入 | 处理方式 |
|---|---|
完整链接 https://lexiangla.com/spaces/xxx?company_from=yyy | 直接解析 ✅ |
| 不带 company_from 的链接 | 提示补充 company_from 参数 |
| 纯 space_id | 提示提供完整链接 |
页面链接 https://lexiangla.com/pages/xxx | 提示提供知识库链接而非页面链接 |
{
"_initialized": false,
"lexiang": {
"target_space": {
"space_id": "",
"space_name": "",
"company_from": ""
},
"access_domain": {
"domain": "lexiangla.com",
"page_url_template": "https://lexiangla.com/pages/{entry_id}?company_from={company_from}",
"space_url_template": "https://lexiangla.com/spaces/{space_id}?company_from={company_from}"
}
}
}
access_domain会从用户粘贴的链接中自动提取域名,无需手动配置。
后续文档中所有 <SPACE_ID>、<COMPANY_FROM> 等占位符,均指从 config.json 中读取的实际值。
本 skill 需要服务多个 Agent 产品(OpenClaw、CodeBuddy、Claude Desktop 等)。不同 Agent 连接乐享 MCP 的方式不同,但暴露的工具名称和参数完全一致(都是 lexiang MCP server 提供的标准工具)。
核心原则:本 skill 只描述「调用哪个工具 + 传什么参数」,不规定具体的 MCP 调用语法。每个 Agent 按自己的方式调用即可。
MCP 连接检测与 Token 刷新:
在执行乐享操作前,必须先检测 lexiang MCP 是否已连接:
config.json,检查 _initialized 和 lexiang.target_space.space_idspace_describe_space(参数:space_id=<config 中的 space_id>)验证 MCP 连接token、expired、unauthorized、401、403 等关键词,自动调用 refresh-lexiang-token skill 刷新 Token⚠️ 禁止降级为 curl 调用 REST API:即使 MCP 未连接,也不要自行编写 curl 调用乐享 REST API。应该引导用户修复 MCP 连接。
Token 刷新触发条件:
当以下任一情况发生时,自动刷新 Token:
access_token、expired、unauthorizedToken 刷新流程:
1. 检测到 MCP 调用失败
2. 判断是否为 Token 过期(错误码或错误信息)
3. 是 → 调用 refresh-lexiang-token skill
4. 刷新成功后重试原操作
5. 刷新失败或仍然报错 → 提示用户手动处理
从 config.json 的 lexiang.target_space 中读取:
config.lexiang.target_space.space_nameconfig.lexiang.target_space.space_idconfig.lexiang.access_domain.space_url_template 格式拼接⚠️ 访问链接域名:用户可访问的乐享前端域名从
config.lexiang.access_domain.domain读取,不是mcp.lexiang-app.com(后者是 MCP API 服务端域名,浏览器无法直接访问)。所有展示给用户的链接必须按config.json中page_url_template格式生成。
按天维度组织目录,日期目录直接放在知识库根目录下:
知识库根目录/
2026-03-18/
arxiv_daily_digest.md (摘要,在线文档 page 类型)
xxxx.xxxxx.pdf (论文 PDF)
yyyy.yyyyy.pdf
2026-03-19/
...
通过 lexiang MCP 工具,按以下步骤完成上传:
步骤 0:读取配置(含初始化检测)
config.json 文件_initialized 是否为 true 且 lexiang.target_space.space_id 非空space_id、company_from、page_url_template 等配置项步骤 1:获取知识库根节点
space_describe_space(参数:space_id=<config 中的 SPACE_ID>)root_entry_id步骤 2:检查/创建当天日期目录
entry_list_children(参数:parent_id=<root_entry_id>)查询根目录下的子条目2026-03-18)的 folder 类型条目entry_create_entry(参数:parent_entry_id=<root_entry_id>, name="2026-03-18", entry_type="folder")创建日期目录直接放在知识库根目录下,不要挂在 CodeBuddy/Moltbot 等子文件夹下。
步骤 3:去重检查
entry_list_children(参数:parent_id=<日期目录ID>)查询该日期目录下已有的条目步骤 4:上传摘要 Markdown
使用 entry_import_content 创建为在线文档(page 类型):
space_id=<SPACE_ID>, parent_id=<日期目录ID>, name="arxiv_daily_digest", content=<摘要Markdown文件内容>, content_type="markdown"步骤 5:上传论文 PDF
对每篇精选论文的 PDF 文件,通过三步上传流程上传:
file_apply_upload(参数:parent_entry_id=<日期目录ID>, name="<paper_id>.pdf", size=<文件字节数>, mime_type="application/pdf", upload_type="PRE_SIGNED_URL")curl -X PUT 将 PDF 文件上传到返回的 upload_url(预签名 URL 直传 COS,不涉及认证信息)file_commit_upload(参数:session_id=<上一步返回的session_id>)上传 PDF 时建议间隔 1-2 秒,避免触发频率限制。
步骤 6:输出结果
config.json 中的 page_url_template 格式拼接文档链接,告知用户{company_from} 占位符用 config.json 中的 company_from 值替换config.json 中 page_url_template 格式生成,不要使用 mcp.lexiang-app.com_mcp_fields 参数可以减少返回数据量,如 _mcp_fields=["id", "root_entry_id", "name"]执行完成后,返回以下信息供调用方使用(如企微推送):
链接中的
{entry_id}和{company_from}从config.json中的page_url_template和company_from拼接。
{
"date": "YYYY-MM-DD",
"paper_count": 10,
"digest_md_path": "/tmp/arxiv-daily/YYYY-MM-DD/arxiv_daily_digest.md",
"digest_entry_id": "乐享摘要条目ID",
"digest_entry_link": "<按 config.json 中 page_url_template 格式拼接>",
"date_dir_entry_id": "乐享日期目录ID",
"papers": [
{
"id": "xxxx.xxxxx",
"title": "论文标题",
"title_cn": "中文标题",
"direction": "Agent",
"highlight": "一句话亮点",
"pdf_path": "/tmp/arxiv-daily/YYYY-MM-DD/xxxx.xxxxx.pdf",
"arxiv_url": "https://arxiv.org/abs/xxxx.xxxxx"
}
]
}
md_to_pdf.py(Markdown 转 PDF,可选)| 问题 | 原因 | 解决方案 |
|---|---|---|
| TLS握手失败 | 企业防火墙/代理拦截 | 等待后重试或使用 Papers With Code 备选 |
| DNS解析失败 | 网络配置问题 | 使用备用 DNS 或 IP 直连 |
| 连接超时 | 网络拥堵/服务器负载 | 指数退避重试 |
| 403/429 错误 | 访问频率限制 | 降低请求频率或等待 |
Step 1:执行网络诊断
# 检查网络连通性
curl -sL --max-time 10 "https://arxiv.org" -o /dev/null -w "HTTP: %{http_code}\n"
# 检查 TLS 证书
openssl s_client -connect arxiv.org:443 -servername arxiv.org 2>&1 | grep "CONNECTED"
# 检查 DNS
nslookup arxiv.org
Step 2:带重试的请求函数
# 带指数退避的重试函数
fetch_with_retry() {
local url="$1"
local max_attempts=3
local attempt=1
local delay=2
while [ $attempt -le $max_attempts ]; do
echo "Attempt $attempt/$max_attempts: $url" >&2
response=$(curl -sL --max-time 30 "$url")
http_code=$(curl -sL -o /dev/null -w "%{http_code}" --max-time 30 "$url")
if [ "$http_code" = "200" ]; then
echo "$response"
return 0
fi
echo "HTTP $http_code, retrying in ${delay}s..." >&2
sleep $delay
delay=$((delay * 2))
attempt=$((attempt + 1))
done
echo "Failed after $max_attempts attempts" >&2
return 1
}
Step 3:备用数据源
当 arXiv 无法访问时,自动切换到 Papers With Code:
# 备用方案:使用 Papers With Code
FALLBACK_URL="https://paperswithcode.com/papers"
# 解析 trending papers 页面获取论文列表
1. 尝试连接 arXiv (3次重试,指数退避)
↓ 失败
2. 执行网络诊断,记录错误类型
↓
3. 切换到 Papers With Code 获取论文信息
↓
4. 标记 PDF 为"待手动下载",只上传摘要
↓
5. 完成后报告网络状态和恢复建议
config.json 管理,首次使用时通过对话式引导自动完成初始化,无需手动编辑config.json 中 page_url_template 拼接,必须带 company_from 参数web_fetch 作为备选方案