feat: add cli contract and local browser events
This commit is contained in:
+6
-1
@@ -24,17 +24,20 @@ type BrowserManager interface {
|
||||
|
||||
参数数组由 `internal/platform/browser.BuildArgs` 生成;Chrome/Edge executable 由同包 `Discoverer.Resolve` 解析。二者都不接收 shell 命令行字符串。
|
||||
|
||||
## CLI 目标形状
|
||||
## CLI 当前合约
|
||||
|
||||
```text
|
||||
chub start --browser chrome --user-data-dir <dir> [--profile-directory <name>] [--url <url>]
|
||||
chub list
|
||||
chub stop <instance-id> [--force]
|
||||
chub restart <instance-id>
|
||||
chub events
|
||||
```
|
||||
|
||||
退出码:0 成功,2 参数错误,3 profile 占用,4 实例不存在,5 身份校验失败,6 系统权限/进程错误。
|
||||
|
||||
当前 `list` 和 `events` 已输出 JSON;`events` 输出本地配置快照 JSON,后续 loopback transport 接入后升级为 JSON Lines 持续流。`start/stop/restart` 已保留稳定命令和错误码,等待 BrowserManager adapter 接入。
|
||||
|
||||
## 事件
|
||||
|
||||
| 事件 | 触发 | 负载 |
|
||||
@@ -44,3 +47,5 @@ chub restart <instance-id>
|
||||
| `browser.exited` | 进程退出 | instance_id、exit_code |
|
||||
|
||||
事件禁止携带密码、Cookie、Token、完整代理认证信息或原始系统堆栈。
|
||||
|
||||
应用内 `application.EventBus` 使用带缓冲的订阅通道,发布不阻塞进程监控;UI 通过订阅刷新状态,取消订阅会关闭对应通道。
|
||||
|
||||
Reference in New Issue
Block a user