You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We want to make exo as accessible as possible. The most accessible thing possible would be you don't even have to install something, you just go to your browser e.g. node.exolabs.net
Proposed Solution
exo running in the browser.
This could be a new minimal implementation in JS that implements the exo service, or it could be some way to get the existing Python code to run in the browser (WebAssembly or Pyodide or similar).
The inference itself will probably need to use WebGPU.
You will need to implement a new discovery module other than UDP since UDP broadcast won't work in the browser. This discovery module could be as simple as manually specifying node endpoints.
You will also need to implement a new way of doing p2p networking since the current approach requires exposing a port for gRPC over HTTP. Instead, it may make sense to use libp2p or similar.
In the end, there needs to be a shareable link that allows you to connect browser nodes. I could imagine this link being something like node.exolabs.net?node_endpoints=http://123.123.123.123:52712.
Deliverables
A webpage anyone can go to that runs an exo node (this can be local for now)
The need running in the browser can connect to other browser nodes and other normal Python exo nodes
There should be a shareable link that can be opened by someone else to join the cluster.
The text was updated successfully, but these errors were encountered:
Background
We want to make exo as accessible as possible. The most accessible thing possible would be you don't even have to install something, you just go to your browser e.g. node.exolabs.net
Proposed Solution
exo running in the browser.
This could be a new minimal implementation in JS that implements the exo service, or it could be some way to get the existing Python code to run in the browser (WebAssembly or Pyodide or similar).
The inference itself will probably need to use WebGPU.
You will need to implement a new discovery module other than UDP since UDP broadcast won't work in the browser. This discovery module could be as simple as manually specifying node endpoints.
You will also need to implement a new way of doing p2p networking since the current approach requires exposing a port for gRPC over HTTP. Instead, it may make sense to use libp2p or similar.
In the end, there needs to be a shareable link that allows you to connect browser nodes. I could imagine this link being something like
node.exolabs.net?node_endpoints=http://123.123.123.123:52712
.Deliverables
The text was updated successfully, but these errors were encountered: