feat: finalize contest delivery package
让 Agent 像操作系统进程一样协作:消息走协议,长状态走引用,经验进入共享记忆。
OS-Agent Mesh 是面向操作系统开源创新大赛第 10 题的可复现运行时:面向多智能体协作的低开销通信、状态传递与共享记忆机制。
它不是把多个模型简单串起来,而是把 Agent 协作落到可测量的系统机制:消息协议、进程边界、IPC 帧、文件映射、持久化记忆和故障恢复。
它把多 Agent 协作拆成三个可以被操作系统工程验证的问题:
state_ref
这是一条可以运行、观测、故障注入、压测和复现的 Agent 运行时链路。
Message
float32
mmap
systemd-analyze
证据来自仓库内 evidence/openeuler/20260713T074259Z/,运行环境是官方 openEuler 24.03-LTS-SP3 WSL 镜像。下面的数字由 benchmark.json 和 demo_uds_mmap.json 生成,不是手填的宣传指标。
evidence/openeuler/20260713T074259Z/
benchmark.json
demo_uds_mmap.json
evidence/openeuler/20260713T074259Z/tests.log
structured_only
structured_state_memory
这里有一个刻意保留的工程取舍:structured_only 追求最低消息开销;structured_state_memory 额外携带记忆查询、证据和状态引用,平均为 11,981 B,但获得 95% 的跨任务记忆命中率。项目不把两种模式混成一个“万能指标”,而是把开销与复用能力同时展示。
证据边界:当前记录证明的是 openEuler 24.03-LTS-SP3 用户态部署和 WSL2 内核环境上的运行结果,不宣称裸机内核验证。真实系统启动数据需在目标 systemd 主机使用 --real-systemd 重新采集。
--real-systemd
flowchart LR O[Orchestrator] --> P[PlannerAgent\n任务拆解 / PLAN] P --> R[RetrieverAgent\nSQLite 共享记忆] R --> X[ToolExecutorAgent\n只读观测 / mmap 状态] X --> S[SummarizerAgent\n证据汇总 / RESULT] X -. state_ref .-> M[(mmap StateStore)] R <--> D[(SQLite MemoryStore)] O -. metrics .-> Q[MetricsCollector\n字节 / 延迟 / 命中率 / 重试]
核心链路是:短消息传控制面,二进制状态传数据面,共享记忆传经验面。
@dataclass class Message: schema_version: str message_id: str task_id: str sender: str receiver: str message_type: str payload: dict state_ref: str | None correlation_id: str | None
Message 负责控制面;StateVector 负责数据面;SQLite memory ID 负责经验面。三者都有独立的字节、延迟、引用或命中指标,评测结果可以沿着同一条任务链回溯到具体实现。
StateVector
运行时协议与后端模型解耦。确定性后端让评审可以在没有 API Key、没有 GPU、没有网络的环境中复现同一条消息链;Ollama 和 OpenAI-compatible 适配器只替换 Agent 的生成后端,不改变协议、状态存储、传输和指标接口。
$env:PYTHONPATH = "$PWD/src" python -m os_agent_mesh test python -m os_agent_mesh demo python -m os_agent_mesh benchmark --rounds 10 --out results
PYTHONPATH="$PWD/src" python3 -m os_agent_mesh test PYTHONPATH="$PWD/src" python3 -m os_agent_mesh demo --mmap-state --uds --isolate --real-systemd PYTHONPATH="$PWD/src" python3 -m os_agent_mesh benchmark --rounds 10 --out results_ipc --mmap-state --uds ./scripts/verify_openeuler.sh
verify_openeuler.sh 会生成新的时间戳证据目录,包含环境指纹、安装日志、编译日志、测试日志、UDS + mmap 演示、10 轮基准、Markdown/JSON/CSV 结果和校验和。
verify_openeuler.sh
src/os_agent_mesh/ 运行时、协议、Agent、状态、记忆、传输、指标 tests/ 标准库单元测试与跨进程集成测试 scripts/ Windows/Linux 运行脚本与 openEuler 验收脚本 docs/ 设计、实验、部署、演示说明 evidence/openeuler/ 可审查的时间戳验收证据 submission/ 初赛交付材料、证据卡与评审入口 tools/ 报告和证据卡生成工具
estimated_tokens = ceil(UTF-8 message bytes / 4)
Apache License 2.0。项目归属、第三方组件和许可证边界见 项目归属与许可说明。
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802047560号
OS-Agent Mesh · Agent 协作运行时
OS-Agent Mesh 是面向操作系统开源创新大赛第 10 题的可复现运行时:面向多智能体协作的低开销通信、状态传递与共享记忆机制。
它不是把多个模型简单串起来,而是把 Agent 协作落到可测量的系统机制:消息协议、进程边界、IPC 帧、文件映射、持久化记忆和故障恢复。
它把多 Agent 协作拆成三个可以被操作系统工程验证的问题:
state_ref传递?这是一条可以运行、观测、故障注入、压测和复现的 Agent 运行时链路。
目录
30 秒看懂项目
Message协议;Linux/openEuler 可使用命名 Unix Domain Socketfloat32状态向量;可落盘为mmap文件,消息只携带state_refsystemd-analyze适配器已验证证据(真实运行结果)
证据来自仓库内
evidence/openeuler/20260713T074259Z/,运行环境是官方 openEuler 24.03-LTS-SP3 WSL 镜像。下面的数字由benchmark.json和demo_uds_mmap.json生成,不是手填的宣传指标。evidence/openeuler/20260713T074259Z/tests.logstructured_only平均消息字节数structured_state_memory,第 1 轮建立记忆,后续轮次复用这里有一个刻意保留的工程取舍:
structured_only追求最低消息开销;structured_state_memory额外携带记忆查询、证据和状态引用,平均为 11,981 B,但获得 95% 的跨任务记忆命中率。项目不把两种模式混成一个“万能指标”,而是把开销与复用能力同时展示。架构一览
flowchart LR O[Orchestrator] --> P[PlannerAgent\n任务拆解 / PLAN] P --> R[RetrieverAgent\nSQLite 共享记忆] R --> X[ToolExecutorAgent\n只读观测 / mmap 状态] X --> S[SummarizerAgent\n证据汇总 / RESULT] X -. state_ref .-> M[(mmap StateStore)] R <--> D[(SQLite MemoryStore)] O -. metrics .-> Q[MetricsCollector\n字节 / 延迟 / 命中率 / 重试]核心链路是:短消息传控制面,二进制状态传数据面,共享记忆传经验面。
核心接口
Message负责控制面;StateVector负责数据面;SQLite memory ID 负责经验面。三者都有独立的字节、延迟、引用或命中指标,评测结果可以沿着同一条任务链回溯到具体实现。为什么默认不依赖大模型
运行时协议与后端模型解耦。确定性后端让评审可以在没有 API Key、没有 GPU、没有网络的环境中复现同一条消息链;Ollama 和 OpenAI-compatible 适配器只替换 Agent 的生成后端,不改变协议、状态存储、传输和指标接口。
一键运行
Windows / 普通 PC
Linux / openEuler
verify_openeuler.sh会生成新的时间戳证据目录,包含环境指纹、安装日志、编译日志、测试日志、UDS + mmap 演示、10 轮基准、Markdown/JSON/CSV 结果和校验和。评审入口
代码布局
设计边界
--real-systemd只在实际 systemd 主机启用只读采集。estimated_tokens = ceil(UTF-8 message bytes / 4)仅用于相对比较,不冒充特定大模型 tokenizer 的精确结果。许可证
Apache License 2.0。项目归属、第三方组件和许可证边界见 项目归属与许可说明。