arxiv-to-obsidian
把 arXiv cs.AI RSS 中最新发布的 10 篇论文翻译成中文,并追加到 Obsidian 的今日笔记。
Scope
严格按下面的任务执行:
- 1. 从
https://export.arxiv.org/rss/cs.AI 获取 RSS。 - 解析每篇论文的
title、abstract、link、published date。 - 按发布时间倒序排序,只保留最新 10 篇。
- 把
title 和 abstract 翻译成简体中文。 - 生成 Markdown 表格,摘要不得截断。
- 使用 Obsidian CLI 路径写入,不要直接操作文件系统。
Obsidian Rule
如果宿主环境提供专门的 obsidian-cli skill,优先调用那个 skill。
如果宿主环境没有该 skill,就直接调用 obsidian 命令。
无论哪种情况,都禁止直接读写 vault 文件系统路径。
Target Note Convention
为避免“今日日记”和“402论文资料”之间的歧义,默认把目标笔记解释为:
INLINECODE10
只有在用户明确给出其他笔记路径时,才覆盖这个默认路径。
Required Write Flow
- 1. 先确认
obsidian CLI 可用,且目标 vault 存在。 - 先检查
402论文资料 是否存在。 - 如果文件夹不存在,只能通过 Obsidian CLI 创建引导文件再删除的方式来创建文件夹;不要直接在文件系统里建目录。
- 如果今日笔记已存在,使用 append 在文末追加内容。
- 如果今日笔记不存在,使用 create 新建笔记,并把整段内容作为初始正文。
Table Format
输出表格必须使用这个表头:
CODEBLOCK0
每篇论文一行,摘要不得截断,原文链接保留原始 URL。
Append Block
追加到笔记末尾的内容必须是:
CODEBLOCK1
Failure Handling
- 1. 如果 RSS 获取失败,停止并报告失败原因,不要写入空内容。
- 如果翻译失败,停止并报告失败原因,不要写入半成品。
- 如果 Obsidian CLI 不可用、vault 不存在、append/create 失败,停止并报告具体失败步骤。
- 不要在失败时直接改写本地 markdown 文件兜底。
Helpful Local Tools
如果需要更稳定地解析 RSS 或批量翻译,可以使用:
- - INLINECODE13
- INLINECODE14
- INLINECODE15
这些脚本也必须通过 Obsidian CLI 完成写入,不得直接写 vault 文件。
arxiv-to-obsidian
将arXiv cs.AI RSS中最新发布的10篇论文翻译成中文,并追加到Obsidian的今日笔记。
范围
严格按照以下任务执行:
- 1. 从 https://export.arxiv.org/rss/cs.AI 获取RSS。
- 解析每篇论文的 title、abstract、link、published date。
- 按发布时间倒序排序,仅保留最新10篇。
- 将 title 和 abstract 翻译成简体中文。
- 生成Markdown表格,摘要不得截断。
- 使用Obsidian CLI路径写入,不要直接操作文件系统。
Obsidian规则
如果宿主环境提供专门的 obsidian-cli 技能,优先调用该技能。
如果宿主环境没有该技能,则直接调用 obsidian 命令。
无论哪种情况,都禁止直接读写vault文件系统路径。
目标笔记约定
为避免“今日日记”和“402论文资料”之间的歧义,默认将目标笔记解释为:
402论文资料/YYYY-MM-DD.md
只有在用户明确给出其他笔记路径时,才覆盖此默认路径。
必需写入流程
- 1. 先确认 obsidian CLI可用,且目标vault存在。
- 先检查 402论文资料 是否存在。
- 如果文件夹不存在,只能通过Obsidian CLI创建引导文件再删除的方式来创建文件夹;不要直接在文件系统里建目录。
- 如果今日笔记已存在,使用append在文末追加内容。
- 如果今日笔记不存在,使用create新建笔记,并将整段内容作为初始正文。
表格格式
输出表格必须使用以下表头:
markdown
| 标题(中文) | 摘要(中文) | 原文链接 | 发布日期 |
| ------ | ------ | ---- | ---- |
每篇论文一行,摘要不得截断,原文链接保留原始URL。
追加块
追加到笔记末尾的内容必须是:
markdown
今日AI论文
| 标题(中文) | 摘要(中文) | 原文链接 | 发布日期 |
|---|
| ... | ... | ... | ... |
失败处理
- 1. 如果RSS获取失败,停止并报告失败原因,不要写入空内容。
- 如果翻译失败,停止并报告失败原因,不要写入半成品。
- 如果Obsidian CLI不可用、vault不存在、append/create失败,停止并报告具体失败步骤。
- 失败时不要直接改写本地markdown文件作为兜底。
有用的本地工具
如果需要更稳定地解析RSS或批量翻译,可以使用:
- - scripts/parser.py
- scripts/translator.py
- scripts/fetch-arxiv.sh
这些脚本也必须通过Obsidian CLI完成写入,不得直接写入vault文件。