135 lines
6.8 KiB
Markdown
135 lines
6.8 KiB
Markdown
# 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 能从产品、架构、接口、数据流、工程五层连续闭环。
|