视觉画布设计
canvas-design
基于设计原则创作静态视觉作品,用于海报与品牌图形。
描述架构\n4. **公式完整性**: 每个公式必须有名称(`[[概念|名称]]`)、LaTeX 公式、含义、符号说明\n5. **图片外链优先**: arXiv HTML / 项目主页 / GitHub,找不到再本地下载\n\n> 公式/图片/表格的详细质量规范见 `references/quality-standards.md`\n\n### 图片获取流程(多源 fallback)\n\n**目标**: 确保笔记中包含论文的**所有 Figure**,先统计论文 Figure 总数再逐一获取。\n\n1. WebSearch `\"{论文标题} arxiv\"` 获取 arXiv ID\n2. **来源 A — arXiv HTML**(首选):\n - WebFetch `https://arxiv.org/html/{arxiv_id}` 提取所有 `\u003cfigure>` 的标题与 img src URL\n - 统计论文 Figure 总数,确认提取数量是否完整\n3. **来源 B — 项目主页**(HTML 404 或图片不全时):\n - 从摘要/HTML 中查找项目主页 URL(常见模式:`project page`、`github.io`、`our website`)\n - WebFetch 项目主页,提取展示图片(通常包含 teaser / demo 图)\n4. **来源 C — PDF 提取**(前两者都失败时):\n - `pdfimages -png` 从 PDF 中提取,筛选 >10KB 的有效图片\n5. 笔记中用 `` 外链嵌入\n6. 验证:外链可加载 / 本地文件 >10KB\n7. **URL 去重(必做)**:写入前检查每个 URL,如果 `https://arxiv.org/html/` 后出现了连续两段相同的 arxiv_id(如 `2607.04988v1/2607.04988v1/`),删除重复段。这是高频 bug,详见 `references/image-troubleshooting.md`\n - 原因:arXiv HTML 中 img src 已含 `{id}v1/` 前缀,拼接时不要再加一次\n - 正确:`https://arxiv.org/html/` + src(如 `https://arxiv.org/html/2607.04988v1/x1.png`)\n - 错误:`https://arxiv.org/html/2607.04988v1/` + src(导致路径重复,返回 404)\n\n> ar5iv 编号不一定对应 Figure 编号,排错见 `references/image-troubleshooting.md`\n\n### 图片可靠性保障(生成后自动执行)\n\n笔记保存后,运行图片可达性检查脚本,自动将不可访问的外链图片下载到本地:\n```bash\npython3 ../daily-papers/download_note_images.py \"{笔记完整路径}\"\n```\n- 可达的外链保持不动,不可达的自动下载到 `assets/` 并替换为 Obsidian wikilink\n- 如有本地化操作,frontmatter `image_source` 自动更新为 `mixed`\n\n### 公式格式\n\n每个公式必须包含:名称(`[[概念|名称]]`)、LaTeX `$` 块(前后留空行)、含义、符号列表。\n`$` 块前后**必须有空行**否则 Obsidian 不渲染。超长公式用 `aligned` 拆分。\n\n## 4. Obsidian 保存\n\n### 文件命名\n\n只用**方法名/模型名**:`{方法名}.md`(如 `Pi05.md`,不加年份前缀)。\n方法名判断:标题冒号前 / Abstract 中 \"We propose XXX\" / 希腊字母转 ASCII。\n不确定时保存到 `_待整理/`。\n\n### 保存路径\n\n按 Zotero 分类层级:`{NOTES_PATH}/{zotero_collection_path}/{方法名}.md`\n\n### YAML frontmatter\n\n```yaml\n---\ntitle: \"论文标题\"\nmethod_name: \"MethodName\"\nauthors: [Author1, Author2]\nyear: 2025\nvenue: arXiv\ntags: [tag1, tag2] # 小写连字符,3-8 个\nzotero_collection: 3-Robotics/1-VLX/VLA\nimage_source: online\ncreated: YYYY-MM-DD\n---\n```\n\nTags 判断:看 Related Work 小标题 + Abstract 关键词。第一个 tag 是最核心主题。\n\n### 保存后自动执行\n\n1. 只有在 `AUTO_REFRESH_INDEXES=true` 时才刷新目录页:\n ```bash\n python3 ../_shared/generate_concept_mocs.py\n python3 ../_shared/generate_paper_mocs.py\n ```\n2. 只有在 `GIT_COMMIT_ENABLED=true` 时才做 git:\n - 先确认 `VAULT_PATH/.git` 存在\n - `git add {新增文件} {paper_notes_folder}/` 后必须真的有 staged changes\n - 满足条件后再执行:\n ```bash\n cd {VAULT_PATH} && git add {新增文件} {paper_notes_folder}/ && git commit -m \"add paper note: {方法名}\"\n ```\n - 只有在 `GIT_PUSH_ENABLED=true` 且仓库已配置远端时才 push\n\n## 5. 概念库维护(每篇论文必做)\n\n概念库位置:`{CONCEPTS_PATH}`\n\n### 流程\n\n1. **扫描**论文笔记中所有 `[[概念]]` 链接\n2. **检查**每个链接对应的概念笔记是否存在(`ls` + `find`)\n3. **创建**不存在的概念(不可跳过),自动归类到对应子目录\n\n> 分类规则和模板见 `references/concept-categories.md`\n\n### 自检\n\n- [ ] 笔记中所有 `[[概念]]` 链接的概念笔记都存在?\n- [ ] 概念笔记包含本论文作为\"代表工作\"?\n\n## 6. 完成后自检(合并 checklist)\n\n- [ ] 所有 Figure 都在笔记中(数量与论文一致)?\n- [ ] 所有公式都在笔记中(变量一致、无冲突)?\n- [ ] 所有 Table 完整保留(所有行列)?\n- [ ] 正文中技术术语有 `[[概念]]` 内联链接?\n- [ ] 概念库已更新(缺失的概念已创建)?\n- [ ] 图片可用(外链可加载 / 本地 >10KB)?\n\n## 7. 交互式功能\n\n完成解析后询问:深入解释?对比其他论文?保存到 Obsidian?\n保存后自动创建缺失概念笔记,报告新增概念数量。\n\n## 8. 批量处理\n\n支持 Zotero 分类批量处理(默认递归子分类)。流程:递归获取论文 → 去重 → 跳过已有笔记 → 依次处理 → 汇总。\n\n## 参考文件(按需查阅)\n\n- **`references/zotero-guide.md`** — Zotero 查询、分类、PDF 路径获取、智能分类判断\n- **`references/image-troubleshooting.md`** — ar5iv 图片编号对应、PDF 提取备选\n- **`references/concept-categories.md`** — 概念自动归类的 16 个子目录规则 + 模板\n- **`references/quality-standards.md`** — 公式/图片/表格的详细质量规范 + 自检清单\n","licenseDocuments":[]}}
paper-reader【文档与办公】Use when user asks to "read paper", "analyze paper", "summarize paper", "读论文", "分析文献", "帮我看一下这篇paper", "论文笔记", or provides a PDF file that appears to be an academic paper. Specialized for CV/DL papers. Also supports Zotero integration: "读一下这篇论文 ...", "快速看一下这篇论文 ...", "批判性分析这篇论文 ...", "读一下 Zotero 里的 XXX", "批量读一下 Zotero 里 VLA 分类下的论文" **重要触发词**: "读一下 …
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
name: paper-reader description: | Use when user asks to "read paper", "analyze paper", "summarize paper", "读论文", "分析文献", "帮我看一下这篇paper", "论文笔记", or provides a PDF file that appears to be an academic paper. Specialized for CV/DL papers.
Also supports Zotero integration: "读一下这篇论文 ...", "快速看一下这篇论文 ...", "批判性分析这篇论文 ...", "读一下 Zotero 里的 XXX", "批量读一下 Zotero 里 VLA 分类下的论文"
First resolve OUTPUT_LANGUAGE using language selection.
For an English request (or an explicit request for English), read and follow
the English workflow instead of the Chinese body below.
中文请求继续执行下文;用户明确指定的语言优先。内部阶段继承语言,不从论文或工具输出重新判断。
开始前读取 Agent 运行约定,解析当前 Skill 目录、有效配置和 TEMP_DIR,再执行下文。
开始前: 先跟用户打个招呼 🐕
专注 CV/DL 领域,支持 Zotero 集成和 Obsidian 笔记保存。
运行 python3 ../_shared/user_config.py,使用其输出的合并配置(含个人配置和环境变量覆盖)。
显式生成并在后续统一使用这些变量:
VAULT_PATHNOTES_PATHCONCEPTS_PATHZOTERO_DBZOTERO_STORAGEAUTO_REFRESH_INDEXESGIT_COMMIT_ENABLEDGIT_PUSH_ENABLED其中:
NOTES_PATH = {VAULT_PATH}/{paper_notes_folder}CONCEPTS_PATH = {NOTES_PATH}/{concepts_folder}GIT_PUSH_ENABLED 只有在 GIT_COMMIT_ENABLED=true 时才可能为真后续统一使用上面的变量。
| 输入方式 | 示例 | 处理方法 |
|---|---|---|
| PDF 路径 | /path/to/paper.pdf | 直接 Read |
| arXiv 链接 | https://arxiv.org/abs/xxxx | WebFetch |
| Zotero 分类 | "VLA 分类的论文" | 查询数据库 → 列出 → 用户选择 |
| Zotero 搜索 | "Zotero 里的 π0.5" | 搜索标题 → 找到 PDF |
| 无 PDF | Zotero 条目无附件 | 从网上获取(见下方) |
python3 assets/zotero_helper.py info {item_id} 获取论文信息https://arxiv.org/html/{arxiv_id},无需下载Zotero 详细操作见
references/zotero-guide.md
| 模式 | 触发词 | 输出 |
|---|---|---|
| 快速摘要 | "快速看一下"、"quick" | 3-5 句核心贡献 |
| 完整解析 | "详细分析"、默认 | 结构化笔记(用模板) |
| 批判分析 | "批判性分析"、"critique" | 方法论优缺点评估 |
| 知识提取 | "提取公式"、"技术细节" | 公式 + 算法伪代码 |
模板: 严格遵循 assets/paper-note-template.md,不可自行简化。
[[概念]] 链接,不仅仅是结尾$数学符号$ 描述架构[[概念|名称]])、LaTeX 公式、含义、符号说明公式/图片/表格的详细质量规范见
references/quality-standards.md
目标: 确保笔记中包含论文的所有 Figure,先统计论文 Figure 总数再逐一获取。
"{论文标题} arxiv" 获取 arXiv IDhttps://arxiv.org/html/{arxiv_id} 提取所有 <figure> 的标题与 img src URLproject page、github.io、our website)pdfimages -png 从 PDF 中提取,筛选 >10KB 的有效图片 外链嵌入https://arxiv.org/html/ 后出现了连续两段相同的 arxiv_id(如 2607.04988v1/2607.04988v1/),删除重复段。这是高频 bug,详见 references/image-troubleshooting.md
{id}v1/ 前缀,拼接时不要再加一次https://arxiv.org/html/ + src(如 https://arxiv.org/html/2607.04988v1/x1.png)https://arxiv.org/html/2607.04988v1/ + src(导致路径重复,返回 404)ar5iv 编号不一定对应 Figure 编号,排错见
references/image-troubleshooting.md
笔记保存后,运行图片可达性检查脚本,自动将不可访问的外链图片下载到本地:
python3 ../daily-papers/download_note_images.py "{笔记完整路径}"
assets/ 并替换为 Obsidian wikilinkimage_source 自动更新为 mixed每个公式必须包含:名称([[概念|名称]])、LaTeX $ 块(前后留空行)、含义、符号列表。
$ 块前后必须有空行否则 Obsidian 不渲染。超长公式用 aligned 拆分。
只用方法名/模型名:{方法名}.md(如 Pi05.md,不加年份前缀)。
方法名判断:标题冒号前 / Abstract 中 "We propose XXX" / 希腊字母转 ASCII。
不确定时保存到 _待整理/。
按 Zotero 分类层级:{NOTES_PATH}/{zotero_collection_path}/{方法名}.md
---
title: "论文标题"
method_name: "MethodName"
authors: [Author1, Author2]
year: 2025
venue: arXiv
tags: [tag1, tag2] # 小写连字符,3-8 个
zotero_collection: 3-Robotics/1-VLX/VLA
image_source: online
created: YYYY-MM-DD
---
Tags 判断:看 Related Work 小标题 + Abstract 关键词。第一个 tag 是最核心主题。
AUTO_REFRESH_INDEXES=true 时才刷新目录页:
python3 ../_shared/generate_concept_mocs.py
python3 ../_shared/generate_paper_mocs.py
GIT_COMMIT_ENABLED=true 时才做 git:
VAULT_PATH/.git 存在git add {新增文件} {paper_notes_folder}/ 后必须真的有 staged changescd {VAULT_PATH} && git add {新增文件} {paper_notes_folder}/ && git commit -m "add paper note: {方法名}"
GIT_PUSH_ENABLED=true 且仓库已配置远端时才 push概念库位置:{CONCEPTS_PATH}
[[概念]] 链接ls + find)分类规则和模板见
references/concept-categories.md
[[概念]] 链接的概念笔记都存在?[[概念]] 内联链接?完成解析后询问:深入解释?对比其他论文?保存到 Obsidian? 保存后自动创建缺失概念笔记,报告新增概念数量。
支持 Zotero 分类批量处理(默认递归子分类)。流程:递归获取论文 → 去重 → 跳过已有笔记 → 依次处理 → 汇总。
references/zotero-guide.md — Zotero 查询、分类、PDF 路径获取、智能分类判断references/image-troubleshooting.md — ar5iv 图片编号对应、PDF 提取备选references/concept-categories.md — 概念自动归类的 16 个子目录规则 + 模板references/quality-standards.md — 公式/图片/表格的详细质量规范 + 自检清单