""" 科研助手技能 - 每日论文收集与日报生成 使用方法: - 发送指令:"今天阅读文献" 或 "写个日报" 或 "科研日报" - 技能会自动:访问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" ] }