Agent Platform

A conversational agent runtime with streaming, tools, memory and human approval, callable from your backend.

The Agent Platform runs one configurable agent per deployment and serves it over the LangGraph Platform API. It's hosted on Aegra, a self-hosted, drop-in implementation of that API. Your backend sends a user's message to a thread, and the agent's reply streams back token by token, including any tools it calls.

One client, two halves

aice-agent-platform / @aiceafrica/agent-platform combines two things. It helps to know which half you're calling, because they behave differently when something fails.

Conversation APIManagement API
Propertiesthreads, runs, assistants, cronsagents, skills, usage, suggestions
What forcreating conversations, streaming replies, historyagent and skill definitions, usage, titles and follow-ups
Comes fromthe official LangGraph SDK, unmodifiedAICE's shared transport
Errorsthe LangGraph SDK's ownthe AICE error hierarchy
Retriesthe LangGraph SDK's own policyAICE retries and idempotency keys

The conversation half is the LangGraph SDK itself, so its Python and JavaScript references apply to it directly.

Facts you'll use everywhere

Graph IDagent_platform, always. It's a constant: hardcode it, don't look it up
Base URLone origin, no path prefix. http://localhost:6060 in the local stack
Authenticationthe project's key, plus the acting user's UUID in X-User-Id
Isolationevery thread belongs to one user in one organization. Other users can't see it
StreamingServer-Sent Events. Use the messages-tuple stream mode for chat

Four things every client gets wrong

Each of these fails silently rather than with an error:

  1. Titles and follow-ups only appear if you ask for them. Call suggestions.create_for_thread / createForThread once after each finished turn. Nothing else triggers it. Conversations
  2. A rename must also write titled_by: "user", or the next turn overwrites the user's title. Conversations
  3. Streamed chunks are pieces, not snapshots. Append each chunk to the message with its id; replacing leaves only the last token. Streaming
  4. Some successful runs are refusals. Rate limits, budgets and content rules end a run with an ordinary assistant message and a success status. Errors

Pages

On this page