knowledge-base-collector

📚 本地化知识库智能管家

开源个人知识库收集方案,支持 URL 与截图 OCR 入库并自动标签化,依托本地存储帮助用户构建可检索的私有知识体系。

收藏
2.1k
安装
1k
版本
v0.1.3
CLS 安全性认证2026-05-12
点击查看完整报告 >

使用说明

Knowledge Base Collector 是一款面向个人用户的知识管理自动化工具,专注于将碎片化网络信息转化为结构化本地知识库。该技能通过一系列 Python 脚本实现,支持从网页链接、X/Twitter 帖子、微信公众号文章到截图图片的多模态内容采集,特别适合中文互联网环境下的知识沉淀需求。

核心用法上,用户可通过 ingest_url.py 脚本将任意 URL 一键入库,系统利用 r.jina.ai 服务智能提取正文,自动生成包含内容摘要和层级标签的 Markdown 文件,同时写入结构化元数据 JSON 与全局索引文件。对于截图内容,ingest_image.py 支持结合 OCR 文本提取与图像归档,实现"以图搜文"的知识沉淀。针对微信文章特有的风控限制,该技能创新性地支持通过连接的 macOS 节点(如 Reed-Mac)进行本地侧抓取,或在云端受阻时创建占位条目后续补全。配套的 search_kb.py 支持基于关键词、标签组合、时间范围的多维度检索,weekly_digest.py 可自动生成周期性阅读报告,与 Telegram 工作流深度集成实现问答式知识检索。

显著优点包括:完全本地化的存储架构确保数据主权,所有内容以开放的 Markdown 和 JSON 格式存储在指定目录,无需担心服务关停导致数据丢失;灵活的标签体系支持从粗粒度(如 #ai)到细粒度(如 #claude-code)的知识分类;对中文互联网环境(微信、X、网页)有特殊适配,支持微信文章的节点级抓取策略;文件组织采用标准的日期目录结构,便于版本控制和备份。

潜在缺点主要体现在对外部服务的依赖:网页内容提取重度依赖 r.jina.ai 的可用性,若该服务中断、限流或网络受限将直接影响核心功能;微信公众号抓取受平台动态风控策略影响,成功率存在不确定性;作为个人开发者维护的 T3 来源项目,长期维护承诺、安全更新响应速度和代码审计深度不及企业级产品;目前缺乏图形界面,完全依赖命令行操作,对非技术用户有一定门槛。

适合的目标群体包括:需要构建"第二大脑"的知识工作者与终身学习者、重视数据隐私的本地化优先用户、需要系统归档微信文章和社交媒体内容的研究人员与记者、希望通过自动化减少手动整理工作的效率追求者,以及需要在 Telegram 环境中快速检索历史资料的高级用户。

使用风险方面,用户需特别注意截图或网页中可能包含的敏感信息(Token、密钥、验证码)应在入库前按文档建议进行脱敏处理(替换为 REDACTED);技能需要文件系统读写权限和网络访问权限,建议在隔离的本地环境或容器中运行;虽然代码审计显示无恶意行为,但作为 T3 来源仍建议在使用前审查 Python 脚本内容;此外,macOS 节点抓取功能依赖特定硬件环境与网络状态,无法保证 100% 可用性,且 WeChat 内容抓取可能违反平台服务条款,需用户自行评估合规风险。

安全解读

核心用法

knowledge-base-collector 是一款面向个人用户的内容归档 Skill,支持三类输入:网页 URL(含 X/Twitter、微信公众号)、截图/图片(OCR 文本)以及 Telegram 检索查询。其工作流程遵循"先入库不丢"原则:通过 ingest_url.pyingest_image.py 将内容写入本地文件系统(content.md + meta.json + 全局 index.jsonl),并支持标签化分类(如 #agent#rag#security)以便后续检索。

关键特性:

  • 智能提取:优先使用 r.jina.ai 服务抓取正文,无需登录即可绕过多数反爬机制
  • WeChat 兼容:当云端抓取遇风控时,可借助已连接的 macOS 节点(如 Reed-Mac)本地执行抓取,或创建占位条目后续补全
  • 图片 OCR 支持:通过 ingest_image.py 落盘截图,可结合 tesseract 或多模态 LLM 提取文字
  • 检索生态:配套 search_kb.pywechat_backlog.pyweekly_digest.py 支持关键词/标签/时间维度的知识库查询

显著优点

1. 架构简洁可靠:纯 Python 实现,仅依赖标准库 + requests,无复杂依赖链
2. 隐私优先设计:数据完全本地存储,文档明确提示敏感信息脱敏(token/密钥替换为 REDACTED

3. WeChat 场景优化:针对微信公众号反爬做了特殊处理(占位条目 + 节点回退方案)

4. 扩展性强:标签-first 的分类体系和 index.jsonl 结构便于对接外部工具(如 Telegram Bot、LLM 周报生成)

潜在缺点与局限性

  • 外部服务依赖:核心功能依赖 r.jina.ai,若服务不可用或返回异常内容将影响抓取质量
  • WeChat 成功率受限:即使启用 macOS 节点方案,也无法承诺 100% 成功,部分文章需人工补录
  • 无原生去重之外的冲突解决:同一 URL 仅做 key 去重(跳过已存在),不支持智能合并或版本管理
  • OCR 能力非内置:tesseract 或多模态 LLM 需用户自行配置

适合人群

  • 需要跨平台归档网页、公众号、推文的内容收藏者
  • 习惯本地优先、排斥云端笔记服务(Notion/Evernote)的隐私敏感用户
  • 已通过 Telegram 或自建系统管理知识库的自动化爱好者

常规风险

| 风险类型 | 说明 | 缓解措施 |
|---------|------|---------|
| 敏感信息泄露 | 截图/网页可能含 API key、token | 入库前手动脱敏,或配置自动正则替换 |
| 第三方服务中断 | r.jina.ai 不可用导致抓取失败 | 实现备用提取方案,关注服务状态 |
| 文件系统权限 | 写入路径由 `KB_ROOT` 环境变量控制 | 验证路径合法性,避免符号链接攻击 |
| 开源许可不明 | 当前未明确声明 License | 建议作者补充 MIT/Apache 2.0 许可证 |

安全认证摘要

  • 评级:A 级(89/100)
  • 代码质量:结构清晰,无危险函数调用,文件操作限定在配置目录内
  • 网络行为:仅 HTTPS 请求至 r.jina.ai,TLS 1.2+ 加密
  • 隐私合规:通过 GDPR 数据最小化、CCPA 知情权、数据安全存储等检查
  • 待改进项:添加请求超时配置、响应内容验证、细化异常处理、锁定依赖版本、完善开源许可证

knowledge-base-collector 内容

scripts文件夹
手动下载zip · 14.1 kB
ingest_image.pytext/plain
请选择文件