chore(同步): 固化最终竞赛发布回执 保留 GitLink 历史,并同步最终发布复验记录。
chore(同步): 固化最终竞赛发布回执
保留 GitLink 历史,并同步最终发布复验记录。
面向 OS Agent 的多源融合偏好与知识记忆系统 Multi-Source Agentic Memory for OS Agents — Operations Kit for openKylin
让 Agent 的记忆像操作系统一样可被管理 —— 可整合、可仲裁、可追溯、可遗忘。 Give the OS Agent a memory that can be governed: integrated, arbitrated, traced, and forgotten.
让 Agent 的记忆像操作系统一样可被管理 —— 可整合、可仲裁、可追溯、可遗忘。
Give the OS Agent a memory that can be governed: integrated, arbitrated, traced, and forgotten.
本仓库对应第三届中国研究生操作系统开源创新大赛社区赛题 “面向 openKylin 的智能体记忆提取与精准遗忘机制”。仓库根目录提供:
项目说明书.pdf
项目说明书.docx
演示PPT.pptx
演示视频.mp4
作品原创承诺书_待手写签署.docx
参赛主体为中国科学技术大学,队伍名为 MemoryOS-OK Team;指导教师与学生姓名仍须按 报名系统审核信息写入最终签署材料。能力状态以 openKylin 赛题逐项评分矩阵 和 三轴真值登记 为准:包装完整不代表赛题要求或产品化已经全部闭环。
MemoryOS-OK Team
MemoryOS-OK 是为操作系统级智能体(OS Agent)设计的记忆中间件。它把”工具调用执行结果、用户行为、手动配置”三类数据源融合成一套可进化、可审计、可遗忘的长期记忆,让 OS Agent 真正记住用户的操作习惯、输出风格与安全策略,并在跨场景中精准复用。Conductor 可在推理链中主动预取相关记忆、淘汰临时上下文,并按映射清理推理缓存。默认遗忘入口现已通过可恢复 Saga 级联事件、短中长期记忆、偏好历史、安全 mmap、检索索引、Prompt Segment、Cache Key 与已登记运行时 Slot;任一必需层残留时失败关闭,不签发成功证明。
本项目面向 openKylin 社区赛题交付,同时作为长期开源研究原型维护。
现有 Agent 记忆方案在 OS 场景下都”水土不服”:
差异化组合:冲突级联、来源 ID 与哈希历史、工具结果一等公民、OS 审计和有范围边界的删除证明。 首轮外部系统成对基线已完成:同一 60 题、同一原始 session 与同一 embedding 下, MemoryOS-OK / Mem0 OSS raw-memory 的 Recall@5 为 88.33% / 95.00%,精确双侧 McNemar p=0.125,不宣称统计优越。完整 LLM 记忆抽取、Letta/Zep 与端到端 QA 仍是后续证据缺口。
p=0.125
history/diff/checkout/rollback
segment_id -> memory_id -> cache_key
<450MB
📊 检索召回在业界标准基准 LongMemEval(Mem0/Letta/A-MEM 的硬基线)上实测,非自建数据集—— 详见 docs/eval-longmemeval.md 与 500 题机器报告。原始全量 500 题上 vector-only / hybrid Recall@5 为 94.2% / 94.8%,95% Wilson CI 分别为 [91.79%, 95.93%] / [92.49%, 96.43%];逐题精确双侧 McNemar p=0.607,因此 +0.6pp 只作为点估计,不宣称统计优越,详见 全量成对比较。该全量运行使用 Ubuntu+A40 只扩展检索质量覆盖;其 19.596ms P95 不作为端侧延迟证据。端侧延迟仍引用 macOS CPU 60 题复跑的 94.561ms,且不外推目标 OS。冲突处理见 docs/m2-verification.md。 与 Mem0 OSS 2.0.14 的 retrieval-only 成对系统基线见 docs/system-baseline-mem0.md:MemoryOS-OK / Mem0 Recall@5 为 88.33% / 95.00%,查询 P50 为 37.527 / 167.169ms,P95 为 311.761 / 316.023ms;p=0.125,仅支持点估计和失败归因,不支持优越性主张。 完整 LLM 模式、Letta/Zep 与偏好规模评测将随 MemBench-OK 补全。
p=0.607
三源输入 ──► [Curator] ──► [Sentinel] ──┬──► [Profiler] 偏好提取 工具结果 清洗/标准化 PII检测 │ 用户行为 ├──► [Sage] 三层冲突仲裁 手动配置 │ └──► 常驻单写者 (Unix socket + 0700/0600) │ JSONL/JSON 当前头 + 安全 mmap 副本 偏好/知识加密 append-only 历史 │ 短期(KV+Window) ─► 中期(原子持久化 7d Buffer) ─► 长期 ─► [Conductor] 统一 RAG 上下文 ├► [Recall] sqlite-vec/NumPy + BM25 └► Saga 统一遗忘 + Merkle proof
详见 docs/architecture.md。
openKylin 的适配边界、系统机制与目标机证据见 docs/openkylin/README.md 和 docs/openkylin/os-integration.md。
git clone <本仓库 Git 地址> memoryos-ok && cd memoryos-ok pip install -r requirements.txt pip install -e . # 可选:提供全局 memos 命令
# 记住知识/偏好(自动 PII 过滤 + 冲突仲裁) ./memos remember "我偏好用 ripgrep 而不是 grep 搜索文件" # 喂入工具调用事件(积累后自动捕捉偏好) ./memos observe '{"tool":"rg","exit_code":0,"user_action":"accept"}' # 语义检索 ./memos recall "搜索文件用什么工具" # 查看捕捉到的偏好 ./memos prefs # 查看、比较、只读检出和回滚偏好版本 ./memos pref-history output:style ./memos pref-diff output:style 1 2 ./memos pref-checkout output:style 1 ./memos pref-rollback output:style 1 # 自然语言遗忘(默认仅预览;--yes 执行并生成 Merkle 删除证明) ./memos forget "忘记关于邮箱的一切" ./memos forget "忘记关于邮箱的一切" --yes # 未完成事务在修复运行时后显式恢复 ./memos forget-resume forget_xxx # 经验包:加密导出 + 导入(老师傅经验传承 / 团队知识共享) ./memos export experience.mpack --types workflow,case --password team ./memos import experience.mpack --password team ./memos stats
记忆默认持久化到 ~/.memoryos,跨会话存活。设 MEMOS_LLM_API_KEY 启用 LLM 增强 (冲突仲裁 / 安全策略提取),不设或加 --no-llm 则走纯本地规则 + 统计,依然可用。 CLI 默认优先连接同一工作区的常驻单写者,未启动时仅为单进程开发兼容而回退。多客户端或 systemd 部署应先运行 ./memos serve,并设置 MEMOS_REQUIRE_DAEMON=1 使连接失败时直接 报错,禁止静默退回多进程直写。
~/.memoryos
MEMOS_LLM_API_KEY
--no-llm
./memos serve
MEMOS_REQUIRE_DAEMON=1
MEMOS_WORKSPACE="$HOME/.memoryos" ./memos serve MEMOS_REQUIRE_DAEMON=1 ./memos remember "只允许守护进程提交"
from memoryos.core import MemoryOS mem = MemoryOS("~/.memoryos") mem.remember("我偏好简洁的输出风格") hits = mem.recall("输出风格") # → 关联检索 context = mem.recall_context("输出风格") # → 统一 RAG 上下文,不触发模型生成 prefs = mem.preferences() # → 捕捉到的偏好 proof = mem.forget("忘记X", confirm=False) # → 遗忘 + 删除证明
内置零依赖 MCP server,让你的 AI 助手直接拥有跨会话记忆与偏好:
claude mcp add memoryos --env MEMOS_WORKSPACE=$HOME/.memoryos -- "/绝对路径/memos" mcp
接入后获得 16 个记忆工具,包括统一 RAG、4 个偏好版本工具、4 个知识版本工具、 forget / forget_resume / stats。MCP 进程与 CLI 一样优先连接常驻单写者。 详见 docs/mcp-integration.md。
# 单测 + openKylin 赛题评测 + 脚本语法检查 bash scripts/run_competition_checks.sh # 仅刷新指标总表 python3 eval/eval_all.py # 采集演示视频录屏素材 python3 scripts/capture_demo_artifacts.py # 生成 openKylin 赛题字幕版演示视频 python3 scripts/render_demo_video.py --competition openkylin # 生成麒麟/openKylin 适配证据快照 python3 adapt/kylin_evidence.py # 生成远程 CPU/openKylin 目标机验证计划(默认 dry-run + safe rsync) python3 scripts/remote_kylin_verify.py --host "$REMOTE_HOST" --user "$REMOTE_USER" --port "$REMOTE_PORT" --identity "$SSH_KEY" --remote-dir "$REMOTE_DIR" --mode ci --bootstrap-venv # 生成研究生操作系统大赛 openKylin 社区赛题提交包 python3 scripts/build_submission_bundle.py --competition openkylin # 扫描提交包中的本机路径、SSH 私钥路径和工作指令文件 python3 scripts/check_submission_safety.py # 汇总检查评测、目标系统证据、视频、素材和提交包是否齐备 python3 scripts/check_submission_readiness.py # 审计 mini 数据是否具备正式金标资格;当前会诚实返回 regression_only python3 scripts/check_evaluation_truth.py python3 scripts/check_evaluation_truth.py --require-gold # 生成本机依赖指纹、CycloneDX SBOM 与许可证清单 python3 scripts/generate_supply_chain_evidence.py # 真实 llama.cpp 冷/热 Prompt Cache 实测 MODEL_PATH=/path/to/model.gguf CASES=100 bash scripts/run_llama_prompt_cache_bench.sh
生成的统一证据入口:
eval/reports/latest.json
regression_only
partial
<450 MiB
eval/reports/llama_prompt_cache/ablation/openkylin-qwen3-0.6b-ablation-repeated.json
demo/artifacts/
adapt/reports/local/latest.md
adapt/reports/remote/latest.md
adapt/reports/openkylin-l3/latest.md
compiled
bpf
build/submission/openkylin/
.tar.gz
scripts/check_submission_safety.py
嵌入/LLM 均走抽象层,远程(USTC/DeepSeek)与本地(llama.cpp + Qwen3)一键切换。 端侧 ONNX 加速:python scripts/export_bge_onnx.py。openKylin 适配见 docs/openkylin/README.md。
python scripts/export_bge_onnx.py
感谢 openKylin 社区与麒麟软件有限公司提供赛题和目标系统支持。本项目部分思路受 Mem0、Letta/MemGPT、A-MEM、LongMemEval 等开源工作启发。
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802047560号
MemoryOS-OK
面向 OS Agent 的多源融合偏好与知识记忆系统 Multi-Source Agentic Memory for OS Agents — Operations Kit for openKylin
初赛材料 / Submission
本仓库对应第三届中国研究生操作系统开源创新大赛社区赛题 “面向 openKylin 的智能体记忆提取与精准遗忘机制”。仓库根目录提供:
项目说明书.pdf/项目说明书.docx:设计、实现、实验结果与证据边界;演示PPT.pptx:openKylin 赛题专用答辩材料;演示视频.mp4:226 秒字幕演示,低于 5 分钟与 100MB 限制;作品原创承诺书_待手写签署.docx:组委会模板,须由参赛队员手写声明并补队伍名称、日期后替换为正式签署版。参赛主体为中国科学技术大学,队伍名为
MemoryOS-OK Team;指导教师与学生姓名仍须按 报名系统审核信息写入最终签署材料。能力状态以 openKylin 赛题逐项评分矩阵 和 三轴真值登记 为准:包装完整不代表赛题要求或产品化已经全部闭环。这是什么 / What
MemoryOS-OK 是为操作系统级智能体(OS Agent)设计的记忆中间件。它把”工具调用执行结果、用户行为、手动配置”三类数据源融合成一套可进化、可审计、可遗忘的长期记忆,让 OS Agent 真正记住用户的操作习惯、输出风格与安全策略,并在跨场景中精准复用。Conductor 可在推理链中主动预取相关记忆、淘汰临时上下文,并按映射清理推理缓存。默认遗忘入口现已通过可恢复 Saga 级联事件、短中长期记忆、偏好历史、安全 mmap、检索索引、Prompt Segment、Cache Key 与已登记运行时 Slot;任一必需层残留时失败关闭,不签发成功证明。
本项目面向 openKylin 社区赛题交付,同时作为长期开源研究原型维护。
为什么 / Why
现有 Agent 记忆方案在 OS 场景下都”水土不服”:
差异化组合:冲突级联、来源 ID 与哈希历史、工具结果一等公民、OS 审计和有范围边界的删除证明。 首轮外部系统成对基线已完成:同一 60 题、同一原始 session 与同一 embedding 下, MemoryOS-OK / Mem0 OSS raw-memory 的 Recall@5 为 88.33% / 95.00%,精确双侧 McNemar
p=0.125,不宣称统计优越。完整 LLM 记忆抽取、Letta/Zep 与端到端 QA 仍是后续证据缺口。核心创新 / Key Features
history/diff/checkout/rollback;完整 EPP 图查询仍是研究增强项。segment_id -> memory_id -> cache_key映射、稳定语义前缀编译、真实 llama.cpp Prompt Cache 与 Slot 定向淘汰。<450MB仍是尚未闭合的完整栈产品目标。性能指标 / Benchmarks
架构 / Architecture
详见 docs/architecture.md。
openKylin 的适配边界、系统机制与目标机证据见 docs/openkylin/README.md 和 docs/openkylin/os-integration.md。
快速开始 / Quick Start
安装
命令行用起来
记忆默认持久化到
~/.memoryos,跨会话存活。设MEMOS_LLM_API_KEY启用 LLM 增强 (冲突仲裁 / 安全策略提取),不设或加--no-llm则走纯本地规则 + 统计,依然可用。 CLI 默认优先连接同一工作区的常驻单写者,未启动时仅为单进程开发兼容而回退。多客户端或 systemd 部署应先运行./memos serve,并设置MEMOS_REQUIRE_DAEMON=1使连接失败时直接 报错,禁止静默退回多进程直写。Python API
接入 Claude Code / Codex(MCP)
内置零依赖 MCP server,让你的 AI 助手直接拥有跨会话记忆与偏好:
接入后获得 16 个记忆工具,包括统一 RAG、4 个偏好版本工具、4 个知识版本工具、 forget / forget_resume / stats。MCP 进程与 CLI 一样优先连接常驻单写者。 详见 docs/mcp-integration.md。
竞赛评测一键复现
生成的统一证据入口:
eval/reports/latest.json:保留每个评测脚本的原始 stdout,便于复核。regression_only,不会冒充双标注、裁决完成的正式金标集。partial,因为尚无跨平台制品哈希锁和带日期的漏洞数据库审计。<450 MiB。eval/reports/llama_prompt_cache/ablation/openkylin-qwen3-0.6b-ablation-repeated.json。demo/artifacts/:录屏素材日志与素材清单。演示视频.mp4:openKylin 社区赛题 226 秒字幕版演示视频。adapt/reports/local/latest.md:当前开发机适配证据快照。adapt/reports/remote/latest.md:远端 Linux CPU-only L2 适配证据快照。adapt/reports/openkylin-l3/latest.md:openKylin 2.0 SP2 目标 OS KVM L3 历史 OS 能力快照。compiled证据;活动 LSM 不含bpf,未签发挂载或拦截结论。build/submission/openkylin/:openKylin 社区赛题提交目录与.tar.gz压缩包。scripts/check_submission_safety.py:最终提交包安全扫描,防止本机路径和工作指令文件入包。平台支持 / Platforms
项目状态 / Roadmap
协议 / License
致谢 / Acknowledgements
感谢 openKylin 社区与麒麟软件有限公司提供赛题和目标系统支持。本项目部分思路受 Mem0、Letta/MemGPT、A-MEM、LongMemEval 等开源工作启发。