用途
soia-pkm-clip-drive 是 clip 家族的云盘成员,专门处理网盘或本地的存量资料(PDF、DOCX 等),将其导入 Obsidian vault。它与抓取网页的技能不同,面向的是本地或云盘文件。
主要能力
- 批量导入:支持文件路径或目录作为输入,覆盖 PDF、DOCX、TXT、Markdown 等格式。
- 文本提取:使用 pypdf / pdfplumber 处理 PDF,使用 python-docx 处理 Word,提取文档文本;原文件保留到 _附件/ 目录。
- 大批量处理:按目录批处理,每个文件生成一篇笔记。
- 落地归类:资料/参考类笔记归入 <vault-resources-dir>/<主题>/,文章类归入 <vault-articles-dir>/,具体由配置或 CLI 参数决定。
- frontmatter 生成:包含 tags:[资料] 或 [文章摘抄]、source: 云盘/pdf、original_path、captured_at、topics:[] 等字段。
- 后续衔接:导入后必须走 organize 技能,因为云盘资料通常量大又杂,需要 organize 进行分类、建 MOC 和去重。
使用方式
用自然语言说明目标并提供必要输入(文件、目录、vault 等)。Agent 会先判断是否命中本技能,再检查依赖、配置、权限和风险动作。能 dry-run 或预览的动作先给预览;涉及删除、覆盖、发送、发布、写远端状态时先征求客户确认。执行后验证真实输出,并输出客户可见的完成回执。
安装本技能(单个技能):
npx skills add soia-team/soia-open-skills -g -a '*' -s soia-pkm-clip-drive -y
配置约定路径:
~/.config/soia-skills/soia-open-skills/soia-pkm/soia-pkm-clip-drive/config.yml
也可通过环境变量 SOIA_PKM_CLIP_DRIVE_CONFIG_FILE=<custom-config-path> 指定自定义配置路径。如果本技能不需要私有配置,可以不创建 config.yml。如需 API key、cookie、session、provider home 或本机路径,只能放进私有 config.yml、进程环境或 provider 自己的登录态里,不能写进仓库、vault 正文或日志。
适用场景
- 把云盘或本地积累的 PDF、Word 等文档批量导入 Obsidian vault。
- 需要为存量资料生成结构化笔记并归入资料库或文章摘抄。
- 导入后需要进一步分类、建 MOC、去重的知识管理流程。
限制
- 提取与落地当前由 agent 按流程手工执行,专用批量导入脚本待补充到本 skill 的 scripts/。
- 强依赖、可选依赖和第三方 skill 关系以 SKILL.md 后续的「依赖 / 前置 / 资源 / 边界」说明为准;没有写清楚时,先补说明或询问客户,不要猜。
- 第三方 skill 只能声明依赖和安装方式,不直接修改第三方 skill 文件。
- 不确定的元数据(如原文档来源信息缺失)在回执里显式标注「未核实」,不编造。
闭环位置
★clip-drive(收) → organize(云盘资料尤其依赖整理) → distill → …
完成回执
交付顺序:先把文件落盘,再输出回执,不得反过来。回执最低格式包括:完成(一句话说明本次完成了什么)、日志摘要(started / processed / created-updated / skipped-failed,不打印秘密值)、文件变化(绝对路径或「未改动文件」)、验证(运行过的检查、命令或人工核对点)、问题与下一步(缺 key / 缺依赖 / 需要客户确认 / 建议下一条命令;没有则写「无」)。