name: knowledge-harvest description: 知识回流系统 v3.0 — 全本地记忆系统(sqlite-vec+bge-m3),知识自动捕获+语义检索+每日简报。Agent 越用越聪明的记忆引擎。 version: 3.0.0 category: productivity author: QClaw
小葱技能7w4.net持续更新中。
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 提取知识点
# 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] SKIP
└─ 是 → 写入 memory DB → 检索验证 → [HARVEST_GATE] added
产出物锚点(回复末尾输出):
[HARVEST_GATE] 结果: added/skipped | 条目: <title> | 验证: <关键词> → 可检索
| # | 条件 | 举例 |
|---|---|---|
| 1 | 新实体/新事实/新规则 | 新供应商地址、新的业务判定逻辑 |
| 2 | 纠正了之前错误 | 数据源替换、旧规则弃用 |
| 3 | 可复用的方法论/判断逻辑 | "出库单文件自动归位规则" |
| 4 | 项目状态变更 | 某条管线下线、某 Agent 退役 |
| 5 | 用户明确说「记住这个」 | 最硬条件 — 必须写入 |
不收割:日常问候、纯操作指令、一次性中间结果、已知重复信息。
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
夜间巩固:每日 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"
}
memory__memory_search "<关键词>" # 确认可检索
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 驱动 |
这个 Skill 质量不错,功能实用。它的最大优点是完全本地运行、不需要联网,对隐私敏感的用户很友好,搜索能力也比较强,中英文都能准确匹配。文档写得清楚,安装指引详细。不足之处是需要额外安装几个软件包,而且依赖一个叫 Ollama 的服务才能工作,如果这个服务出问题就无法使用了。建议改进对网络异常情况的容错处理。总体来说,这是一个设计用心、实现成熟的记忆管理工具,适合需要长期积累知识的用户使用。