130 lines
5.7 KiB
Markdown
130 lines
5.7 KiB
Markdown
# L0 — 产品白皮书与能力全景层
|
||
|
||
**文档版本**: 2.0
|
||
**适用项目**: sgClaw(ZeroClaw 重构版)
|
||
**编制日期**: 2026-03-26
|
||
|
||
---
|
||
|
||
## 1. 产品定义
|
||
|
||
sgClaw 是一个嵌入企业浏览器运行环境中的浏览器智能体执行内核。它的职责不是替代整个平台,也不是承诺“全自动数字员工”,而是把自然语言任务转换成受控的浏览器操作,并通过既有浏览器宿主完成页面执行。
|
||
|
||
ZeroClaw 重构之后,sgClaw 的产品形态可以概括为三件事:
|
||
|
||
1. 把用户任务接入统一的 Agent 执行入口。
|
||
2. 通过固定的 `browser_action` 工具把意图翻译为浏览器命令。
|
||
3. 在协议、域名和动作白名单的约束下完成可审计的页面操作。
|
||
|
||
当前仓库中的 sgClaw 不是一个完整前端产品,也不是浏览器发行版本身,而是“浏览器 Agent Runtime + Pipe 协议 + ZeroClaw 兼容层”的产品核心。
|
||
|
||
---
|
||
|
||
## 2. 重构后的产品边界
|
||
|
||
### 2.1 当前已经落地的能力
|
||
|
||
- 浏览器侧通过 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` 中的域名和动作白名单约束。
|
||
- 执行过程中会向宿主发送结构化日志和最终任务结果。
|
||
|
||
### 2.2 当前明确不宣称的能力
|
||
|
||
以下内容在旧文档中存在较多规划性描述,但并非当前仓库中的已实现事实:
|
||
|
||
- 独立的 Skill 仓库与 Skill 脚本执行引擎。
|
||
- 完整 MCP 工具接入和多工具编排。
|
||
- 独立 Critic/Circuit Breaker 子系统。
|
||
- 完整的浏览器 Side Panel 产品界面。
|
||
- 40+ 页面动作在 Agent 侧全部开放。
|
||
- 真实生产级多租户、审计后台、任务编排中心。
|
||
|
||
这些能力可以保留为后续扩展方向,但不应继续写入 L0-L4 作为现状描述。
|
||
|
||
---
|
||
|
||
## 3. 产品价值主张
|
||
|
||
ZeroClaw 重构后的 sgClaw,核心价值不在“功能堆叠”,而在于把原本分散的浏览器自动化能力收敛成一个可控、可替换、可验证的智能体执行底座。
|
||
|
||
### 3.1 对业务侧
|
||
|
||
- 用自然语言触发浏览器任务,不再直接暴露底层页面命令。
|
||
- 统一任务入口,降低页面自动化能力的使用门槛。
|
||
- 执行链路具备日志、结果回传和协议约束,便于纳入业务流程。
|
||
|
||
### 3.2 对集成侧
|
||
|
||
- 浏览器宿主只需实现固定协议,不必理解模型内部细节。
|
||
- Agent Runtime 可以在保留宿主协议的前提下切换实现策略。
|
||
- ZeroClaw 兼容层把未来模型、记忆、工具调度的升级入口预留在 Rust 侧。
|
||
|
||
### 3.3 对安全侧
|
||
|
||
- 不是“模型可任意操作浏览器”,而是“模型只能调用被允许的动作”。
|
||
- 安全边界前置到协议和 MAC Policy,而不是把约束留给提示词。
|
||
- 域名、动作、HMAC 三类控制共同组成最小可信执行面。
|
||
|
||
---
|
||
|
||
## 4. 能力全景
|
||
|
||
| 能力域 | 当前状态 | 产品含义 |
|
||
|---|---|---|
|
||
| 任务接入 | 已实现 | 接收浏览器宿主发来的 `submit_task` 指令 |
|
||
| 协议握手 | 已实现 | 统一版本、会话标识、HMAC 种子交换 |
|
||
| Agent 执行 | 已实现 | planner fallback 与 ZeroClaw compat 共存 |
|
||
| 浏览器工具 | 已实现 | 单一 `browser_action` 工具 |
|
||
| 核心动作 | 已实现 | `click/type/navigate/getText` |
|
||
| 域名白名单 | 已实现 | 仅允许规则文件中的域名 |
|
||
| 动作白名单 | 已实现 | 仅允许规则文件中的动作 |
|
||
| 结构化日志 | 已实现 | `log_entry` 与 `task_complete` 回传 |
|
||
| 扩展动作枚举 | 已预留 | 协议枚举已定义,但默认未开放 |
|
||
| Skill 引擎 | 未独立实现 | 当前仅保留“可被工具和提示词扩展”的语义入口 |
|
||
| MCP 生态 | 未在主链路启用 | ZeroClaw 兼容层为后续保留位置 |
|
||
|
||
---
|
||
|
||
## 5. 典型产品场景
|
||
|
||
### 5.1 页面导航与信息读取
|
||
|
||
用户输入“进入 ERP 首页并读取当前待办数量”,系统可以拆解为:
|
||
|
||
1. `navigate` 到目标地址。
|
||
2. `getText` 读取页面目标区域。
|
||
3. 返回结构化结果摘要。
|
||
|
||
这是当前仓库最稳定、最符合实现面的任务类型。
|
||
|
||
### 5.2 表单录入与提交流程中的局部自动化
|
||
|
||
当页面元素定位规则明确时,系统可用 `click` 和 `type` 组合完成表单录入、按钮点击、简单提交等动作。
|
||
是否能覆盖完整业务流程,取决于浏览器宿主是否提供对应页面、选择器和回包信息,而不是文档层面预设“所有流程都能端到端执行”。
|
||
|
||
### 5.3 作为更大产品中的 Agent 执行核
|
||
|
||
sgClaw 更适合被理解为产品底座中的一个执行核:
|
||
|
||
- 上层可以接入任务输入框、审批入口或业务编排器。
|
||
- 下层通过既有浏览器控制面执行。
|
||
- 中间由 sgClaw 把自然语言与浏览器动作连接起来。
|
||
|
||
---
|
||
|
||
## 6. 成功标准
|
||
|
||
重构后的产品文档,以“真实能力清晰可交付”为标准,而不是以“愿景尽可能大”为标准。当前版本应满足:
|
||
|
||
- 任何架构描述都能在 `src/`、`resources/`、`tests/` 中找到对应实现。
|
||
- 任何对外宣称的动作能力都与 `rules.json` 和工具 schema 一致。
|
||
- 任何“未来可扩展”内容都与“当前已实现”明确区分。
|
||
- L0 到 L4 能从产品、架构、接口、数据流、工程五层连续闭环。
|