Add tests annotation workflow and documentation
面向 openKylin OS Agent 的本地记忆中间件与治理控制面
KylinMemGuard 是面向 openKylin OS Agent 的本地记忆中间件与治理控制面。它从工具执行结果、用户配置、交互行为和历史案例中提取偏好与知识,在 Agent 的任务规划、工具选择和结果生成中复用这些记忆,并通过敏感过滤、精准遗忘、版本管理、审计、隔离和资源控制保证记忆安全。
服务对象是 OS Agent 开发者和集成者、openKylin 最终用户,以及系统安全管理员和审计人员。它不是通用聊天机器人,也不负责实现完整自主 Agent;现有 Agent 工具适配器默认 dry-run/simulated,不会把模拟执行描述成真实系统操作。
dry-run/simulated
普通存储回答“写入和读取什么”;KylinMemGuard 还回答记忆从哪里来、为何被提取、在哪个用户/会话/场景生效、哪条记忆改变了 Agent 计划、是否含敏感信息、版本与冲突如何处理,以及遗忘后是否仍能从数据库、向量、缓存、mmap、备份或 Agent 上下文召回。
主链路:
MemoryEvent -> 清洗/提取 -> 版本化存储 -> 冲突/生命周期 -> BM25 + CPU 特征哈希向量 + mmap -> rerank -> ContextBundle -> Agent 计划/工具/模板 -> 回写/遗忘/审计
默认 LLM_MODE=rule,无需 GPU、本地大模型、API Key 或网络访问。CPU 特征哈希向量实际参与 Top-K,但不是预训练语义 embedding。
LLM_MODE=rule
能力状态只使用 verified | active | partial | planned | unavailable | failed。唯一事实来源:
verified | active | partial | planned | unavailable | failed
GET /api/capabilities
GET /api/evidence
artifacts/capability_status.json
artifacts/evidence_manifest.json
Windows 测试不能替代 openKylin 证据。systemd、journald、auditd、cgroup v2、BPF LSM、UKUI/D-Bus/Peony 和 deb 安装必须在目标机执行并留证后才可标记 verified。
verified
约束:后端 conda 环境固定为 jia310,前端 PowerShell 使用 npm.cmd,不使用项目 .venv,前端固定 5174,后端固定 8000。
jia310
npm.cmd
.venv
5174
8000
cd <project-root> .\scripts\run_dev_backend.ps1
另开 PowerShell:
cd <project-root> .\scripts\run_dev_frontend.ps1
访问 http://127.0.0.1:5174/,默认进入 KylinMemGuard Dashboard/Agent 任务台。项目没有登录或鉴权页面;http://localhost:5173/login 属于另一个 Vite 项目。
http://127.0.0.1:5174/
http://localhost:5173/login
等价命令:
cd backend $env:PYTHONPATH="." conda run -n jia310 python -m uvicorn app.main:app --reload --host 127.0.0.1 --port 8000 cd ..\frontend npm.cmd run dev -- --host 127.0.0.1 --port 5174 --strictPort
.\scripts\seed_demo_data.ps1 .\scripts\run_tests.ps1 cd frontend npm.cmd run build
推荐演示:导入 Demo -> Dashboard -> 混合/跨语言检索 -> Agent 记忆影响 trace -> 敏感检测 -> 精准遗忘 dry-run -> 二次确认 -> 遗忘验证 -> 审计 -> 评测 -> OS 证据。
精准遗忘采用“应用可验证的不可恢复删除与加密擦除”:AES-256-GCM 独立数据密钥、密钥擦除、SQLite/版本/派生事件/向量/mmap/缓存/备份清理、checkpoint/compaction 和全路径验证。项目不声称 SSD 物理介质逐比特覆写。
交互评测 API:POST /api/eval/run。完整基线:
POST /api/eval/run
bash scripts/run_benchmarks.sh
原始逐请求结果与汇总写入:
artifacts/evaluation/raw/
artifacts/evaluation/retrieval-debug/
artifacts/evaluation/summary.json
artifacts/evaluation/report.md
artifacts/evaluation/report.html
当前自动评测仍仅使用偏好、检索、敏感各 20 条确定性开发样本,不冒充独立人工真值。仓库已准备匿名双人标注候选包:偏好 100 条、检索 100 条、冲突 50 条、敏感 120 条,并补充遗忘、生命周期、跨语言和干扰样本各 30 条;这些文件当前均为未标注候选,human_truth=false,不得计入正式指标。流程见 人工标注指南 与 标注进度。
human_truth=false
目标后端端口为 18080,与 Windows 开发端口分离:
18080
bash scripts/check_env.sh bash scripts/install_openkylin.sh bash scripts/check_all_linux.sh bash scripts/run_benchmarks.sh bash scripts/collect_evidence.sh
特权能力不自动启用。auditd 使用 install_audit_rules.sh --apply;BPF 默认只探测,需人工审查后执行 verify_bpf_lsm.sh --load。详见 部署与使用手册 和 OS 机制设计与验证。
install_audit_rules.sh --apply
verify_bpf_lsm.sh --load
/api/health
/api/capabilities
/api/evidence
/api/ingest/*
/api/memories
/api/events
/api/versions/*
/api/conflicts
/api/search
/api/retrieval/*
/api/agent/*
/api/security/*
/api/forget
/api/forget/transactions
/api/namespaces/*
/api/os/features
/api/os/mmap
/api/os/dbus
/api/audit
/api/eval/run
/api/eval/latest
.\scripts\diagnose_frontend_blank.ps1
uvicorn
Ctrl+C
strictPort=true
架构、部署、安全、评测、测试与演示文档位于 docs/。最终演示与提交收口分别参见 演示录制检查清单、提交检查清单、GitLink 上传检查清单 与 匿名化检查清单。源码发布包脚本会排除 node_modules、运行时数据库、密钥、缓存和 artifacts。Debian 元数据位于 packaging/debian/;在 openKylin 成功构建、安装、升级、卸载并留证前,其状态保持 planned。
docs/
node_modules
packaging/debian/
planned
以下内容原样保留自 GitLink 仓库初始 README;独立副本见 docs/CONTEST_README.md。
智能体作为智能交互系统的核心组件,其记忆模块中的偏好记忆与知识记忆是支撑个性化服务适配、知识沉淀复用的核心载体。工具调用执行结果是两类记忆的核心数据源之一,同时记忆还来源于用户手动配置、跨场景行为数据等多类渠道。当前,操作系统在构建智体能记忆模块时面临双重挑战: 一是AI算法层面:工具调用执行结果结构化不足、数据质量参差不齐,导致偏好提取(如工具选择偏好)不精准、知识沉淀不高效;另一方面,其他数据源存在用户行为捕捉不全面、跨场景数据不一致、配置版本混乱等问题,叠加形成动态偏好提取偏差、版本化管理效率低、新旧知识冲突滞后、关联检索精度有限等痛点,制约了智能体的服务智能化水平与用户体验。 二是操作系统层面:记忆数据的存储、访问、隔离、审计缺乏OS级原生机制支撑;敏感信息(PII、密钥、Token等)的识别与过滤停留在应用层正则匹配,缺乏与OS安全子系统(LSM、namespace等)的深度结合;端侧资源受限场景下,记忆模块与OS内存子系统(页缓存、mmap)的协同优化空间未被充分挖掘。三是OS Agent 的记忆模块不仅需要完成偏好记忆与知识记忆的沉淀、管理和复用,还需要在真实交互过程中高效支撑检索增强生成,即 RAG 流程,随着记忆规模扩大、数据来源增多、端侧部署需求增强,传统仅依赖应用层向量检索或数据库调用的方式,容易在检索延迟、上下文构建、生成协同、资源占用和抗干扰能力等方面成为瓶颈。 本选题聚焦解决以下核心问题:一是优化偏好记忆的动态捕捉与适配机制,尤其是工具调用执行结果数据源的处理,实现用户操作习惯、输出风格、安全策略等偏好的精准提取、版本化更新与跨场景复用;二是提升知识记忆的结构化整合、关联检索与冲突融合能力,强化工作流程知识、历史案例、可复用模板的高效沉淀与智能调用;三是面向 OS Agent 记忆驱动的 RAG 流程,设计系统级优化机制,在端侧或本地部署环境下实现更低延迟、更高吞吐和更稳定的记忆检索与生成能力。
开发一套应用于智能体的多源融合偏好与知识记忆优化解决方案,具备偏好精准捕捉、知识智能整合、高效检索复用等核心功能,并通过 OS级机制设计体现系统创新。具体要求如下:
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802047560号
KylinMemGuard
KylinMemGuard 是面向 openKylin OS Agent 的本地记忆中间件与治理控制面。它从工具执行结果、用户配置、交互行为和历史案例中提取偏好与知识,在 Agent 的任务规划、工具选择和结果生成中复用这些记忆,并通过敏感过滤、精准遗忘、版本管理、审计、隔离和资源控制保证记忆安全。
服务对象是 OS Agent 开发者和集成者、openKylin 最终用户,以及系统安全管理员和审计人员。它不是通用聊天机器人,也不负责实现完整自主 Agent;现有 Agent 工具适配器默认
dry-run/simulated,不会把模拟执行描述成真实系统操作。Why It Is Not Just a Memory Database
普通存储回答“写入和读取什么”;KylinMemGuard 还回答记忆从哪里来、为何被提取、在哪个用户/会话/场景生效、哪条记忆改变了 Agent 计划、是否含敏感信息、版本与冲突如何处理,以及遗忘后是否仍能从数据库、向量、缓存、mmap、备份或 Agent 上下文召回。
主链路:
MemoryEvent -> 清洗/提取 -> 版本化存储 -> 冲突/生命周期 -> BM25 + CPU 特征哈希向量 + mmap -> rerank -> ContextBundle -> Agent 计划/工具/模板 -> 回写/遗忘/审计默认
LLM_MODE=rule,无需 GPU、本地大模型、API Key 或网络访问。CPU 特征哈希向量实际参与 Top-K,但不是预训练语义 embedding。Capability Truth Source
能力状态只使用
verified | active | partial | planned | unavailable | failed。唯一事实来源:GET /api/capabilitiesGET /api/evidenceartifacts/capability_status.jsonartifacts/evidence_manifest.jsonWindows 测试不能替代 openKylin 证据。systemd、journald、auditd、cgroup v2、BPF LSM、UKUI/D-Bus/Peony 和 deb 安装必须在目标机执行并留证后才可标记
verified。Quick Start on Windows
约束:后端 conda 环境固定为
jia310,前端 PowerShell 使用npm.cmd,不使用项目.venv,前端固定5174,后端固定8000。另开 PowerShell:
访问
http://127.0.0.1:5174/,默认进入 KylinMemGuard Dashboard/Agent 任务台。项目没有登录或鉴权页面;http://localhost:5173/login属于另一个 Vite 项目。等价命令:
Demo and Acceptance
推荐演示:导入 Demo -> Dashboard -> 混合/跨语言检索 -> Agent 记忆影响 trace -> 敏感检测 -> 精准遗忘 dry-run -> 二次确认 -> 遗忘验证 -> 审计 -> 评测 -> OS 证据。
精准遗忘采用“应用可验证的不可恢复删除与加密擦除”:AES-256-GCM 独立数据密钥、密钥擦除、SQLite/版本/派生事件/向量/mmap/缓存/备份清理、checkpoint/compaction 和全路径验证。项目不声称 SSD 物理介质逐比特覆写。
Evaluation
交互评测 API:
POST /api/eval/run。完整基线:原始逐请求结果与汇总写入:
artifacts/evaluation/raw/artifacts/evaluation/retrieval-debug/artifacts/evaluation/summary.jsonartifacts/evaluation/report.mdartifacts/evaluation/report.html当前自动评测仍仅使用偏好、检索、敏感各 20 条确定性开发样本,不冒充独立人工真值。仓库已准备匿名双人标注候选包:偏好 100 条、检索 100 条、冲突 50 条、敏感 120 条,并补充遗忘、生命周期、跨语言和干扰样本各 30 条;这些文件当前均为未标注候选,
human_truth=false,不得计入正式指标。流程见 人工标注指南 与 标注进度。openKylin Deployment
目标后端端口为
18080,与 Windows 开发端口分离:特权能力不自动启用。auditd 使用
install_audit_rules.sh --apply;BPF 默认只探测,需人工审查后执行verify_bpf_lsm.sh --load。详见 部署与使用手册 和 OS 机制设计与验证。Main APIs
/api/health、/api/capabilities、/api/evidence/api/ingest/*、/api/memories、/api/events、/api/versions/*、/api/conflicts/api/search、/api/retrieval/*、/api/agent/*/api/security/*、/api/forget、/api/forget/transactions/api/namespaces/*、/api/os/features、/api/os/mmap、/api/os/dbus/api/audit、/api/eval/run、/api/eval/latestTroubleshooting
5174,运行.\scripts\diagnose_frontend_blank.ps1,查看 F12 第一条红色错误。uvicorn正在持续提供服务,使用Ctrl+C停止。strictPort=true会明确失败,不会漂移到其他端口。Documentation
架构、部署、安全、评测、测试与演示文档位于
docs/。最终演示与提交收口分别参见 演示录制检查清单、提交检查清单、GitLink 上传检查清单 与 匿名化检查清单。源码发布包脚本会排除node_modules、运行时数据库、密钥、缓存和 artifacts。Debian 元数据位于packaging/debian/;在 openKylin 成功构建、安装、升级、卸载并留证前,其状态保持planned。GitLink 原始赛题说明
以下内容原样保留自 GitLink 仓库初始 README;独立副本见 docs/CONTEST_README.md。
赛题题目:面向openKylin的智能体记忆提取与精准遗忘机制(社区赛题)
赛题说明:
智能体作为智能交互系统的核心组件,其记忆模块中的偏好记忆与知识记忆是支撑个性化服务适配、知识沉淀复用的核心载体。工具调用执行结果是两类记忆的核心数据源之一,同时记忆还来源于用户手动配置、跨场景行为数据等多类渠道。当前,操作系统在构建智体能记忆模块时面临双重挑战: 一是AI算法层面:工具调用执行结果结构化不足、数据质量参差不齐,导致偏好提取(如工具选择偏好)不精准、知识沉淀不高效;另一方面,其他数据源存在用户行为捕捉不全面、跨场景数据不一致、配置版本混乱等问题,叠加形成动态偏好提取偏差、版本化管理效率低、新旧知识冲突滞后、关联检索精度有限等痛点,制约了智能体的服务智能化水平与用户体验。 二是操作系统层面:记忆数据的存储、访问、隔离、审计缺乏OS级原生机制支撑;敏感信息(PII、密钥、Token等)的识别与过滤停留在应用层正则匹配,缺乏与OS安全子系统(LSM、namespace等)的深度结合;端侧资源受限场景下,记忆模块与OS内存子系统(页缓存、mmap)的协同优化空间未被充分挖掘。三是OS Agent 的记忆模块不仅需要完成偏好记忆与知识记忆的沉淀、管理和复用,还需要在真实交互过程中高效支撑检索增强生成,即 RAG 流程,随着记忆规模扩大、数据来源增多、端侧部署需求增强,传统仅依赖应用层向量检索或数据库调用的方式,容易在检索延迟、上下文构建、生成协同、资源占用和抗干扰能力等方面成为瓶颈。 本选题聚焦解决以下核心问题:一是优化偏好记忆的动态捕捉与适配机制,尤其是工具调用执行结果数据源的处理,实现用户操作习惯、输出风格、安全策略等偏好的精准提取、版本化更新与跨场景复用;二是提升知识记忆的结构化整合、关联检索与冲突融合能力,强化工作流程知识、历史案例、可复用模板的高效沉淀与智能调用;三是面向 OS Agent 记忆驱动的 RAG 流程,设计系统级优化机制,在端侧或本地部署环境下实现更低延迟、更高吞吐和更稳定的记忆检索与生成能力。
赛题要求:
开发一套应用于智能体的多源融合偏好与知识记忆优化解决方案,具备偏好精准捕捉、知识智能整合、高效检索复用等核心功能,并通过 OS级机制设计体现系统创新。具体要求如下:
评分细则(明确评审角度、标准和分值范围):
功能完整性(40%):
性能优化(30%):
采用分档给分方式,确保指标可衡量、可分级,重点关注偏好提取准确率、知识检索召回率、知识冲突处理正确率、检索响应延迟(P95)、敏感信息识别F1等指标。 指标定义与计算方法:代码规范性(20%):
文档质量(10%):
交付物清单:
赛题联系人:
韩老师 hanxinyu@kylinos.cn参考资料: