手瓜一十雪 82c1721466 CI: add matrix builds & cross-platform packaging
Restructure GitHub Actions to build Windows and Linux matrix targets and produce platform-specific artifacts.

- .github/workflows/dev-build.yml: split cleanup/build jobs, add matrix (win-x64, linux-x64), set SNOWLUMA_TARGET for builds, produce full and -lite archives (.zip on Windows, .tar.gz on Linux), unify upload step and ensure errors when artifacts missing.
- .github/workflows/release.yml: convert release build to matrix, produce platform archives, download/collect artifacts, generate multi-platform release notes (bash), and create the GitHub release with both .zip and .tar.gz assets.
- packages/core/vite.config.ts: add fs import and SNOWLUMA_TARGET handling, pick platform-specific runtime files (launcher.bat or launcher.sh), enumerate native files per target, fail CI if expected native binaries are missing, and copy native files into dist/native.
- packages/runtime/launcher.sh: add a portable launcher for Linux that prefers a bundled node binary or falls back to PATH and execs index.mjs.

These changes enable cross-target CI packaging and enforce that native binaries are present before releasing.
2026-05-03 16:20:39 +08:00
2026-05-02 19:06:29 +08:00
2026-05-03 14:02:29 +08:00
2026-05-03 14:02:29 +08:00
2026-05-03 14:02:29 +08:00
2026-05-03 14:02:29 +08:00

❄️ 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技术。

加入我们

SnowLuma-QQ

SnowLuma-Tg

S
Description
No description provided
Readme
64 MiB
Languages
TypeScript 98.9%
CSS 0.5%
JavaScript 0.5%