Skip to content

Move the web surface off the Vercel brain: proxy chat turns to the host endpoint #95

Description

@EthanThatOneKid

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

  1. 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.
  2. 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.
  3. 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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions