SuperAPI AI 工具集

batch-save

办公与效率

查看项目

更新于 10-16 10:44

技能介绍

用途

Batch Save 是一个用于将多个内容链接并行保存到 Obsidian 的技能。它把每个 URL 放到各自独立的上下文目录中运行完整的 /save 工作流,因此用户无需在会话之间来回切换,即可一次性处理一整批链接。

主要能力

  • 批量输入解析:输入通过 $ARGUMENTS 提供。技能会解析标记:若存在 --orig 标记,则设置 keep_original_lang = true 并将其从参数中移除,默认 keep_original_lang = false。随后把剩余参数按空格或换行拆分为 URL 列表,只保留以 http:// 或 https:// 开头的项;若无有效 URL,则提示用户并中止。
  • 重复检查:对每个 URL 执行 grep -rl "source:.*<DOMAIN_AND_PATH>" --include="*.md" .。若发现重复,会一次性列出所有已有笔记(格式为 [url] -> [path] ([title])),并提供三个选项:跳过重复项只保存新链接、覆盖全部重复项、取消。跳过会从批次中移除重复 URL 并继续;覆盖会删除已有文件并继续完整批次;取消则中止。若无重复则静默继续。
  • 链接预览:为每个 URL 抓取简要信息,让用户知道将要保存什么。按类型检测并获取标题:YouTube 使用 defuddle parse "<URL>" --json 2>/dev/null | jq -r '[.title, .author] | join(" ||| ")';X/Twitter 使用 defuddle parse "<URL>" --json 2>/dev/null | jq -r '[.author, .title] | join(": ")'(FxTwitter API 可抓取真实推文内容,而 OG 元数据对普通帖子为空);网页使用 curl -sL "<URL>" 2>/dev/null | sed -n 's/.*<title>\([^<]*\)<\/title>.*/\1/p' | head -1。所有抓取都在单条消息中并行执行。随后展示预览表(列包括序号、类型、标题、URL),提供“全部保存”或“取消”选项,用户也可输入特定编号以排除(如“只保存 1、3”或“跳过 2”)。
  • 并行保存:以每批 5 个 URL 处理,避免系统资源饱和;5 个及以下则单批全部启动。每批在单条消息中发送所有 Task 调用,使用 general-purpose 子代理,模型为 sonnet,指令为读取 .claude/skills/save/SKILL.md 并执行完整保存工作流,同时跳过 Step 9.1(韩文校对)、Step 9.2(分支重命名)、Step 9.3(下一步动作提示)。子代理需以固定格式返回 SAVED/TITLE/TYPE/PATH 或 FAILED/REASON。等待该批全部完成并收集结果后再启动下一批,直至所有 URL 处理完毕。
  • 结果收集:解析每个子代理的返回,构建结果表(序号、类型、标题、状态、路径)。
  • 韩文校对:对每个保存成功的文件并行启动 korean-reviewer 子代理(批次方式与保存阶段相同),指令为读取 01-inbox/<filename>.md,跳过 frontmatter,仅校对正文。结果为 CLEAN 则无需操作;HAS_SUGGESTIONS 则使用 Edit 工具应用所有建议。
  • 失败处理:若有保存失败,提供“重试失败项”或“跳过”选项。重试会按预览阶段的相同流程重新启动失败的 URL。
  • 分支重命名:执行 git branch -m "doc/batch-$(date +%m%d)"。
  • 汇总与清理:展示最终结果表,随后执行 rm -rf .context/ 清理临时目录。

使用方式

用户一次性提供多个链接,并可选用 --orig 标记保留原文语言。技能会自动完成解析、查重、预览、并行保存、校对、失败重试与汇总等步骤,用户只需在关键节点确认选项。

适用场景

适用于用户一次性给出多个内容链接、希望批量归档到 Obsidian 的场景,尤其是包含 YouTube、X/Twitter 帖子和网页等多种来源的混合批次。

限制

资料未提供该技能的收费、价格或具体平台兼容性等额外信息;其依赖的 /save 工作流、defuddle、jq、curl、git 等工具需按资料中的命令使用。