用途:把散落的开源仓库调研沉淀为 Obsidian vault 中可筛选、可跳转的索引层。代码本体 clone 到本机 upstream 目录(不进 vault),vault 只存「一仓一卡 + 一篇调研笔记骨架」的索引。
主要能力:单仓归档(解析 URL 得 owner/repo,clone 后建/更新项目卡,起调研笔记骨架并建立双向链接);批量模式扫描 upstream 下每个子目录逐仓生成或更新项目卡。项目卡 frontmatter 自动填充 github、分类、语言、本地路径、访问链接、最近提交,并从 README 抓首句作简介;人工字段(用途、状态、stars、我的笔记)重跑不被覆盖。分类取自 11 类映射表,未命中则按 README/仓名启发式归类,兜底「工具其他」;语言由构建文件启发式判断。幂等:只刷新自动字段。
使用方式:安装 npx skills add soia-team/soia-open-skills -g -a '*' -s soia-pkm-clip-repo -y。单仓归档 python3 scripts/gen_repo_catalog.py --add <url> --upstream <dir> --vault <path>;批量重跑省略 --add 并传 --upstream、--vault;可用 --notes-dir 覆盖调研笔记目录。vault 定位优先 --vault 再环境变量 OBSIDIAN_VAULT;upstream 优先 --upstream 再私有配置 SOIA_REPO_UPSTREAM_DIR。配置路径 ~/.config/soia-skills/soia-open-skills/soia-pkm/soia-pkm-clip-repo/config.yml,可用 SOIA_PKM_CLIP_REPO_CONFIG_FILE 指定。
适用场景:需要系统性跟踪、归档本机 git clone 的开源项目并保留人工调研结论的 Obsidian 用户。
限制:需 Python 3(纯 stdlib)与 Obsidian vault 指定子目录;clone 失败时只生成最小卡并提示;非 git 目录的 github 与最近提交留空;深度调研正文填充不在自动化范围;未提供平台兼容性、收费、版本与效果等资料。