Skip to main content
ProductDocumentation

The product changed shape, and this documentation now describes what ships

Splox was a visual workflow builder: a canvas, nodes you dragged onto it, edges between them, an entry node at the top. That product is gone. What an account gets now is an agent with its own Linux machine.
  • A machine. A computer created for you when you sign up. It keeps its filesystem between conversations, and it can be started and stopped. Machine.
  • A harness. The agent’s own git repository, checked out on the machine at ~/harness. Every version is a commit, and publishing one is git push. Harness.
  • Programs and agents in code. programs/<name>/main.py declares agents with agent("Name", system_prompt=…, model=…, tools=[…]), and handle(msg) says which one answers a message. The platform reads that file at the moment it needs the answer, so an edit lands on the next turn. Program.
  • Hooks instead of forks. A turn has named points — context, model, tools, guard, memory, errors, stop — and programs/<name>/hooks/<point>.py answers one of them. Hooks.
  • Tools the agent imports. A tool is a Python function in tools/<service>/<tool>.py; the agent chains several in one script instead of paying for a JSON round trip each. MCP servers arrive the same way. Tools.
The documentation was rewritten from scratch against the running product. Nothing on this site describes the canvas.Every page of the old site redirects to the page that replaced it, or to the nearest one that helps. The map from old vocabulary to new — workflow to harness, entry node to handle(msg), switch node to if — is on What changed.The v1 endpoints behind the canvas are gone: /api/v1/workflows, /api/v1/memory/instances and /api/v1/mcp/connections return 404. The current API is v2.app.splox.io and chat.splox.io both redirect to splox.io. There is one app.

Known gaps

The published SDKs cannot start a run. POST /v2/runs requires machine_id, and none of the Python, Node or Go clients send it, so runs.create answers 422 validation_failed with /machine_id: machine_id is required. Reading, streaming and every other call work. Runs has the HTTP request that does start one.Changelog entries from before this rewrite described the workflow builder and are not carried over.