feat: publish workphone SDK deployment and API docs
This commit is contained in:
41
sdk/agent/docs/AGENT_HAWK.md
Normal file
41
sdk/agent/docs/AGENT_HAWK.md
Normal file
@@ -0,0 +1,41 @@
|
||||
# Agent 与 Hawk 边界与协同说明
|
||||
|
||||
## 代码隔离
|
||||
|
||||
| 板块 | 目录 | 职责 |
|
||||
|------|------|------|
|
||||
| **Agent** | `agent.py`, `skill_executor.py`, `skills/*` | 业务逻辑、技能执行、WebSocket 连接与重连策略、与服务器通信 |
|
||||
| **Hawk** | `hawk/*` | 仅负责网络层:检测网络、开/关 WiFi、打开系统网络设置、连接已保存网络、重试等 |
|
||||
|
||||
- Agent 不实现 Hawk 的细节(如 `svc wifi`、打开设置页 UI);Hawk 不依赖 Agent 或技能总线。
|
||||
- 协同仅通过**接口**:Agent 调用 `hawk.try_reconnect_network(device)` 与 `hawk.is_network_available(device)`。
|
||||
|
||||
## 协同方式
|
||||
|
||||
1. **断网时自动恢复网络**
|
||||
Agent 在 WebSocket 断开且准备重连前,若存在设备句柄 `self.d`,会调用 `try_reconnect_network(self.d)`,由 Hawk 在设备上执行合法网络恢复(开 WiFi、打开设置、连接已保存网络等),再继续指数退避重连。
|
||||
|
||||
2. **自然语言触发**
|
||||
用户说「连接网络」「恢复网络」「打开 WiFi」「断网了」等时,Agent 通过 SkillExecutor 调用 `network_reconnect` 技能,该技能内部委托 Hawk 执行上述合法操作。
|
||||
|
||||
## 网络恢复行为(仅合法)
|
||||
|
||||
Hawk 只做以下操作,**不包含且永不包含**破解密码、未授权访问等任何违规行为:
|
||||
|
||||
- 通过系统 shell 开启 WiFi:`svc wifi enable`
|
||||
- 打开系统「设置」→「网络/WLAN/Wi‑Fi」页面
|
||||
- 在设置页中点击「已保存」「已知网络」等,尝试连接**已保存**网络
|
||||
- 若仍无网络,返回说明「请在本机选择已保存网络或手动输入密码连接」
|
||||
|
||||
用户若需连接新网络或输入密码,仅在系统设置界面内**手动**完成。
|
||||
|
||||
## 依赖关系
|
||||
|
||||
```
|
||||
Agent (agent.py, skills/)
|
||||
└─ 可选依赖 Hawk:from hawk import try_reconnect_network
|
||||
Hawk (hawk/)
|
||||
└─ 仅依赖 uiautomator2 设备对象,无 Agent 依赖
|
||||
```
|
||||
|
||||
Hawk 缺失时,Agent 仍可运行;断网时仅跳过「尝试恢复网络」步骤,直接进入重连退避。
|
||||
Reference in New Issue
Block a user