Follow-up to #94, which moved the Discord half of Computer's brain onto the Zo host.
#94 leaves the Vercel app exactly as it was: the eve agent still runs there, still resolves a model through lib/gateway.ts, and still reads and writes the Vercel Blob store. That is the half of "Computer's brain" the move has not touched, and it is why the model-credential outage class and the suspended Blob store are still live for the web surface.
What this should do
- Add a bearer-protected Zo Space API route that runs the Computer persona over
/zo/ask (the same call channels/discord/index.ts makes) and returns the answer with its conversation id.
- Repoint the web chat (
app/_components/agent-chat.tsx, which today drives useEveAgent from eve/react) at that route instead of the deployment's own agent runtime.
- Delete what the web path no longer needs: the model resolution (
lib/gateway.ts, agent/lib/models.ts), the Blob layer (agent/lib/blob.ts, agent/lib/factory-brain.ts, agent/lib/run-records.ts, agent/lib/run-history.ts, agent/hooks/run-history.ts, agent/lib/user-preferences.ts), and the @vercel/blob dependency.
Why it is worth doing
- The model key that took Computer down on 2026-09-21 is only reachable through this path. With the call on the host, no provider credential lives in the repository or on Vercel.
- The Blob store is suspended (
This store has been suspended in the production logs), so every run-history and factory-brain write already fails. Deleting the layer removes a failure that cannot be repaired by configuration.
- The web page keeps working as a surface, which is the whole point: Vercel serves HTML and proxies a request.
What it costs
Streaming, session resumption, approval prompts, and input requests come from useEveAgent; a plain fetch route returns one answer per turn. That is the same simplification the Discord channel already accepted, and it is the intended baseline.
Not covered
The GitHub channel and the factory stations (agent/channels/github.ts, agent/subagents/) also run on the Vercel brain. Decide their fate separately: retiring them is a scope call, not a mechanical consequence of this move.
Follow-up to #94, which moved the Discord half of Computer's brain onto the Zo host.
#94 leaves the Vercel app exactly as it was: the eve agent still runs there, still resolves a model through
lib/gateway.ts, and still reads and writes the Vercel Blob store. That is the half of "Computer's brain" the move has not touched, and it is why the model-credential outage class and the suspended Blob store are still live for the web surface.What this should do
/zo/ask(the same callchannels/discord/index.tsmakes) and returns the answer with its conversation id.app/_components/agent-chat.tsx, which today drivesuseEveAgentfromeve/react) at that route instead of the deployment's own agent runtime.lib/gateway.ts,agent/lib/models.ts), the Blob layer (agent/lib/blob.ts,agent/lib/factory-brain.ts,agent/lib/run-records.ts,agent/lib/run-history.ts,agent/hooks/run-history.ts,agent/lib/user-preferences.ts), and the@vercel/blobdependency.Why it is worth doing
This store has been suspendedin the production logs), so every run-history and factory-brain write already fails. Deleting the layer removes a failure that cannot be repaired by configuration.What it costs
Streaming, session resumption, approval prompts, and input requests come from
useEveAgent; a plain fetch route returns one answer per turn. That is the same simplification the Discord channel already accepted, and it is the intended baseline.Not covered
The GitHub channel and the factory stations (
agent/channels/github.ts,agent/subagents/) also run on the Vercel brain. Decide their fate separately: retiring them is a scope call, not a mechanical consequence of this move.