| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
中文优先的《行动代号 / Codenames》线上发牌与对局工具。房主创建房间后,玩家用房间码或链接加入;系统负责发牌、分队、队长视角、队员视角、线索提交、翻牌和胜负结算。
当前版本:0.9.7
《行动代号》是一个红蓝两队对抗的联想猜词游戏:
这个项目把线下桌游需要的发牌员、钥匙卡、同步状态和主持流程都放到网页里,适合同一局域网聚会、桌面端主持、投屏或多人手机加入。
打开游戏后可以直接创建任务、加入房间,或先查看游戏说明。页面会显示房主服务器地址,方便同一网络下的玩家加入。
房主先选择情报载体:文字情报适合经典猜词;影像情报适合图片联想。图片大模型牌库会在创建前配置服务商、模型和 API Key,密钥只随当前创建请求发送给房主服务器。
房间内会显示房间码、在线成员、玩家数量和房主服务器地址。固定队伍模式下,玩家可以进入红蓝队、队长位、普通位或旁观位;房主确认人数和座位后开始游戏。
队长可以切换到关键答案视图,看到每张文字牌的阵营;队员只看到公共牌阵。线索必须是 1 到 4 个汉字,数量必须大于 0,并且文字模式会校验线索不能撞牌面字。
图片模式使用 25 张图片牌,队长看到关键答案,队员只看公共图片牌。图片线索不会按隐藏 alt 文本做撞字校验,UI 也不会把图片提示词暴露给玩家。
需要 Node.js 和 corepack pnpm。在仓库根目录执行:
corepack pnpm install
corepack pnpm dev默认端口:
常用局部启动:
corepack pnpm --filter @codenames/server dev
corepack pnpm --filter @codenames/web dev
corepack pnpm --filter @codenames/entry dev局域网调试时,请确保房主电脑防火墙放行 Node.js 和服务端端口。
桌面版采用 Hosted Server 架构:启动后在房主电脑本机开启服务,其他设备访问房主服务器地址即可加入。默认端口是 3210,如果端口被占用会自动尝试后续端口。
corepack pnpm desktop:dev打包命令:
corepack pnpm desktop:pack
corepack pnpm desktop:dist服务器部署使用单镜像、单端口、同源模式。容器内由 Express 同时托管游戏页 /、入口页 /entry/、HTTP API 和 Socket.IO,默认监听 3001。
docker build -t codenames:0.9.7 .
docker run -d \
--name codenames \
--restart unless-stopped \
-p 3001:3001 \
codenames:0.9.7健康检查:
curl http://127.0.0.1:3001/health公网部署时,建议用 Nginx、Caddy 或云厂商负载均衡把 HTTPS 域名反向代理到 127.0.0.1:3001,并确保 WebSocket upgrade 生效。入口页地址通常是:
https://你的域名/entry/
文字模式:
图片模式:
apps/entry 入口/邀请页
apps/web React + Vite 游戏前端
apps/server Express + Socket.IO 服务端
apps/desktop Electron 桌面宿主
packages/shared 共享类型、schema 和 Socket 协议
packages/game-core 纯游戏规则和状态机
规则逻辑放在 packages/game-core,协议和类型放在 packages/shared,UI 放在 apps/web 或 apps/entry,服务端行为放在 apps/server。
发布或合并前建议运行:
corepack pnpm lint
corepack pnpm test
corepack pnpm build常用局部验证:
corepack pnpm --filter @codenames/server test
corepack pnpm --filter @codenames/game-core test
corepack pnpm --filter @codenames/web lint
corepack pnpm --filter @codenames/desktop lint
corepack pnpm desktop:build| Back | FazBrowse Home | New Git URL |