OAK 本地智能体运行时
用可嵌入的 C++ 运行时,在本地先执行确定性技能,再安全调用经校验的工具。
- Star 数
- ★ 1k
- 最近更新
- 1 个月前
- License
- Apache-2.0
- 主语言
- C++
- FA 评分
- 60/100 · 存在缺口
30 秒速览
- 运行形态
- 可在哪里用
- 通用 · 跨平台
- 费用
- 免费,无需付费服务
- 上手难度
- 中 · 需要几步配置
- 开始前需要
- 典型场景
- 汽车软件团队可用
sparx demo automotive原型验证本地车载控制流程,无需真实车辆或模型。 - 不适合
- 需要已验证 Qualcomm QNN/Genie 集成的团队
- 需要生产级加密或多步骤持久化 DAG 的项目
- 源码审查
- 60/100 · 存在缺口
这个 Agent 能做什么,适合哪些场景?
OAK / MasterAgent 是一个 C++17 本地优先运行时,提供可构建的 sparx 命令行工具和可安装的 C++ SDK。master_agent::reference API 允许应用注册工具、参数模式、回调和精确短语技能;运行时先匹配确定性技能,再按需请求模型。它会校验工具名和参数,并返回实际工具结果;未匹配输入在未配置模型时返回 NO_ROUTE。默认只在内存中保存会话状态;显式启用 SQLite 后,可持久化执行回执和历史以支持重启后的请求去重及中断恢复。该参考运行时不提供 Qualcomm QNN/Genie 集成,相关平台接入需要自行完成。
通过 sparx demo automotive,运行模拟车载空调的内存演示:设置温度并读取结果,输出 JSON。用 sparx run --input ... 可处理单次输入;持续运行时可逐行输入并在同一进程保留演示状态。运行时先检查已注册的精确短语技能,再调用可选模型回调或本地模型 HTTP 适配器;模型可返回 JSON 或单个工具调用,工具名及参数必须通过校验后才执行。可通过 --state、--session 和 --request-id 启用 SQLite 回执与历史,重复请求会返回记录结果;未完成请求会标记为 UNKNOWN,需核验并显式对账。SDK 也支持上下文工具,其执行上下文包含请求身份、稳定幂等键、截止时间和协作式取消信号。
- 汽车软件团队可用
sparx demo automotive原型验证本地车载控制流程,无需真实车辆或模型。 - 嵌入式 C++ 开发者可将
MasterAgent::Core集成到应用中,注册受参数模式约束的业务工具。 - 需要本地推理的团队可连接单独运行的 llama-server,并通过 HTTP 适配器请求工具调用。
- 需要跨进程请求去重的业务应用可启用 SQLite,并在进程重启后恢复执行回执和历史。
- 库存系统开发者可参考 inventory example,对接独立 HTTP 服务并演练丢失响应后的 UNKNOWN 恢复与对账。
如何安装或部署这个 Agent?
需要 CMake 3.18+、C++17;启用 HTTP 适配器时需要 libcurl 开发文件,启用持久化时需要 SQLite 开发文件。测试和打包需要 Python 3。仓库提供 Linux 和 macOS 发布 CI 目标。
git clone https://github.com/OpenSparX/MasterAgent.git
cd MasterAgent
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build --parallel 4
ctest --test-dir build --output-on-failureUbuntu 上 HTTP 和 SQLite 依赖可按 README 安装:
sudo apt-get install libcurl4-openssl-dev libsqlite3-dev无需 libcurl 的 SDK 和确定性 CLI 构建方式:
cmake -S . -B build-offline -DMASTER_AGENT_ENABLE_HTTP=OFF -DBUILD_EVAL=OFF
cmake --build build-offline --parallel 4如需省去两个可选依赖:
cmake -S . -B build-minimal -DMASTER_AGENT_ENABLE_HTTP=OFF -DMASTER_AGENT_ENABLE_STORAGE=OFF
cmake --build build-minimal --parallel 4如何使用这个 Agent?
先运行内存模拟演示;它不需要模型、凭据、网络或车辆硬件:
./build/cli/sparx demo automotive用中文或英文输入测试已注册技能:
./build/cli/sparx run --input '把空调调到22度'
./build/cli/sparx run --input 'vehicle status'连接自行启动的兼容 llama-server;运行时不会下载或启动模型,也不会自动回退到云端:
./build/cli/sparx run --endpoint 127.0.0.1:8080 --model local \
--input 'Set the AC to 24 degrees'设置超时和认证时,可将 API 密钥存入环境变量,并传入变量名:
./build/cli/sparx run --endpoint 127.0.0.1:8080 --model local \
--timeout-ms 3000 --api-key-env MODEL_API_KEY \
--input 'Set the AC to 24 degrees'启用 SQLite 持久化并在重启后检查恢复状态:
./build/cli/sparx run --state ./state/agent.db --session alice --request-id ac-001 \
--input 'set AC to 22 degrees'
./build/cli/sparx recover --state ./state/agent.db集成 SDK 时,安装后通过 CMake 查找 MasterAgent,链接 MasterAgent::Core;HTTP 适配器可选链接 MasterAgent::Http。支持的公开入口为 master_agent::reference 中的 reference_runtime.h。
这个 Agent 有哪些优点和局限?
- 确定性精确短语技能无需模型,模拟演示也不需要网络或车辆硬件。
master_agent::reference提供可安装的 C++ SDK、工具注册和参数校验接口。- 可选 SQLite 回执支持重启后的请求去重,并将未完成请求标记为
UNKNOWN以便人工核验。 - 上下文工具可接收稳定幂等键、截止时间和协作式取消信号,并返回明确的 committed、failed 或 unknown 结果。
- 项目版本为 0.4.0-alpha.3;README 将其描述为小型同步参考运行时。
- HTTP 模型适配器要求单独运行兼容 llama-server;真实模型合规性取决于所选模型。
- 工具参数模式仅支持原始对象模式子集;SQLite 不加密,也无法与真实设备形成事务或保证分布式 exactly-once。
- Qualcomm QNN/Genie 集成需要平台接入,当前版本未验证;实验模块未接入参考 CLI。
这个 Agent 与同类方案有什么区别?
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| OAK 本地智能体运行时 当前 | 60 · 存在缺口 | 命令行工具免费 | ★ 1k | 1 个月前 | C++ | — |
| Dexto | 51 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 660 | 1 天前 | — | Claude Code · OpenAI API · Claude API |
| Coven | 79 · 表现良好 | 命令行工具免费 | ★ 76 | 今天 | Rust | Codex · Claude Code |
| Aura IDE | 77 · 表现良好 | 桌面应用免费 + 模型费 | ★ 57 | 1 个月前 | Python | OpenAI API · Claude API |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
README 展示工具名称和参数校验、显式启用持久化、API 密钥通过环境变量名读取,以及恢复和对账机制,因此最小权限、数据流可见性和外部效果控制有一定依据;但没有通用的用户确认流程,存储未加密,依赖安全证据有限。README 和测试文件包含带审计记录的 UNKNOWN 恢复路径,但没有通用回滚保证。许可证和 SECURITY.md 提供联系线索,然而发布者身份未验证,维护责任与更新路径仍不充分。
README 描述同步参考运行时及错误处理,且测试源码覆盖崩溃恢复和评估失败;但 SECURITY.md 仍称 0.3.x 为当前版本,而 README 标为 0.4.0-alpha.3,形成版本口径不一致。依赖可选开关和安装要求写得较清楚,错误状态如 NO_ROUTE、UNKNOWN、STORAGE_ERROR 有明确描述;本评估未执行这些测试。
README 面向 C++ SDK 集成者和 CLI 使用者,提供确定性技能、工具回调、模型适配器和持久化场景。它清楚说明 Qualcomm QNN/Genie 未验证、实验模块未接入参考 CLI、无云端自动回退及不提供多步持久 DAG,因此能力边界充分。技能按精确短语路由有助于限制触发,但自然语言覆盖能力及真实设备适配仍有限。
README 分层介绍快速开始、模型、持久化、SDK、能力状态和限制,并给出构建、安装及示例;Apache-2.0 文件完整。版本标为 alpha,但提供的文件未见变更历史,SECURITY.md 版本信息又与 README 不同。安全报告邮箱和承诺提供有限维护线索,但没有确认发布者身份或完整维护责任。
输出采用 JSON,提供 CLI、SDK、确定性技能及带恢复说明的业务示例,能为本地工具执行和集成提供实际价值。README 将依赖、模型服务和存储选择写明,也披露限制;不过描述中的亚 100ms Qualcomm NPU 和完全设备端能力没有此处证据支持,QNN 集成明确未验证。
README 的安装、能力和限制说明可与 CI 工作流及测试源码部分对照;崩溃恢复测试展示了具体状态、对账和审计断言。不同来源的交叉佐证有限,且测试源码并非本次执行结果。文档区分了已提供功能、实验模块、模拟评估与未验证的性能/硬件主张,事实和推断边界较清楚。
- 将亚 100ms Qualcomm NPU 和完全设备端描述视为未证实:README 明确指出 QNN/Genie 集成尚未验证,合成评估不能证明真实模型延迟或 NPU 性能。
- 版本信号不一致:README 标为 0.4.0-alpha.3,SECURITY.md 则将 0.3.x 标为当前版本;持久化数据未加密。
最近版本
来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。
-
发布说明摘录
Full Changelog: https://github.com/OpenSparX/MasterAgent/compare/v2.1.14...v2.1.15在 GitHub 查看 ↗ -
发布说明摘录
Full Changelog: https://github.com/OpenSparX/MasterAgent/compare/v2.1.13...v2.1.14在 GitHub 查看 ↗ -
发布说明摘录
Full Changelog: https://github.com/OpenSparX/MasterAgent/compare/v2.1.5...v2.1.6在 GitHub 查看 ↗
常见问题
必须配置模型或付费 API 密钥吗?
--api-key-env 指定密钥环境变量名。输入会自动发送到云端吗?
SQLite 能保证设备操作只执行一次吗?
UNKNOWN,需要外部核验和显式对账。