AI Decision System
Replayable, offline-verifiable records for AI-assisted go/no-go decisions: experiment promotions, typed model answers and human-approved actions.
로컬 SQLite와 그래프 DB로 AI 에이전트에 지속적 장기 기억을 제공
Provide persistent, retrievable long-term memory for AI agents using local SQLite and graph databases
AI가 요약 · README에서
개발 도구Python · TypeScriptGitHub @shaun17직접 설치운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
설치형 프로젝트는 배포 도메인 없이도 확인할 수 있습니다. 개인 저장소는 GitHub 로그인으로, 조직 저장소는 위의 저장소 확인 파일로 직접 확인해 주세요.
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
memoLite 是一个面向 AI Agent/LLM 应用的轻量级记忆基础设施。 它把常见的“多数据库重部署”记忆架构,收敛为本地优先的组合: • SQLite:事务数据(projects/sessions/episodes/semantic) • Kùzu:Episode/Derivative 图关系与回溯 • sqlite-vec 兼容层:向量检索(当前默认实现为 SQLite + Python fallback) 目标:让 Agent 具备可持久、可检索、可扩展的长期记忆能力,同时保持部署简单。 说明: • 仅安装 memolite:适合 hash embedder / 不启用本地 reranker 的场景 • 安装 memolite[embeddings]:同时覆盖 embedding 和 reranker 依赖 适用:普通用户、生产环境、快速上手。 • Python 3.12+ • 在仓库根目录执行 适用:二次开发、调试、修改源码。 • memolite(统一入口,推荐) •README 전문 보기 ↗
English version: README.en.md
memoLite 是一个面向 AI Agent/LLM 应用的轻量级记忆基础设施。
它把常见的“多数据库重部署”记忆架构,收敛为本地优先的组合:
目标:让 Agent 具备可持久、可检索、可扩展的长期记忆能力,同时保持部署简单。
set/category/tag/feature 结构化事实packages/ts-client)integrations/openclaw)memolite configure ...reconcile / repairbenchmark-searchload-testsrc/memolite/
app/ # 应用启动、资源注入、后台补偿
api/ # REST 路由与 schema
orchestrator/ # 统一编排层
episodic/ # 事件记忆写入/检索/删除
semantic/ # 语义记忆服务与 session manager
memory/ # short-term 与 memory-config
storage/ # SQLite/Kùzu/vector 存储实现
mcp/ # MCP server
client/ # Python SDK
tools/ # benchmark/loadtest/migration
pipx install memolite
# 或
pip install memolite
如果要启用本地语义 embedding + reranker(sentence-transformers / CrossEncoder):
pip install 'memolite[embeddings]'
# 或源码开发时
pip install -e '.[dev,embeddings]'
说明:
memolite:适合 hash embedder / 不启用本地 reranker 的场景memolite[embeddings]:同时覆盖 embedding 和 reranker 依赖适用:普通用户、生产环境、快速上手。
3.12+git clone https://github.com/shaun17/memoLite.git
cd memoLite
python3 -m venv .venv
source .venv/bin/activate
pip install -e .[dev]
适用:二次开发、调试、修改源码。
安装后可用命令:
memolite(统一入口,推荐)memolite-mcp-stdiomemolite-mcp-httpmemolite configure ... 用于“服务外”的配置与数据管理,主要做三件事:
configure:生成 .env(写入服务运行所需配置)init:初始化本地数据目录与数据库结构(SQLite/Kùzu)detect-sqlite-vec:检测 sqlite-vec 扩展可用性(可选)memolite configure configure --output .env --data-dir ~/.memolite
memolite configure init --data-dir ~/.memolite
可选:检测 sqlite-vec 扩展
memolite configure detect-sqlite-vec --extension-path /path/to/sqlite-vec.dylib
# 前台模式(开发调试)
MEMOLITE_PORT=18731 memolite serve
默认地址:http://127.0.0.1:18731
说明:如果你使用
memolite openclaw setup,它会自动安装并启动后台服务,因此第 2、3 步可跳过。
语义约定:
memolite-server:前台运行,适合开发调试(可惰性 init)memolite service ...:后台托管命令(install/enable/disable/start/stop/restart/status/uninstall)- 开机自启只在
install --enable/enable中显式设置start/restart只影响运行态,不改变自启策略统一 CLI:
# 安装服务定义(不自动开机自启) memolite service install # 启用开机自启并立即启动 memolite service enable # 或一步完成 memolite service install --enable # 生命周期管理 memolite service start memolite service stop memolite service restart memolite service status # 关闭开机自启 / 卸载服务定义 memolite service disable memolite service uninstall平台说明:
- macOS: LaunchAgent (
~/Library/LaunchAgents/ai.memolite.server.plist)- Linux: systemd user service (
~/.config/systemd/user/ai.memolite.server.service)Linux 如需用户级服务在离线后继续运行,可按需启用 linger:
loginctl enable-linger "$USER"
memolite openclaw setup
该脚本会自动执行:
openclaw plugins install <plugin-path>~/.openclaw/openclaw.json 的 memolite 配置可覆盖参数(CLI):
memolite openclaw setup \
--base-url http://127.0.0.1:18731 \
--org-id openclaw \
--project-id openclaw \
--user-id openclaw \
--auto-capture true \
--auto-recall true \
--search-threshold 0.5 \
--top-k 5
参数说明:
--base-url:memolite 服务地址,默认 http://127.0.0.1:18731--org-id:组织标识,用于项目隔离(默认 openclaw)--project-id:项目标识,用于项目级隔离(默认 openclaw)--user-id:用户标识,用于用户级归属(默认 openclaw)--auto-capture:是否自动写入会话记忆(true/false)--auto-recall:是否自动召回相关记忆(true/false)--search-threshold:检索阈值(0~1,越高越严格)--top-k:每次检索返回的最大候选条数插件更新(推荐做法):
# 升级包(获取最新内置插件)
pipx upgrade memolite
# 重新安装插件并刷新 OpenClaw 配置
memolite openclaw setup
# 重启 gateway 使插件生效
openclaw gateway restart
# 验证插件名称/版本
openclaw plugins list | rg "openclaw-memolite|MemoLite"
如果发现版本仍未更新,可强制清理后重装:
memolite openclaw uninstall
rm -rf ~/.openclaw/extensions/openclaw-memolite
memolite openclaw setup
openclaw gateway restart
额外运维子命令:
# 状态与诊断
memolite openclaw status
memolite openclaw doctor
# 配置查看 / 更新 / 重置
memolite openclaw configure show
memolite openclaw configure set --base-url http://127.0.0.1:18731
memolite openclaw configure reset
# 卸载集成(仅移除 memolite 相关项)
memolite openclaw uninstall --dry-run
memolite openclaw uninstall
curl -X POST http://127.0.0.1:18731/projects \
-H 'content-type: application/json' \
-d '{
"org_id": "demo-org",
"project_id": "demo-project",
"description": "quickstart"
}'
curl -X POST http://127.0.0.1:18731/sessions \
-H 'content-type: application/json' \
-d '{
"session_key": "demo-session",
"org_id": "demo-org",
"project_id": "demo-project",
"session_id": "demo-session",
"user_id": "demo-user"
}'
curl -X POST http://127.0.0.1:18731/memories \
-H 'content-type: application/json' \
-d '{
"session_key": "demo-session",
"semantic_set_id": "demo-session",
"episodes": [
{
"uid": "ep-1",
"session_key": "demo-session",
"session_id": "demo-session",
"producer_id": "demo-user",
"producer_role": "user",
"sequence_num": 1,
"content": "Ramen is my favorite food."
}
]
}'
curl -X POST http://127.0.0.1:18731/memories/search \
-H 'content-type: application/json' \
-d '{
"query": "favorite food",
"session_key": "demo-session",
"session_id": "demo-session",
"semantic_set_id": "demo-session",
"mode": "mixed"
}'
返回重点字段:
episodic_matchessemantic_featurescombinedexpanded_contextshort_term_contextimport asyncio
from memolite.client import MemLiteClient
async def main() -> None:
async with MemLiteClient(base_url="http://127.0.0.1:18731") as client:
await client.projects.create(org_id="demo-org", project_id="demo-project")
await client.memory.add(
session_key="demo-session",
episodes=[
{
"uid": "ep-1",
"session_key": "demo-session",
"session_id": "demo-session",
"producer_id": "demo-user",
"producer_role": "user",
"sequence_num": 1,
"content": "Ramen is my favorite food.",
}
],
)
result = await client.memory.search(
query="favorite food",
session_key="demo-session",
session_id="demo-session",
)
print(result.combined)
asyncio.run(main())
完整示例:examples/python_sdk_quickstart.py
memolite-mcp-stdio
# 或
memolite-mcp-http
set_contextadd_memorysearch_memorydelete_memorylist_memoryget_memory详见:docs/mcp-guide.md
# 导出/导入
memolite configure export --output snapshot.json --data-dir ~/.memolite
memolite configure import --input snapshot.json --data-dir ~/.memolite
# 对账/修复
memolite configure reconcile --output reconcile.json --data-dir ~/.memolite
memolite configure repair --output repair.json --data-dir ~/.memolite
# 搜索基准/压测
memolite configure benchmark-search --output benchmark.json --data-dir ~/.memolite
memolite configure load-test --base-url http://127.0.0.1:18731 --total-requests 200 --concurrency 20
docs/quickstart.mddocs/architecture.mddocs/api-reference.mddocs/sdk-usage-guide.mddocs/mcp-guide.mddocs/config-reference.mddocs/deployment-guide.mddocs/troubleshooting.mddocs/faq.mdmemoLite 已具备可运行的端到端原型能力(写入、检索、删除、MCP、SDK、修复工具)。 在生产化前,建议结合你的业务继续增强: