feat(host-agent): make execution history authoritative
Tests / Test failed: 2, passed: 830

This commit is contained in:
2026-07-15 11:46:27 +08:00
parent ccde30e378
commit 77d4813bb2
46 changed files with 890 additions and 3132 deletions
+9 -10
View File
@@ -16,10 +16,10 @@ contracts.
- `driver/`: the `Driver` contract, concrete driver adapters, and driver-type
registry.
- `device/`: device lifecycle and active driver management.
- `tools/`: device capabilities exposed to runtime and API layers.
- `tools/`: device capabilities exposed to Runtime and adapter layers.
- `perception/`: screen-to-`Scene` perception behind `PerceptionProvider`.
- `runtime/`: planning and execution orchestration.
- `api/`: REST/MCP transport adapters.
- `api/`: MCP and supporting integration adapters.
- `storage/`: timeline, task, and device configuration persistence.
- `packages/cloud-platform/`: cloud scheduling, device pooling, plugins, and
the Python cloud SDK as the `device-cloud-platform` workspace member.
@@ -54,12 +54,11 @@ uv build --package device-agent-runtime
uv build --package device-cloud-platform
```
The Runtime API ships a same-origin operator console at `/ui/`, rendered through
Jinja2 templates packaged with `device-agent-runtime`. Start the API
(`uvicorn api.rest:create_app --factory`) and open `/` (it redirects to `/ui/`).
The `/console/*` JSON endpoints remain available for programmatic clients. The
console assumes a trusted local network; it has no authentication, authorization,
or CSRF protection.
Runtime is an in-process execution library, not a standalone HTTP service. The
Host Agent console at `http://127.0.0.1:8765/tasks` is the authenticated
operator view for the tasks that actually execute on that Host, including
per-step screenshots, OCR observations, and UI-tree results. The Cloud Console
remains the fleet-level view for dispatch status and Cloud-proxy planner history.
## Project Direction
@@ -73,5 +72,5 @@ invariants future changes must preserve are in
or deployed PostgreSQL, configure credentials and Runtime AI planning, and
perform orderly shutdown or rollback.
- [macOS migration and real iPhone setup](docs/MACOS_IPHONE_SETUP.md): install
Xcode, Appium/XCUITest, sign WebDriverAgent, verify a real device, and start a
connected Runtime API.
Xcode, Appium/XCUITest, sign WebDriverAgent, verify a real device, and run a
connected Host Agent.