EPIC: first-class Android shell for full Agent Zero WebUI + plugin compatibility #184
Labels
No labels
accessibility
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
nsaspy/a0-symbolics#184
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Goal
Build a modern Android application for
a0-symbolicsthat provides a first-class mobile experience for a remote or local Agent Zero instance without reimplementing Agent Zero in Kotlin.The Android app should be a polished native shell around the authoritative Agent Zero WebUI. The WebUI, its service worker, WebSockets, authentication/CSRF behavior, full plugin UI/extensions, and future WebUI changes remain authoritative.
This is intentionally a hybrid native shell + real WebView architecture:
Related: #23 modern WebUI/plugin surface architecture. This Android epic must work against the current WebUI and must not be blocked on #23.
Architecture requirements
1. Repository boundary
Create an
android/application boundary in this repository with its ownAGENTS.mddocumenting ownership, build/test commands, security rules, and WebView compatibility contracts.Do not modify
agent.pyorinitialize.pyfor the Android client.The Android app connects to a running Agent Zero instance over its normal WebUI origin. No Android-only backend fork.
2. Native Android shell
Use modern Android UI and platform conventions:
The in-session WebView should remain visually dominant. Native chrome must be compact and collapsible rather than wasting screen space.
3. Connection profiles
Provide a native first-run/server selector that supports multiple Agent Zero instances.
Each profile should contain only non-secret connection metadata such as:
Requirements:
https://andhttp://endpoints so LAN/local Agent Zero instances workAuthentication itself remains Agent Zero's WebUI/auth flow so credentials and CSRF semantics are not duplicated in Android.
4. WebView compatibility contract
The WebView is the compatibility layer and must behave close to Chrome for Agent Zero's same-origin UI.
Required:
/,/safe,/ui/index, bundle/cache bootstrap and login flows remain functionalwindow.open/ external links have an intentional mobile behavioraddJavascriptInterfacebridge exposed to arbitrary pagesFor HTTPS profiles, do not weaken TLS validation or auto-accept certificate errors.
For HTTP profiles, allow cleartext traffic intentionally and visibly mark the connection as insecure.
5. Plugin compatibility is a release gate
Existing Agent Zero plugins must continue to work because their HTML/JS/CSS runs in the same WebUI origin and extension system.
Compatibility includes:
<x-extension>frontend breakpoints<x-component>loadingDo not create an Android-only plugin API as the primary path.
The app may expose a tiny, versioned native capability marker to the same configured Agent Zero origin if useful, but plugins must not need Android-specific code to function.
6. Mobile optimization without DOM fragility
Mobile optimizations must be additive and conservative.
Use a stable app marker such as a user-agent suffix and/or a root document attribute inserted at document start. Prefer CSS custom properties / capability markers to brittle selector rewrites.
Good candidates:
Do not hide or rewrite arbitrary plugin DOM. Unknown plugin pages must render unmodified by default.
7. Full interaction support
The Android app must support the platform glue needed to use Agent Zero fully from a phone:
Agent Zero features that must remain usable include at least:
8. Security
file:,content:,javascript:and unexpected custom-scheme top-level navigation unless an explicit safe handler exists9. Build target
Target Android 16 / API 36 and remain compatible with a reasonable older-phone floor (prefer minSdk 26+ unless implementation evidence requires otherwise).
Use current Android Gradle Plugin/Kotlin/Compose versions that support API 36.
10. CI and installable artifacts
Add Android CI under
.github/workflows/:Design release signing so secrets can be supplied through GitHub Actions secrets; do not commit a production signing key.
When signing secrets are present, release workflow should be able to produce a signed installable APK. Debug artifacts must remain clearly labeled as debug/dev builds.
11. Testing
At minimum cover:
Unit tests
Instrumented/UI tests
Manual compatibility matrix
a0-symbolicsWebUIUX direction
The app should feel like a modern remote workstation for Agent Zero, not a generic browser with an address bar.
Desired shell:
Acceptance
/safeescape path work.Mirrored from
lost-rob0t/a0-symbolics#49via tracker sync.