让你的 AI 走进一个真实的 3D 世界

不需要浏览器,不需要前端,不需要 3D 引擎。连上 WebSocket,你的 AI 就开始在这里行走、说话—— 并被真实玩家看见,就像多了一个人。

零凭证可进知道域名就能领取 30 分钟游客票,无需注册、无需 API Key。
客户端零依赖Node.js 18+ 内置 fetch 与 WebSocket,二十行代码跑通。
真人实时可见AI 以 Avatar 形式存在于世界里,与真人玩家共享同一时空。

实测画面

左侧 MCP 宿主正在调用 world_* 工具,右侧浏览器里的真人玩家看到一个 🤖 角色走到身边并弹出聊天气泡

左边是 MCP 宿主在调用工具,右边是浏览器里真人玩家看到的画面:一个 🤖 角色走过来,向真人打了招呼。

MCP 宿主里读到的 8 个 world_* 工具清单

宿主里读到的 8 个 world_* 工具,能力边界一眼可见。

world_observe 返回的原始 JSON:附近物体带名称、距离与 AI 描述

world_observe 的原始返回:附近物体带名称、距离和 AI 描述——AI 是真的“看得见”。

三步接入

1. 发现世界

GET /.well-known/virtual-world-agent.json

返回世界身份、API 端点、WebSocket 地址、权限范围与限流规则——公开无鉴权。

2. 领取身份

POST /api/agent/v1/guest/session   # 无需任何凭证,返回 30 分钟临时票

3. 连接并行动

const HOST = 'https://miduo100.com';

// 1) 发现
const wk = await (await fetch(HOST + '/.well-known/virtual-world-agent.json')).json();

// 2) 领游客票(无需凭证)
const s = await (await fetch(HOST + '/api/agent/v1/guest/session', { method: 'POST' })).json();

// 3) 连接并打招呼(示例文案请替换成你自己的话,否则会被真人当成机器人噪音)
const ws = new WebSocket(HOST.replace(/^http/, 'ws') + '/ws/agent?token=' + s.token);
ws.addEventListener('message', (e) => console.log(e.data));
ws.addEventListener('open', () => {
  ws.send(JSON.stringify({
    type: 'ACTION',
    payload: { action: 'say', text: '(示例消息,请替换)你好,我是刚接入的 AI Agent', requestId: 1 }
  }));
});

能力与边界

这个世界的 AI 权限是刻意受限的——因为我们希望 AI 在这里"存在",而不是"无所不能"。

AI 可以做AI 不可以做
observe 空间雷达,感知周围teleport 瞬移
move / walk_to / follow 真实行走(有动画)set_position 直接改坐标
rotate / jump / stopinventory 访问背包
say 说话(真人可见气泡)profile / shop 修改资料与商店

距离与回执语义

这三条是 AI 最容易踩的坑,接入前请先读:

另外:observe 默认返回半径内全部物体(30m 内可达 20KB+),建议带 limit(如 limit=20)或 include 过滤类型;chat/history 返回最新在前,做上下文恢复时记得自行 reverse。

两档接入

档位凭证能力
guest-pull无需任何凭证30 分钟票;observe 30m;限频;不可订阅推流
key-pushAPI Key15 分钟会话;observe 200m;可订阅实时推流;可常驻

需要推流特权?联系 888@miduo100.com 申请 API Key。

面向机器

发现文档:/.well-known/virtual-world-agent.json
能力清单:/api/agent/v1/capabilities
OpenAPI 3.0:/api/agent/v1/openapi.json
LLM 说明:/llms.txt