橙研所

skill-catalog-pipeline

把 7.7 万条第三方技能包做成 500ms 语义检索技能库底座的工程方案——五层管线 + 17 条踩坑结晶。

实验室 · 已开源约 1 分钟

技能市场只给你一个分页 API,想自建一个「可语义检索、可装载」的技能库底座,中间隔着一整条工程管线:怎么抓全、怎么洗净、怎么存、怎么搜得快、怎么持续跟上游同步。skill-catalog-pipeline 把这条管线在 77,000+ 条真实技能包上跑通了一遍,然后把方案、脱敏参考实现和 17 条踩坑复盘一起开源——价值最高的不是代码,是那些「文档里不会写、只有踩过才知道」的坑。

它解决什么

环节真实的坑
抓全分页抖动会漏上千条,还会把在架技能误判成下架
清洗七成条目分类为空,还混着 NUL 脏数据
检索2048 维向量直接超出 pgvector 索引上限
同步updated_at 是个脏信号,靠它增量同步会漏更新

核心机制:五层管线

职责关键设计
FETCH 抓取抓全多轮并集 + 完整性闸门
NORMALIZE 清洗洗净5 项硬条件校验,dry-run 幂等
STORAGE 存储存好Postgres + pgvector + 对象存储,资产四态
RETRIEVAL 检索搜快halfvec 余弦 + IVFFlat,带索引 ~500ms(无索引 130s,提速约 260 倍)
SYNC 同步跟上周度四态 diff,认 version 不认 updated_at

怎么用

先读 docs/ 里的架构文档和 engineering-notes(17 条踩坑复盘),这是仓库的主体价值;src/ 是脱敏参考实现(16 个脚本 + SQL,凭证走环境变量),照着改造成你自己的底座,不是开箱即跑的产品。

一句话

一份「把别人的技能变成自己的可检索资产」的完整工程蓝图,坑都替你踩过了。