# L0 — 产品白皮书与能力全景层

**文档版本**: 2.0  
**适用项目**: sgClaw（ZeroClaw 重构版）  
**编制日期**: 2026-03-26

---

## 1. 产品定义

sgClaw 不是“浏览器智能体执行内核”意义上的 browser-only 产品。更准确地说，它是一个嵌入企业浏览器运行环境中的、安全加固后的 zeroclaw runtime：zeroclaw 负责智能体能力本体，sgClaw 负责把这些能力包裹进受控的执行边界中。

它的职责不是替代整个平台，也不是承诺“全自动数字员工”，而是：

1. 以 zeroclaw 为核心提供统一的 Agent 执行入口、prompt/skills/memory/tool routing 能力。
2. 通过 sgClaw 的 pipe、HMAC、MAC Policy 和宿主二次校验，把高风险执行面收敛成受保护的工具表面。
3. 在浏览器场景下，把页面操作能力作为特权工具面暴露给 runtime，而不是让浏览器反过来定义整个 runtime。

当前仓库中的 sgClaw 不是一个完整前端产品，也不是浏览器发行版本身，而是“vendored zeroclaw core + sgClaw 安全封装层 + browser host integration”的产品核心。

---

## 2. 重构后的产品边界

### 2.1 当前已经落地的能力

- 已 vendored `zeroclaw`，并通过 Rust 运行时接入 provider、skills、memory 等核心能力入口。
- 浏览器侧通过 STDIO JSON Line 协议与 Rust 进程通信。
- 启动时执行 `init -> init_ack` 握手，并建立会话级 HMAC 密钥。
- 任务输入统一走 `submit_task` 消息。
- Rust 侧支持两条执行路径：
  - 未配置大模型时，使用仓库内置 planner/fallback 逻辑。
  - 配置 `DEEPSEEK_*` 环境变量时，切换到 ZeroClaw compatibility runtime。
- 当前真正稳定落地的特权执行面收敛为一个工具：`browser_action`。
- 当前真正开放给模型的动作仅 4 个：`click`、`type`、`navigate`、`getText`。
- 所有浏览器动作都受 `resources/rules.json` 中的域名和动作白名单约束。
- 执行过程中会向宿主发送结构化日志和最终任务结果。

注意：上述“browser-first + compat-only”是当前实现状态，不是目标产品定义。主线目标仍然是“安全加固后的 zeroclaw runtime”，而不是“只会操作浏览器的 agent”。

### 2.2 当前明确不宣称的能力

以下内容在旧文档中存在较多规划性描述，但并非当前仓库中的已实现事实：

- 独立的 Skill 仓库与 Skill 脚本执行引擎。
- 完整 MCP 工具接入和多工具编排。
- 独立 Critic/Circuit Breaker 子系统。
- 完整的浏览器 Side Panel 产品界面。
- 40+ 页面动作在 Agent 侧全部开放。
- 真实生产级多租户、审计后台、任务编排中心。
- “浏览器是 sgClaw 的全部 runtime” 这种定义。

这些能力可以保留为后续扩展方向，但不应继续写入 L0-L4 作为现状描述。

---

## 3. 产品价值主张

ZeroClaw 重构后的 sgClaw，核心价值不在“功能堆叠”，也不在“单纯浏览器自动化”，而在于把 zeroclaw 的智能体能力放进一个可控、可替换、可验证的安全执行底座里。

### 3.1 对业务侧

- 用自然语言触发浏览器任务，不再直接暴露底层页面命令。
- 统一任务入口，降低页面自动化能力的使用门槛。
- 执行链路具备日志、结果回传和协议约束，便于纳入业务流程。

### 3.2 对集成侧

- 浏览器宿主只需实现固定协议和宿主侧安全复检，不必理解模型内部细节。
- sgClaw Runtime 可以在保留宿主协议的前提下演进 zeroclaw 配置、skills 和工具策略。
- 浏览器只是一个受保护执行面；未来其它客户端也应复用同一 runtime，而不是另起一套架构。

### 3.3 对安全侧

- 不是“模型可任意操作浏览器”，而是“runtime 只能通过被授权的特权工具面触发高风险动作”。
- 安全边界前置到协议、MAC Policy、宿主二次校验和运行时工具策略，而不是把约束留给提示词。
- 域名、动作、HMAC 与工具暴露策略共同组成最小可信执行面。

---

## 4. 能力全景

| 能力域 | 当前状态 | 产品含义 |
|---|---|---|
| 任务接入 | 已实现 | 接收浏览器宿主发来的 `submit_task` 指令 |
| 协议握手 | 已实现 | 统一版本、会话标识、HMAC 种子交换 |
| zeroclaw Core | 已接入但未充分释放 | prompt、skills、memory、provider routing 的能力本体已经在仓库中 |
| Agent 执行 | 已实现但仍处过渡态 | planner fallback 与 browser-first ZeroClaw compat 共存 |
| 浏览器特权工具面 | 已实现 | 通过 `browser_action` 暴露受保护的浏览器执行能力 |
| 核心动作 | 已实现 | `click/type/navigate/getText` |
| 域名白名单 | 已实现 | 仅允许规则文件中的域名 |
| 动作白名单 | 已实现 | 仅允许规则文件中的动作 |
| 结构化日志 | 已实现 | `log_entry` 与 `task_complete` 回传 |
| 扩展动作枚举 | 已预留 | 协议枚举已定义，但默认未开放 |
| Skill 体系 | 已 vendored 但运行时只部分使用 | 应复用 zeroclaw 原生机制，而不是另起一套浏览器专用技能系统 |
| MCP 生态 | 未在主链路启用 | 未来可接入，但仍应服从 sgClaw 安全封装 |

---

## 5. 典型产品场景

### 5.1 页面导航与信息读取

用户输入“进入 ERP 首页并读取当前待办数量”，系统可以拆解为：

1. `navigate` 到目标地址。
2. `getText` 读取页面目标区域。
3. 返回结构化结果摘要。

这是当前仓库最稳定、最符合实现面的任务类型。

### 5.2 表单录入与提交流程中的局部自动化

当页面元素定位规则明确时，系统可用 `click` 和 `type` 组合完成表单录入、按钮点击、简单提交等动作。  
是否能覆盖完整业务流程，取决于浏览器宿主是否提供对应页面、选择器和回包信息，而不是文档层面预设“所有流程都能端到端执行”。

### 5.3 作为更大产品中的安全执行核

sgClaw 更适合被理解为产品底座中的一个执行核：

- 上层可以接入任务输入框、审批入口或业务编排器。
- 下层可以通过既有浏览器控制面执行，也可以在未来接入其它受保护工具面。
- 中间由 sgClaw 把 zeroclaw runtime 与外部受控执行面连接起来。

---

## 6. 成功标准

重构后的产品文档，以“真实能力清晰可交付”为标准，而不是以“愿景尽可能大”为标准。当前版本应满足：

- 任何架构描述都能在 `src/`、`resources/`、`tests/` 中找到对应实现。
- 任何对外宣称的动作能力都与 `rules.json` 和工具 schema 一致。
- 任何“未来可扩展”内容都与“当前已实现”明确区分。
- L0 到 L4 能从产品、架构、接口、数据流、工程五层连续闭环。
