feat: publish workphone SDK deployment and API docs

This commit is contained in:
Manus AI
2026-07-14 18:10:52 +08:00
commit 021d633cc1
534 changed files with 122391 additions and 0 deletions

View File

@@ -0,0 +1,41 @@
# Agent 与 Hawk 边界与协同说明
## 代码隔离
| 板块 | 目录 | 职责 |
|------|------|------|
| **Agent** | `agent.py`, `skill_executor.py`, `skills/*` | 业务逻辑、技能执行、WebSocket 连接与重连策略、与服务器通信 |
| **Hawk** | `hawk/*` | 仅负责网络层:检测网络、开/关 WiFi、打开系统网络设置、连接已保存网络、重试等 |
- Agent 不实现 Hawk 的细节(如 `svc wifi`、打开设置页 UIHawk 不依赖 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/WiFi」页面
- 在设置页中点击「已保存」「已知网络」等,尝试连接**已保存**网络
- 若仍无网络,返回说明「请在本机选择已保存网络或手动输入密码连接」
用户若需连接新网络或输入密码,仅在系统设置界面内**手动**完成。
## 依赖关系
```
Agent (agent.py, skills/)
└─ 可选依赖 Hawkfrom hawk import try_reconnect_network
Hawk (hawk/)
└─ 仅依赖 uiautomator2 设备对象,无 Agent 依赖
```
Hawk 缺失时Agent 仍可运行;断网时仅跳过「尝试恢复网络」步骤,直接进入重连退避。