feat: add governance contracts and project overview
面向openKylin OS Agent的本地记忆提取、治理、检索与精准遗忘中间件。
MemGuard-Kylin位于Agent与端侧记忆存储之间,将对话、工具执行结果、用户行为、手动配置和知识文档转换为统一记忆,并提供偏好版本化、短中长期生命周期、混合检索、RAG上下文、敏感信息治理、自然语言精准遗忘和OS级安全审计能力。
TransportGPT是当前参考接入客户端,但MemGuard核心不依赖TransportGPT、LangChain或其他Agent框架。其他Agent可以通过相同的HTTP API或零依赖Python客户端接入。本项目解决的是“兼容不同Agent”,不提供多个Agent之间的任务协调或协作编排。
AgentEvent
event_id
redact
block
allow
TransportGPT / 其他Agent / 工具 / 手动配置 / 文档 │ Agent API v1 / MemGuardClient │ ▼ ┌──────────────────────────────────┐ │ 统一接入、幂等、清洗、校验、脱敏 │ └────────────────┬─────────────────┘ │ ┌─────────────┼──────────────┐ ▼ ▼ ▼ 偏好提取 知识与质量治理 生命周期决策 └─────────────┼──────────────┘ ▼ ┌──────────────────────────────────┐ │ SQLite权威存储 │ │ 版本链 / 同步状态 / 审计哈希链 │ └────────────┬───────────────┬─────┘ │ │ ▼ ▼ openKylin Embedding SDK openKylin向量数据库SDK └───────┬───────┘ ▼ 关键词+向量+时间混合检索 │ ┌─────────────┴─────────────┐ ▼ ▼ 有界RAG Context 两阶段精准遗忘 └─────────────┬─────────────┘ ▼ systemd / cgroup v2 / journald / BPF LSM
更详细的设计见项目与架构说明。
默认HTTP地址为http://127.0.0.1:8765。Agent可以使用通用Python客户端:
http://127.0.0.1:8765
from memguard import AgentEventType, MemGuardClient client = MemGuardClient("http://127.0.0.1:8765") client.remember( "设备巡检应先检查电源。", event_id="inspection-knowledge-v1", event_type=AgentEventType.DOCUMENT, client_id="example-agent", user_id="example-user", session_id="example-session", ) context = client.retrieve_context( "设备巡检先检查什么?", client_id="example-agent", user_id="example-user", )
完整协议见Agent API v1,TransportGPT的薄适配方式见TransportGPT接入说明。
项目要求Python 3.10或更高版本,核心Python包不依赖第三方运行库。
python3 -m venv .venv source .venv/bin/activate python3 -m pip install -e . python3 -m unittest discover -s tests -v python3 -m memguard.web --host 127.0.0.1 --port 8765
Windows PowerShell可以使用:
py -m pip install -e . py -m unittest discover -s tests -v py -m memguard.web --host 127.0.0.1 --port 8765
离线测试默认不启用生产向量后端。确定性Embedding和内存向量库仅用于测试,不能替代openKylin生产SDK。
生产部署需要openKylin提供:
安装脚本会检查系统SDK、构建向量桥接并安装systemd用户服务:
sudo bash deploy/install_openkylin.sh
需要同时构建BPF组件时:
sudo MEMGUARD_BUILD_BPF=1 bash deploy/install_openkylin.sh
BPF默认建议以audit模式部署。切换enforce前必须确认MemGuard服务PID白名单、数据库路径和恢复边界。详细构建方式见bpf说明。
当前版本为0.2.0,已完成:
0.2.0
当前Windows开发基线共有51项单元与集成测试,全部通过。此前版本已经在openKylin 2.0 SP2完成31项核心测试、系统Embedding、系统向量数据库Upsert/Search/Delete、跨语言检索、精准遗忘以及OS机制验证。公开验证记录见openKylin 0.2.0验证。
上述延迟证据属于功能验收样本,不代表正式规模性能报告。当前治理契约是并行开发接口,不代表知识冲突、质量评分和生命周期评分已经接入生产流程。
memguard/
openkylin/
bpf/
deploy/
tests/
benchmarks/
examples/
docs/
.env
client_id
本项目采用MIT License。
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802047560号
MemGuard-Kylin
面向openKylin OS Agent的本地记忆提取、治理、检索与精准遗忘中间件。
MemGuard-Kylin位于Agent与端侧记忆存储之间,将对话、工具执行结果、用户行为、手动配置和知识文档转换为统一记忆,并提供偏好版本化、短中长期生命周期、混合检索、RAG上下文、敏感信息治理、自然语言精准遗忘和OS级安全审计能力。
TransportGPT是当前参考接入客户端,但MemGuard核心不依赖TransportGPT、LangChain或其他Agent框架。其他Agent可以通过相同的HTTP API或零依赖Python客户端接入。本项目解决的是“兼容不同Agent”,不提供多个Agent之间的任务协调或协作编排。
核心能力
多源统一接入
AgentEvent协议完成字段校验、来源追踪和格式标准化;event_id实现幂等写入,并拒绝相同编号对应不同负载;偏好与知识记忆
统一检索与RAG
敏感信息与精准遗忘
redact、block和受控测试allow策略;openKylin与OS级机制
系统架构
更详细的设计见项目与架构说明。
Agent接入
默认HTTP地址为
http://127.0.0.1:8765。Agent可以使用通用Python客户端:完整协议见Agent API v1,TransportGPT的薄适配方式见TransportGPT接入说明。
本地开发与测试
项目要求Python 3.10或更高版本,核心Python包不依赖第三方运行库。
Windows PowerShell可以使用:
离线测试默认不启用生产向量后端。确定性Embedding和内存向量库仅用于测试,不能替代openKylin生产SDK。
openKylin部署
生产部署需要openKylin提供:
安装脚本会检查系统SDK、构建向量桥接并安装systemd用户服务:
需要同时构建BPF组件时:
BPF默认建议以audit模式部署。切换enforce前必须确认MemGuard服务PID白名单、数据库路径和恢复边界。详细构建方式见bpf说明。
当前进展
当前版本为
0.2.0,已完成:当前Windows开发基线共有51项单元与集成测试,全部通过。此前版本已经在openKylin 2.0 SP2完成31项核心测试、系统Embedding、系统向量数据库Upsert/Search/Delete、跨语言检索、精准遗忘以及OS机制验证。公开验证记录见openKylin 0.2.0验证。
上述延迟证据属于功能验收样本,不代表正式规模性能报告。当前治理契约是并行开发接口,不代表知识冲突、质量评分和生命周期评分已经接入生产流程。
正在完善
项目结构
memguard/openkylin/bpf/deploy/tests/benchmarks/examples/docs/安全边界
.env或用户隐私数据;client_id表示不同Agent来源,仅用于追踪与审计,不代表多Agent协作。License
本项目采用MIT License。