尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证正在加载完整 README。 以下为已保存的摘录。
A private table for two. Two people each type a name, connect, and can then talk (audio or video), chat, draw on a shared sheet and watch a video together. There are no accounts: you meet under a name you both agree on.查看完整 README ↗A private table for two. Two people each type a name, connect, and can then talk (audio or video), chat, draw on a shared sheet and watch a video together. There are no accounts: you meet under a name you both agree on.
| Room, friend present | In a call |
|---|---|
| Drawing together | Chat on a phone |
|---|---|
server.js, Node and the ws package) and registers your name.npm install
node server.js # relay on ws://localhost:8080 (set PORT to change)
In a second terminal, point the interface at the relay and start it:
cp .env.example .env.local # NEXT_PUBLIC_BACKEND_URL=ws://localhost:8080
npm run dev # http://localhost:3000
Open the page in two browser windows (or two devices), use the invite link from the first one in the second, and pull up a chair in both. Camera and microphone only work on localhost or over HTTPS.
npm run dev:https starts the dev server with Next.js's experimental local HTTPS, which you need to try the camera and microphone from a phone on your network. Next.js downloads mkcert and creates a local certificate authority, which may ask for your password or an administrator prompt. Then open https://<your computer's address>:3000 on the phone and accept the certificate. This script has not been tested on this project.
If NEXT_PUBLIC_BACKEND_URL is not set, the interface falls back to the relay the author hosts (wss://socialspace-bakend.onrender.com). Set your own if you fork this.
Checks: npm run check runs the relay check (scripts/relay-check.js, starts server.js on a random port) and the link-validation check.
The first screen builds a link of the form /?i=<friend's name>&with=<your name>. The two values are swapped, so when your friend opens it, their name is already in the first blank and yours in the second. Names are lower-cased, spaces become dashes, only a-z 0-9 - _ are kept, up to 32 characters.
The interface. Build with the relay address in the environment, because NEXT_PUBLIC_ values are compiled into the page:
NEXT_PUBLIC_BACKEND_URL=wss://your-relay.example.com \
NEXT_PUBLIC_SITE_URL=https://your-site.example.com \
npm run build && npm start
On a hosting service that builds Next.js for you, set the same two variables in its settings. NEXT_PUBLIC_SITE_URL is only used for the link-preview image. A site served over https needs a wss:// relay.
The relay. Any host that runs Node and allows WebSockets will do. It needs only the ws package: npm install --omit=dev and node server.js, listening on PORT (default 8080). Put it behind TLS so it is reachable as wss://.
components/room.tsx, entry-screen.tsx, call-panel.tsx, chat-panel.tsx, draw-activity.tsx, watch-activity.tsx: the screens.components/websocket-provider.tsx, presence-provider.tsx, call-provider.tsx: relay connection, who is here, and WebRTC.server.js: the relay.public/sw.js: service worker (pages are network-first, build files are cached).scripts/brand/make_brand.py: regenerates the icons and share image from one SVG mark (needs Chrome and Pillow).http:/https: links into clickable links, embeds or video sources (lib/safe-url.ts).No licence has been chosen yet, so by default all rights are reserved.