본문으로 건너뛰기
cccskills
무료GitHub에 공개

windows-release

Build, test, and publish the Windows version of OpenMausBot, including its installer and automatic update files. Check packaged resources and installation behavior, mirror release files for older installations, and investigate users remaining on outdated versions.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

원문원문 설명 보기

Build and verify the Windows desktop build (NSIS installer + latest.yml) for the canonical OpenMausBot release and its legacy updater mirror. Use when cutting a release, shipping a new version to Windows users, or when a Windows user reports they are stuck on an old version. Windows only — does not cover the macOS dmg/notarization flow.

설치 방법 보기

이럴 때 유용합니다

  • Build and publish a new Windows release
  • Investigate installations stuck on an old version
  • Check installer behavior and automatic update files
  • Mirror release files for older installations

포함된 파일(1)

  • SKILL.md6.1 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Windows release

Ships OpenMausBot-<version>-setup.exe and its update feed to milind-soni/OpenMausBot. The unified release workflow mirrors the same bytes to the legacy releases repository for apps installed before the updater migration.

Scope: Windows only. The macOS build is a separate flow (dmg + notarytool + staple) that must run on a Mac. This skill never touches mac artifacts — but see Every release ships both before you finish.

Preconditions

  • Run on Windows. NSIS packaging from macOS needs Wine; don't.
  • Node 24+ (package.json engines). Node 23 builds fine but pnpm warns on every step and CI runs 24 — don't debug a runtime oddity on the wrong major.
  • pnpm via corepack pnpm. If corepack enable fails with EPERM (no admin), drop a pnpm.cmd shim containing @echo off / corepack pnpm %* somewhere on PATH — package:win chains pnpm build && … and needs bare pnpm to resolve.

1. Version

Bump version in package.json. It must match the tag on the GitHub release you upload to, and it becomes the version electron-updater compares against.

2. Build

pnpm install
pnpm typecheck
pnpm package:win

package:win deliberately omits build:speech — the dictation helper is a signed macOS Swift binary and has no Windows counterpart.

Output in release/:

FilePurpose
OpenMausBot-<version>-setup.exethe installer
latest.ymlthe update feed — see step 4
OpenMausBot-<version>-setup.exe.blockmapdifferential updates
OpenMausBot-<version>-x64.zipportable, not used by the updater

3. Verify before uploading

Three things silently produce a broken app if wrong. Check all three:

Test-Path release\win-unpacked\resources\server\index.js   # harness server
Test-Path release\win-unpacked\resources\ui\index.html     # built UI
Get-Content release\win-unpacked\resources\app-update.yml  # feed config
  • Missing server/index.js → utilityProcess.fork fails → the 🐭 "Couldn't start the bot server" page.
  • Missing ui/index.html → server has nothing to serve → black window.
  • app-update.yml must point at milind-soni/OpenMausBot and, while the build is unsigned, must not contain publisherName — electron-updater would reject every update as untrusted.

Then smoke-test the installer itself. Run it, and confirm:

  1. It installs per-user with no UAC prompt and launches.
  2. The chat window renders (not the error page). Server logs land in %APPDATA%\OpenMausBot\logs\server.log.
  3. The model picker lists at least one provider — this exercises the .cmd-shim resolution in server/procs.ts, which only ever runs for real on Windows.
  4. No update popup appears on launch. Background check failures are silent by design; a popup here means that regressed.

4. Publish

Upload to the same tag as the macOS release for that version, so one release carries both platforms.

Copy-Item release/OpenMausBot-<version>-setup.exe release/OpenMausBot-setup.exe
gh release upload v<version> --repo milind-soni/OpenMausBot `
  release/OpenMausBot-<version>-setup.exe `
  release/OpenMausBot-setup.exe `
  release/OpenMausBot-<version>-setup.exe.blockmap `
  release/latest.yml

Prefer the repository's Release workflow, which builds all platforms from one pinned commit and mirrors the complete, byte-identical asset set safely. If this emergency manual path is used, the same four files must also be attached to the matching draft in milind-soni/openmausbot-releases; never replace the bytes of an already-published asset.

Both names are required, for different consumers:

  • OpenMausBot-<version>-setup.exe is what latest.yml references by name and sha512. The auto-updater downloads exactly this.
  • OpenMausBot-setup.exe is a byte-identical copy that gives the README's /releases/latest/download/OpenMausBot-setup.exe button a stable URL. This mirrors OpenMausBot.dmg sitting beside OpenMausBot-<version>.dmg.

latest.yml is not optional

Without it every installed Windows app 404s on check and stays on its version forever. It is generated by package:win even under --publish never.

Never hand-edit it or carry one forward from a previous build. It pins the installer's sha512; a mismatch makes the updater download and then reject the update, which looks like "updates silently do nothing".

Every release ships both

A version that exists on macOS but not on this release is a Windows user stuck on old code with no signal that anything is wrong — the updater reports "up to date" because latest.yml still describes the older build.

So: whenever a new version goes out, this flow runs too. If Windows can't ship for some reason, don't publish the mac-only release under a new version tag either — or accept that Windows is knowingly frozen and say so in the release notes.

Because the two builds must run on two machines, the tag is the join point: cut the release, attach mac artifacts from the Mac, attach Windows artifacts from here.

Known: the build is unsigned

No certificate is configured, so SmartScreen shows "unknown publisher" and users click More info → Run anyway. The README documents this. Auto-update still works because it's unsigned (no publisherName to verify against).

If signing is added later, it goes under win.signtoolOptions or win.azureSignOptions in electron-builder.yml — electron-builder 26 nests these; there is no top-level win.certificateFile. Once signed, keep the certificate subject stable forever, or list both old and new in publisherName; changing it strands every already-installed user.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Create a project-specific SKILL.md that teaches an agent how to launch, operate, and verify an app. It tests a representative workflow first, then records reliable steps, evidence of success, cleanup instructions, and maintenance guidance.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Create a verification skill for a specific project
  • Document proven workflows and evidence of success
  • Record cleanup and maintenance steps for future checks
milind-soni/OpenMausBot5.2천2026년 10월 19일 업데이트

Operate a physical Android phone connected to OpenMausBot through authorized USB debugging. Open apps, read screens, tap controls, enter text, and swipe, checking the resulting screen after each action to support app testing and phone tasks.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Test app behavior on a physical Android phone
  • Enter text and navigate through app screens
  • Inspect screens and capture screenshots
milind-soni/OpenMausBot5.2천2026년 10월 19일 업데이트

Verify OpenMausBot server and conversation changes in an isolated instance using a fake engine, a stand-in for the real engine. Follow the canonical verification guide and shared control tool to check supported server workflows before reporting success.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Verify OpenMausBot server changes
  • Check conversation changes in an isolated instance
  • Review results before reporting that a change works
milind-soni/OpenMausBot5.2천2026년 10월 19일 업데이트

milind-soni의 스킬 모두 보기

이 스킬의 문제 신고