35 lines
1.6 KiB
Markdown
35 lines
1.6 KiB
Markdown
# IOP
|
|
|
|
IOP is a provider and device execution platform. It exposes OpenAI- and Anthropic-compatible inference APIs, routes work through Edge provider pools, executes against Node-owned adapters, and presents fleet operations through Control Plane and the Flutter Client.
|
|
|
|
## Architecture
|
|
|
|
```text
|
|
Client -> Control Plane -> Edge -> Node -> Provider
|
|
| |
|
|
| +-- normalized inference and provider tunnels
|
|
+-- model routing, queues, leases, API compatibility
|
|
```
|
|
|
|
- Edge owns model routing, provider-pool admission, leases, external APIs, Node readiness, and reconnect fencing.
|
|
- Node owns provider adapter construction and local execution.
|
|
- Control Plane owns connected Edge views and operation relay, not Edge runtime state.
|
|
- Client consumes Control Plane fleet, Node, provider, and operation views.
|
|
- `packages/go/execution` contains transport-neutral provider primitives.
|
|
|
|
Internal provider selection uses `adapter + target`. `session_id` is opaque correlation only, and cancellation targets a non-empty `run_id`. Provider commands are limited to capabilities, transport status, and the Ollama API tunnel.
|
|
|
|
IOP does not own interactive host programs, persistent conversations, terminal emulation, arbitrary host command execution, or local filesystem execution context.
|
|
|
|
## Development
|
|
|
|
```bash
|
|
make proto
|
|
make proto-dart
|
|
go test -count=1 ./...
|
|
make client-test
|
|
make test-control-plane-edge-wire
|
|
make test-e2e
|
|
```
|
|
|
|
Start with `agent-contract/index.md` for protocol and runtime contracts, and `agent-spec/index.md` for living implementation summaries.
|