Feature · Agents in shared surfaces
Participant presence for Prism agents in live Fancy surfaces. An agent joins the same controlled, JSON-serializable surface a person sees, and works through the handles that surface already exposes.
It enters through an explicit invitation, discovers only the tools your trust policy allows, and reads every result as untrusted data.
Capabilities
01
The Fancy application issues the invitation: relay URL, session id, token, surface id and application. It is validated when constructed: the relay must be HTTPS and the token at least 16 characters.
02
Trust is local configuration. Nothing the surface says about its own tools (descriptions, annotations, read-only hints) widens it, and the default Laravel binding refuses every call before a request is sent.
03
A tool whose name contains confirm, reject, accept, approve or deny as a whole word is reserved for the human and never offered to the agent.
04
A pin maps a tool name to the digest of its definition, so a surface cannot silently change what an approved tool does.
05
When a person and the agent edit the same surface, Human+ pins writes to revisions the surface mints, and the surface decides whether a revision is stale. Human+ never merges.
06
Activity announcements carry the participant’s id, name and colour with type "agent", so people on the surface can always tell the agent apart from a human.
How it fits
The Fancy application owns the running surface, stable handles, staged writes, undo, presence, cursors and the MCP tools that express its actions. Human+ is how a Prism agent enters it.
With Prism and Harness, a toolset turns an attachment’s trusted tools into tools a model can call, and the owner of an attachment can be a Harness session. Browser is the counterpart for the open web.
Install
particle-academy/prism-human-plus PHP
@particle-academy/prism-human-plus TypeScript
prism-ai-human-plus Python
Related features
Durable agent sessions
Agent harness
Durable sessions, threads, modes, approvals and subagents with their own budgets, for agents that outlive a request.
Open-web automation
Guarded browser
Let an agent use a real browser within limits you set: hosts, actions, and how much of a page it may read.
Model Context Protocol
MCP
Discover and call MCP server tools with explicit trust policies, definition pinning and bounded results.