Files
T

41 lines
2.0 KiB
Markdown

## Why
Host Agent 已经能够通过受限的内部协议为自身提交目标任务,但本地
Console 只能查看已经在本机 Runtime 中留下记录的任务,操作员仍需借助
Cloud Console 或 SDK 才能发起工作。这使最接近设备的运维入口无法完成
最基本的“选择本机设备并下发目标”的闭环。
## What Changes
- 在已登录的 Host Agent 本地 Console 的 Tasks 页面提供目标任务提交表单。
- 支持选择“由本 Host 自动选择设备”或一个当前注册的本地设备;提交始终
经既有 Host 自限定内部接口进入 Cloud 队列。
- 将成功创建的 Cloud task id 和可安全展示的失败原因反馈给本地操作员,
保持现有任务历史和执行页面的行为不变。
- 对非幂等的任务创建请求取消自动重试;网络结果不确定时明确提示操作员先
查询 Cloud 状态,避免一次点击被客户端重复排队。
- 复用现有本地账号、cookie session、CSRF 防护和默认 loopback Console
绑定;不新增 Cloud 公共任务提交权限、跨 Host 目标或入站 Cloud 连接。
## Capabilities
### New Capabilities
- `host-agent-console-task-submission`: 允许经过本地 Console 身份验证的
操作员向当前 Host 的 Cloud 队列提交目标任务,并安全反馈提交结果。
### Modified Capabilities
<!-- None. The existing Host-scoped Cloud protocol is reused without changing its contract. -->
## Impact
- `apps/device-host-agent/host_agent/web/``host_agent/client.py`: Tasks
页面、注入的 Host Agent 客户端依赖,以及安全的一次性提交语义。
- `apps/device-host-agent/host_agent/app.py`: 将已拥有的异步 Host 客户端
交给嵌入式 Console,生命周期仍由 Host Agent 统一管理。
- `apps/device-host-agent/tests/`: 覆盖登录、CSRF、目标选择、成功反馈、
Cloud 拒绝和传输失败。
- 依赖现有 `cloud-console-governance` 中的 Host 自限定任务提交接口;本
变更不修改 Cloud API、调度器、数据库或公开 SDK。