279 lines
7.3 KiB
Python
279 lines
7.3 KiB
Python
"""
|
||
科研助手技能 - 每日论文收集与日报生成
|
||
|
||
使用方法:
|
||
- 发送指令:"今天阅读文献" 或 "写个日报" 或 "科研日报"
|
||
- 技能会自动:访问RSS、搜索arXiv、筛选论文、生成日报
|
||
"""
|
||
|
||
from typing import Optional
|
||
import re
|
||
from datetime import datetime
|
||
|
||
def research_assistant(
|
||
date: Optional[str] = None,
|
||
include_rss: bool = True,
|
||
include_arxiv: bool = True,
|
||
categories: Optional[str] = None,
|
||
max_results: int = 15
|
||
) -> str:
|
||
"""
|
||
生成每日科研日报
|
||
|
||
Args:
|
||
date: 指定日期,格式YYYY-MM-DD,默认为今天
|
||
include_rss: 是否包含RSS订阅论文
|
||
include_arxiv: 是否包含arXiv论文
|
||
categories: 指定arXiv分类,逗号分隔,如 "RAG,Spatial"
|
||
max_results: 每个分类返回的最大论文数
|
||
|
||
Returns:
|
||
生成日报的指令字符串
|
||
"""
|
||
|
||
# 默认日期为今天
|
||
if date is None:
|
||
date = datetime.now().strftime("%Y-%m-%d")
|
||
|
||
# 构建完整的提示词
|
||
prompt = f"""# 科研助手任务 - {date}
|
||
|
||
请作为我的科研助手,完成以下论文收集和日报生成任务。
|
||
|
||
## 我的研究方向
|
||
|
||
**核心领域**:数字火星平台构建(计算机与遥感结合)
|
||
|
||
1. **时空数据管理与检索** - 大规模遥感影像并发查询、I/O优化、时空索引
|
||
2. **RAG** - 空间数据RAG、多源检索、幻觉消解、多尺度融合、时空动态性
|
||
3. **大模型** - 地球科学/行星科学大模型、多模态大模型、知识融合
|
||
4. **KV Cache** - 大模型推理优化
|
||
|
||
---
|
||
|
||
## 任务清单
|
||
|
||
### 1. RSS订阅论文收集 {'' if include_rss else '(跳过RSS)'}
|
||
|
||
**使用Chrome MCP访问RSS**:
|
||
|
||
**步骤1:检查未读论文**
|
||
- 打开:http://192.168.190.20:8080/
|
||
- 登录:用户名la,密码longao2001
|
||
- 查看"未读"论文数量
|
||
|
||
**步骤2:判断是否需要阅读**
|
||
- 如果有未读论文:读取未读论文的标题和摘要
|
||
- 如果全部已读:检查今天是否有更新
|
||
- 如果今天有新论文:读取新论文
|
||
- 如果今天没更新:跳过RSS,记录"RSS今日无更新"
|
||
|
||
在看完网站后,记得你打开的浏览器。
|
||
|
||
**重要**:只阅读未读或今天新上的论文,不要重复阅读已读的旧论文。
|
||
|
||
### 2. arXiv论文搜索 {'' if include_arxiv else '(跳过arXiv)'}
|
||
|
||
**只搜索今天({date})上新发表的论文**
|
||
|
||
使用arXiv MCP,设置 `date_from="{date}"`,搜索以下方向:
|
||
|
||
**方向1:RAG**
|
||
- 查询:`"retrieval augmented generation" OR RAG`
|
||
- 分类:cs.CL, cs.AI, cs.IR, cs.LG
|
||
- 重点:多源RAG、图RAG、幻觉消解、空间RAG
|
||
|
||
**方向2:空间数据与遥感**
|
||
- 查询:`"spatial data" OR "geospatial" OR "remote sensing" AND ("deep learning" OR "foundation model")`
|
||
- 分类:cs.CV, cs.LG
|
||
- 重点:地理空间推理、遥感基础模型、行星科学、火星
|
||
|
||
**方向3:高光谱图像**
|
||
- 查询:`"hyperspectral" OR "multispectral" AND ("classification" OR "unmixing" OR "Mamba")`
|
||
- 分类:cs.CV, cs.LG, eess.IV
|
||
- 重点:光谱-空间特征、Mamba网络、自监督学习
|
||
|
||
**方向4:KV Cache**
|
||
- 查询:`"KV cache" OR "attention cache" OR "LLM inference" AND ("compression" OR "optimization")`
|
||
- 分类:cs.CL, cs.AI, cs.LG
|
||
- 重点:压缩、共享、优化、稀疏注意力
|
||
|
||
每个方向最多返回 {max_results} 篇论文。
|
||
|
||
---
|
||
|
||
### 3. 论文筛选标准
|
||
|
||
根据我的研究方向,将论文分为:
|
||
- ⭐⭐⭐⭐⭐ 高度相关(直接对应我的研究问题)
|
||
- ⭐⭐⭐⭐ 值得关注(方法可借鉴、相关领域)
|
||
- ⭐⭐⭐ 了解即可(领域前沿)
|
||
|
||
---
|
||
|
||
### 4. 日报格式
|
||
|
||
**每篇论文格式**(严格按此格式):
|
||
|
||
### 论文标题
|
||
- **摘要**:(如果是英文摘要,保持原文,不要翻译)
|
||
- **与你研究的关联**:(2-3句话说明与数字火星、Geo-MultiRAG、KV Cache的关系)
|
||
|
||
---
|
||
|
||
**日报结构**:
|
||
|
||
```markdown
|
||
# 📅 科研日报 - {date}
|
||
|
||
> 生成时间:{date}
|
||
> 数据来源:RSS订阅 + arXiv(仅今日上新)
|
||
|
||
---
|
||
|
||
## 📊 数据来源统计
|
||
|
||
| 来源 | 论文数量 |
|
||
|------|----------|
|
||
| RSS订阅 | X篇(或:今日无更新) |
|
||
| arXiv | X篇 |
|
||
|
||
---
|
||
|
||
## 🔥 重点关注(⭐⭐⭐⭐⭐)
|
||
|
||
[论文列表,每篇按上述格式]
|
||
|
||
---
|
||
|
||
## 📝 值得关注(⭐⭐⭐⭐)
|
||
|
||
[论文列表,每篇按上述格式]
|
||
|
||
---
|
||
|
||
## 💡 了解即可(⭐⭐⭐)
|
||
|
||
[简要列出标题和方向]
|
||
|
||
---
|
||
|
||
## 📌 今日行动建议
|
||
|
||
### 必读论文
|
||
1. [论文标题]
|
||
- 重点:[需要关注的点]
|
||
- 思考:[研究问题]
|
||
|
||
### 深入阅读
|
||
1. [论文标题]
|
||
|
||
### 思考问题
|
||
1. [结合研究提出的问题]
|
||
2. [可借鉴的方法或思路]
|
||
|
||
---
|
||
|
||
## 💭 研究启示
|
||
|
||
### 对Geo-MultiRAG的启发
|
||
- [要点]
|
||
|
||
### 对数字火星平台的启发
|
||
- [要点]
|
||
|
||
### 对KV Cache优化的启发
|
||
- [要点]
|
||
|
||
---
|
||
|
||
*本日报由科研助手自动生成 | 保存路径:daily/{date}.md*
|
||
```
|
||
|
||
### 5. 保存日报
|
||
|
||
将日报保存到:`C:\\Users\\islon\\OneDrive\\Desktop\\studio\\research-assistant\\daily\\{date}.md`
|
||
|
||
---
|
||
|
||
请开始执行任务。
|
||
"""
|
||
|
||
# 处理RSS任务描述
|
||
rss_task = """**使用Chrome MCP**:
|
||
1. 打开 http://192.168.190.20:8080/
|
||
2. 登录(la/longao2001)
|
||
3. 检查未读论文数量
|
||
4. **判断**:
|
||
- 有未读 → 阅读未读论文摘要
|
||
- 全部已读 → 检查今天是否有更新
|
||
- 有更新 → 阅读新论文
|
||
- 无更新 → 跳过RSS,记录"今日无更新"
|
||
5. 只提取:标题、摘要(保持原文)"""
|
||
|
||
# 处理arXiv任务描述
|
||
arxiv_task = f"""**使用arXiv MCP**,设置 `date_from="{date}"`(只搜索今天的论文):
|
||
- RAG方向:`"retrieval augmented generation" OR RAG`
|
||
- 空间数据/遥感:`"spatial data" OR "geospatial" OR "remote sensing"`
|
||
- 高光谱:`"hyperspectral" OR "multispectral"`
|
||
- KV Cache:`"KV cache" OR "LLM inference"`
|
||
- 每个方向最多{max_results}篇"""
|
||
|
||
prompt = prompt.replace("{rss_task}", rss_task).replace("{arxiv_task}", arxiv_task)
|
||
|
||
return prompt
|
||
|
||
|
||
# 技能元数据
|
||
skill_metadata = {
|
||
"name": "research-assistant",
|
||
"description": "每日科研助手:收集arXiv和RSS论文,生成科研日报(优化版:只看未读、只看今日上新)",
|
||
"version": "2.0.0",
|
||
"author": "Claude",
|
||
"triggers": [
|
||
"今天阅读文献",
|
||
"写个日报",
|
||
"科研日报",
|
||
"收集论文",
|
||
"查看今天论文",
|
||
"文献日报"
|
||
],
|
||
"parameters": {
|
||
"date": {
|
||
"type": "string",
|
||
"description": "指定日期(YYYY-MM-DD),默认今天",
|
||
"required": False
|
||
},
|
||
"include_rss": {
|
||
"type": "boolean",
|
||
"description": "是否包含RSS订阅",
|
||
"required": False,
|
||
"default": True
|
||
},
|
||
"include_arxiv": {
|
||
"type": "boolean",
|
||
"description": "是否包含arXiv论文",
|
||
"required": False,
|
||
"default": True
|
||
},
|
||
"categories": {
|
||
"type": "string",
|
||
"description": "指定分类(逗号分隔)",
|
||
"required": False
|
||
},
|
||
"max_results": {
|
||
"type": "integer",
|
||
"description": "每个分类的最大论文数",
|
||
"required": False,
|
||
"default": 15
|
||
}
|
||
},
|
||
"examples": [
|
||
"今天阅读文献",
|
||
"写个日报",
|
||
"科研日报",
|
||
"收集论文 max_results=20",
|
||
"科研日报 categories=RAG,KV_Cache"
|
||
]
|
||
}
|