name: knowledge-harvest description: 知識迴流系統 v3.0 — 全本地記憶系統(sqlite-vec+bge-m3),知識自動捕獲+語義檢索+每日簡報。Agent 越用越聰明的記憶引擎。 version: 3.0.0 category: productivity author: QClaw
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 | 使用者明確說「記住這個」 | 最硬條件 — 必須寫入 |
不收割:日常問候、純操作指令、一次性中間結果、已知重複資訊。
小蔥技能有更好的技能skills外掛。
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 的服務才能工作,如果這個服務出問題就無法使用了。建議改進對網路異常情況的容錯處理。總體來說,這是一個設計用心、實現成熟的記憶管理工具,適合需要長期積累知識的使用者使用。