5fb969da7ca0affde1869842e48fcba76abe4423
Introduce a new WebSocket package implementing RFC6455 functionality and permessage-deflate support. Adds core connection handling (packages/websocket/websocket.js), client wrapper (client.js), server and upgrade handling (server.js), extensions (permessage-deflate) and helpers (extensions.js), an index and native loader (native.js). Also include prebuilt native addon binaries for multiple platforms and integration points to use the native Parser and frame builder. The server supports handleUpgrade, subprotocol negotiation, and verifyClient hooks; the client performs handshakes and queues sends until open. Error handling, UTF-8 validation, close/ping/pong control frames, and max-payload checks are implemented.
❄️ SnowLuma
Next Remote Protocol Framework.
关于项目
项目处于开发初期,仅支持部分功能,持续高速迭代中,仅支持有头。
仓库结构
本仓库使用 pnpm workspace 进行多包管理。
SnowLuma/
├─ packages/
│ ├─ core/ @snowluma/core - Node.js 运行时(NTQQ packet sniffer + Hook + OneBot)
│ ├─ webui/ webui - React + Vite 前端
│ └─ runtime/ @snowluma/runtime - 发行包资源
│ ├─ launcher.bat
│ ├─ package.json (随 dist 一起发布的运行时依赖清单)
│ └─ native/ 平台预编译产物 (snowluma-win32-x64.{dll,node})
├─ tools/ 辅助脚本(如 Python OneBot WS 测试)
├─ tsconfig.base.json
├─ tsconfig.json monorepo 根 TS 项目(仅含 references)
├─ pnpm-workspace.yaml
└─ package.json monorepo 根(脚本委托给 pnpm filter)
构建产物统一输出到仓库根 dist/,与发行流水线保持兼容。
常用命令
# 安装依赖
pnpm install
# 开发 — 核心运行时(tsx)
pnpm dev
# 开发 — WebUI 前端(vite dev server)
pnpm dev:web
# 仅构建核心
pnpm build
# 仅构建 WebUI
pnpm build:webui
# 一次构建核心 + WebUI 完整发行版(顺序固定 core → webui)
pnpm build:all
# 单元测试 / 类型检查 / Lint
pnpm test
pnpm typecheck
pnpm lint
# 直接对单个包操作
pnpm --filter @snowluma/core dev
pnpm --filter webui build
鸣谢
LagrangeV2 - Proto
NapCatQQ - Scaner/Packet
辅助编程
推荐 Opus4.6 + Gemini3.1pro 对本项目辅助开发
本项目大量使用Ai技术。
加入我们
Languages
TypeScript
98.9%
CSS
0.5%
JavaScript
0.5%