Guide/Platform
Platform overview
Ether is split into product surfaces, platform API, and execution harnesses. This page is the map integrators use before writing code.
Architecture
mermaid
flowchart TB
subgraph clients [Clients]
App[ether-app<br/>app.tryether.ai]
Yours[Your UI / CLI]
end
subgraph platform [Ether OS — api.tryether.ai]
Tasks[Task management]
Context[Context & memory]
Harness[Harness API]
RT[Realtime hub]
Delivery[Delivery projector]
end
subgraph exec [Execution — your infra]
EC[Ether Code]
Custom[Your harness]
end
App --> Tasks
Yours --> Tasks
Tasks --> Context
Tasks --> Harness
EC --> Harness
Custom --> Harness
Harness --> RT
Harness --> Delivery
RT --> App
RT --> YoursRepositories
| Repo | Role |
|---|---|
| ether-core | Platform backend (ether-api), harness contract, @ether/os-sdk, migrations |
| ether-app | Product UI — task grid, run view, delivery cards |
| ether-code | Reference external coding harness (SDK-only, no Rust dependency on core) |
| ether-docs | This documentation site |
| landing | Marketing site (tryether.ai) |
Integrators typically depend on HTTP + @ether/os-sdk, not on importing Rust crates from ether-core.
Task lifecycle
- Create —
POST /api/taskswith a prompt (from ether-app or your client). - Classify — Ether assigns
execution_domain,pipeline_id, and delivery domain on the task. - Execute — In-process OS brain and/or external harness (claim → work → result).
- Report — Harness sends steps (live UI) and final
ExecutionResult. - Deliver — On success, Ether publishes
task.deliveredand persists a delivery payload.
What Ether owns vs what you own
| Ether owns | Harness / integrator owns |
|---|---|
| Task record, status, timeline | Model calls, tool loop, repo checkout |
| User/project context corpus | Local filesystem, secrets, CI |
| Claim leases and run IDs | Escalation when stuck (interrupt API) |
| Judge + delivery composition (product path) | Git operations, PR creation |
WebSocket topics tasks/{id} | Runtime choice (local Node, cloud VM, etc.) |
APIs you will touch
| API | Audience | Purpose |
|---|---|---|
| Product API | Apps, automations | Auth, tasks, activity, onboarding |
| Harness API | Coding/research agents | Claim, context, steps, result |
| Realtime | Frontends | os.harness.step, task.interrupted, task.delivered |
Harness routes live under /api/harness/* and are documented in the Harness API guide.
Environments
| Environment | API base | App |
|---|---|---|
| Production | https://api.tryether.ai | https://app.tryether.ai |
| Local dev | http://127.0.0.1:8080 | Point NEXT_PUBLIC_ETHER_API_BASE_URL at local API |
See Authentication for obtaining a bearer token in each environment.