knowledge-harvest-system

👤 Darren 📦 v3.0.0 ⭐ 4.4 ⬇️ 279 下载
🤖 AI-Agent 免费

📖 技能介绍


name: knowledge-harvest description: 知识回流系统 v3.0 — 全本地记忆系统(sqlite-vec+bge-m3),知识自动捕获+语义检索+每日简报。Agent 越用越聪明的记忆引擎。 version: 3.0.0 category: productivity author: QClaw

小葱技能7w4.net持续更新中。


Knowledge Harvest — 知识回流 Skill v3.0.0

sqlite-vec + APSW + bge-m3 全本地记忆系统

v3.0 核心变更(2026-07-18): - 🧩 通用化解耦:移除 特定 Agent 专属引用(RULES/GATE.md、CHECKS.md),可在任意 Agent 环境独立运行 - 📦 自包含打包:核心脚本 memory.py + memory_digest.py 入驻 scripts/ - 📋 HARVEST_GATE:自检链完全内联,不依赖外部规则文件 - 📖 通用安装文档:README.md 含依赖清单和 pip install 命令

v2.1 变更(2026-07-13): - 新增 HARVEST_GATE 强制门禁 - 废弃 gbrain 每日简报,用 memory_digest.py 替代 - 夜间巩固 cron 仍在运转


一句话

让 Agent 学会「做笔记」 — 从每次对话中自动捕获值得记住的东西,写入本地知识库,语义检索,生成简报。

架构总览

对话收敛 → HARVEST_GATE(强制检查点)
  ├─ 有知识可收割 → 写入 memory DB → 检索验证
  └─ 无可收割     → SKIP

定期执行:
  ├─ memory_digest.py → 纯文本/JSON 简报
  └─ 夜间巩固 cron(00:15) → 扫描 daily notes 提取知识点

硬件要求

  • macOS arm64 / Linux x86_64
  • Python 3.10+
  • Ollama(运行 bge-m3 嵌入模型)
  • ~100MB 磁盘空间

安装

# 1. 安装 Python 依赖
pip3 install apsw sqlite-vec Pillow

# 2. 安装并启动 Ollama + bge-m3
brew install ollama        # macOS
ollama pull bge-m3
ollama serve               # 保持后台运行

# 3. 验证
python3 scripts/memory.py ping
# 输出: ✅ Ollama 在线,bge-m3 可用

HARVEST_GATE — 每次回复前的强制自检

在每次回复生成后、发送前,必须经过此自检链。不可绕过。

自检链:
[ ] 本次回复是否包含可收割知识?
    ├─ 否 → [HARVEST_GATE] SKIP
    └─ 是 → 写入 memory DB → 检索验证 → [HARVEST_GATE] added

产出物锚点(回复末尾输出):
[HARVEST_GATE] 结果: added/skipped | 条目: <title> | 验证: <关键词> → 可检索

触发条件 — 什么值得收割

# 条件 举例
1 新实体/新事实/新规则 新供应商地址、新的业务判定逻辑
2 纠正了之前错误 数据源替换、旧规则弃用
3 可复用的方法论/判断逻辑 "出库单文件自动归位规则"
4 项目状态变更 某条管线下线、某 Agent 退役
5 用户明确说「记住这个」 最硬条件 — 必须写入

不收割:日常问候、纯操作指令、一次性中间结果、已知重复信息。


CLI 命令

添加记忆

python3 scripts/memory.py add --title "合同条款修改规则" \
  --content "修改合同条款时,需定位到具体段落而非行号..." \
  --tags "contract,rule"

搜索记忆

# 混合搜索(默认,推荐)
python3 scripts/memory.py search "合同号规则"

# 纯语义搜索
python3 scripts/memory.py search "面料成分" --mode semantic

# 全文搜索
python3 scripts/memory.py search "H2606359" --mode fts

管理

python3 scripts/memory.py list                    # 列出所有
python3 scripts/memory.py list --tags "contract"  # 按标签过滤
python3 scripts/memory.py info                    # 数据库统计
python3 scripts/memory.py delete 42               # 删除

每日简报

# 今日简报(纯文本)
python3 scripts/memory_digest.py --text

# 近 7 天简报
python3 scripts/memory_digest.py --text --days 7

# JSON 格式(程序消费)
python3 scripts/memory_digest.py --json

定时任务(cron)

夜间巩固:每日 00:15 扫描当日日志,提取知识点写入 DB。

# cron: `15 0 * * *` 执行以下命令
python3 scripts/memory_digest.py --text --days 1

写入规范

条目结构

{
  "title": "简短标题(≤15字)",
  "content": "正文(Markdown,说清楚是什么+场景)",
  "tags": "tag1,tag2",
  "source": "user | auto_extracted | spawn_summary"
}

写入时机判断

  • ✅ 写:新概念、新实体、新事实、纠正错误
  • ✅ 更新:补充已有条目的新信息(先搜索查重)
  • ❌ 不写:纯操作(移动文件)、临时状态(一次性查询结果)
  • ❌ 不写:已在 DB 中的重复信息

写入后验证

memory__memory_search "<关键词>"  # 确认可检索

Python API

from scripts.memory import MemoryDB

db = MemoryDB()

# 写入
rid = db.add(
    title="合同条款规则",
    content="修改合同条款时...",
    tags="contract,rule",
    source="auto_extracted"
)

# 搜索
results = db.search("合同号", mode="hybrid", limit=5)
for r in results:
    print(f"[{r['id']}] {r['title']} (score={r['score']})")

文件结构

knowledge-harvest/
├── SKILL.md             # 本文 — 主技能文档
├── README.md            # 安装说明 + 依赖清单
├── ABOUT.md             # 一句话功能简介
├── CHANGELOG.md         # 版本历史
└── scripts/
    ├── memory.py        # 核心引擎(sqlite-vec + FTS5 + 混合搜索)
    └── memory_digest.py # 每日简报工具

技术栈

技术 说明
数据库 SQLite (WAL mode) 单文件,cp 即备份
向量 sqlite-vec 本地向量索引,零网络依赖
嵌入 Ollama + bge-m3 1024 维,中文友好
全文 FTS5 英文关键词 + 中文 LIKE 回退
连接 APSW Python 原生 SQLite 驱动

退役说明

  • gbrain(PGLite WASM)已于 2026-07-08 退役 — macOS 26.3 WASM bug 不可修复
  • 替代方案:sqlite-vec + APSW + bge-m3(全本地、零 API、原生性能)
  • 迁移: v2.x → v3.0 数据和脚本兼容,无需迁移

🤖 AI 评测

这个 Skill 质量不错,功能实用。它的最大优点是完全本地运行、不需要联网,对隐私敏感的用户很友好,搜索能力也比较强,中英文都能准确匹配。文档写得清楚,安装指引详细。不足之处是需要额外安装几个软件包,而且依赖一个叫 Ollama 的服务才能工作,如果这个服务出问题就无法使用了。建议改进对网络异常情况的容错处理。总体来说,这是一个设计用心、实现成熟的记忆管理工具,适合需要长期积累知识的用户使用。

📊 多维度评分

适应性4.2
规范性4.3
有效性4.5
可靠性4.6
可信度4.5

📁 包含文件 (6 个)

📄 ABOUT.md 1002 B
📄 CHANGELOG.md 1.1 KB
📄 README.md 1.7 KB
📄 SKILL.md 6 KB
📄 scripts/memory.py 22.7 KB
📄 scripts/memory_digest.py 4.4 KB