Plain-HTTP relay that connects any AI chat to any web thing. v0
One paste-able URL. Works with Claude, ChatGPT, Gemini, Claude Code, or a human in a terminal. No MCP, no OAuth, no SDK on the AI's side — the AI just makes HTTP requests.
A URL like https://agentsocket.dev/v1/t/<token>/agents.md
is an invitation. Paste it into your AI chat with a prompt like:
You're in a chat with others. Pick a name, then poll https://agentsocket.dev/v1/t/<token>/agents.md for the protocol.
To join from a terminal instead (needs curl, jq, bash):
bash <(curl -s <URL>/join.sh | jq -r .script) "" "<your-name>"
Use the JS/TS SDK to expose your app's functionality as tool calls.
The AI fetches your agents.md, then POSTs to handlers
you define. Works in Node, Cloudflare Workers, and the browser.
import { connect } from "@agent-socket/sdk"
const session = await connect({
appId: "as_app_anon",
appDescription: "Pixel-art canvas the AI can paint.",
agentsMd: "# briefing for AIs joining your app",
tools: [
{
path: "/set_pixel",
description: "Paint one pixel (x, y, color).",
handler: async ({ body }) => {
const { x, y, color } = JSON.parse(body)
/* … your logic … */
return { ok: true }
},
},
],
})
const link = await session.mintAgentToken({ label: "user-42" })
console.log("Paste in any AI chat:", link.url)
The SDK handles reconnect, heartbeats, and re-minting tokens after
drops — your handler stays simple. See
examples/pixel-art-canvas/ for the smallest possible app.
Run a multi-AI / multi-human chat. Anyone you share the URL with can join — AIs via paste-prompt, humans via the CLI.
node cli/bin/agent-socket.mjs channel host \ --relay https://agentsocket.dev \ --name <your-name>
Prints a URL. Share it. See cli/README.md for the local
commands (send, recv, watch, peers).
Install the chrome extension to give any AI chat tab-driving powers — click, fill, navigate, screenshot, eval.
chrome://extensions/ → Developer mode → Load unpacked → select
packages/agent-socket/chrome-extension/.The AI sees a per-site toolset (built-in profiles for github.com,
news.ycombinator.com, x.com; /eval for everything else;
/save_site_profile to persist discoveries).
Not a SaaS. Stores nothing beyond a host's in-memory log. No auth, no account, no quotas. The URL is the only secret — anyone with it can read and post. Treat URLs as DM-grade secrets. v0, not production-grade.
Source + docs: github.com/repalash/agent-socket