agent-core 是一个为 AI Agent(智能体)设计的可靠执行引擎——让代理拥有 Exactly‑Once 执行保障、可验证身份和资产所有权的能力。
它是连接 AI “大脑”与外部世界的可信神经中枢。
flowchart TB
subgraph AI Agent Frameworks
A[OpenClaw / NemoClaw / CoPaw ...]
end
subgraph agent-core
direction TB
B[幂等性核心<br/>Fencing Tokens + CRDT]
C[WASM 沙箱<br/>内存/CPU 隔离]
D[可观测性<br/>Prometheus 指标]
E[分布式调度器<br/>Redis]
end
subgraph External World
F[API / 数据库 / 区块链]
end
A -- "提交任务" --> B
B -- "执行 Exactly-Once" --> C
C -- "安全调用" --> F
B -.-> D
E -.-> B
D --> F
## 🧩 WASM 宿主函数
agent-core 为 WASM 插件提供了以下宿主函数,所有函数遵循能力基安全模型(默认拒绝,需显式授权):
| 函数名 | 描述 | 安全限制 |
|--------|------|----------|
| `log` | 输出日志 | 无 |
| `storage_get` / `storage_set` | 插件隔离的键值存储 | 每个插件实例独立存储 |
| `http_get` | 发起 HTTP GET 请求 | 域名白名单、响应大小限制 |
| `workspace_write` | 写入文件到工作区 | 路径必须相对,禁止 `..`,大小限制 10MB |
| `workspace_list` | 列出工作区目录内容 | 路径必须相对,返回 JSON 数组 |
| `env_get` | 获取环境变量 | 仅允许预设的键名 |
| `random_bytes` | 生成加密安全随机数 | 无 |
| `sleep_ms` | 延迟执行(阻塞) | 最大 10 秒 |
详细说明和调用示例请参阅 [WASM 宿主函数文档](docs/wasm_host_functions.md)。
### Redis 调度器可靠性保证
- **原子操作**:`nack` 使用 Redis pipeline 保证 XACK 和 XADD 的原子性,避免状态不一致。
- **死信队列**:超过最大重试次数的任务自动移入死信队列 `{stream}:dead`,可通过 API 监控。
- **监控指标**:通过 Prometheus 暴露任务计数、死信队列长度、操作失败次数等(参见 `/metrics`)。
- **配置参数**:支持 `max_retries` 设置最大重试次数。