OhoDevelopers
核心概念

Runtime 与安全边界

了解本地 Node、远程 MCP 以及 Oho 在执行前后进行的检查。

本地 Node Runtime

本地 Node Tool 在子进程中执行,环境变量会被清理,Plugin 目录以只读方式提供。Alpha 不允许本地 Node Plugin 声明网络访问,因为当前 Runtime 还没有可强制执行的网络沙箱。

{
  "runtime": { "kind": "node", "entry": "src/index.mjs" },
  "permissions": { "network": [], "secrets": [] }
}

远程 MCP Runtime

MCP Tool 来自 tools/list 发现;Manifest 必须给出 allowlist、风险、默认模式和连接字段。Oho 将发现结果锁定为能力快照,不能把 MCP Server 返回的任意新 Tool 自动交给 Agent。

本地 MCP 注册只接受字面量 loopback IP:127.0.0.1::1localhost 会被拒绝,避免校验后解析到不同目标。

Schema 边界

Oho 在 Runtime 缝隙验证 Tool 输入和输出。对象输入应默认使用 additionalProperties: false,以免写操作通过未声明字段绕过目标策略。

风险与确认

  • low:无副作用的读取或计算;
  • medium:可逆写入;
  • high:不可逆或高影响操作。

高风险 Tool 不能使用 defaultMode: "allowed"。当前通用二次确认的恢复执行链路尚未完成,因此非低风险能力不应作为 Alpha 教程的成功路径。

运行时不接收什么

不要把令牌、Cookie、OAuth client secret 或 API Key 写入:

  • Manifest;
  • Skill 或 Command;
  • 源码和提交到 Registry 的 .env
  • 日志、截图、Trace 或 Tool 输出。