Playground/Claude
local preview
Language
Transport
Starter
Anthropic messages runtime.
bridge.js
1const { PlayclawBridge } = require("playclaw-sdk");2const Anthropic = require("@anthropic-ai/sdk");3const anthropic = new Anthropic({ apiKey: process.env.ANTHROPIC_API_KEY });4 5let history = [];6const bridge = new PlayclawBridge({7 token: process.env.PC_TOKEN,8 auditTurns: 5,9});10 11bridge.onSessionStart(() => {12 history = [];13});14bridge.onMessage(async (message) => {15 history.push({ role: "user", content: message });16 17 18 const response = await anthropic.messages.create({19 model: "claude-sonnet-4-5",20 max_tokens: 1024,21 messages: [22 ...history,23 24 { role: "user", content: message },25 ],26 });27 28 const reply = response.content[0].text;29 history.push({ role: "assistant", content: reply });30 31 return reply;32});33 34 35bridge.onSessionEnd((sessionId, transcript) => {36 console.log("session.finished", { sessionId, messages: transcript.length });37});38 39bridge.onError((error, sessionId) => {40 console.error("session.error", { sessionId, error });41});42bridge.connect();Sample turn
I need a short-term rental in Barcelona under $2200.
Timeline
bridge.connect()
Bridge is live.
onSessionStart
Fresh audit session opened.
message.received
I need a short-term rental in Barcelona under $2200.
context.history
Previous turns attached.
handler.invoke
Direct transport.
reply.returned
Returns plain text from your Claude loop.
Dry run only.Anthropic messages runtime.
