Files
claw/docs/L0-产品白皮书与能力全景层.md

135 lines
6.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# L0 — 产品白皮书与能力全景层
**文档版本**: 2.0
**适用项目**: sgClawZeroClaw 重构版)
**编制日期**: 2026-03-26
---
## 1. 产品定义
sgClaw 不是“浏览器智能体执行内核”意义上的 browser-only 产品。更准确地说,它是一个嵌入企业浏览器运行环境中的、安全加固后的 zeroclaw runtimezeroclaw 负责智能体能力本体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 能从产品、架构、接口、数据流、工程五层连续闭环。