Skip to content

Releases: sei-studio/sei

0.6.6

Choose a tag to compare

@github-actions github-actions released this 29 Sep 02:52

What's new in 0.6.6

  • Start Minecraft on a Mac no longer triggers a macOS "prevented from modifying apps" notice
  • If the Minecraft Launcher closes before you press Play, Sei tells you how to open it yourself
  • Popups use a calmer, easier-to-read blue in dark and light themes
  • Game launch panels fit smaller windows, and "Which versions?" opens in place
  • Chess results are easier to read, and call screens show the name and timer clearly

0.6.5

Choose a tag to compare

@github-actions github-actions released this 28 Sep 23:43

Sei — Release Notes

v0.2.4 — Sync + LAN + card fixes

  • Fixed: "SYNCING" stuck forever on World characters. A character added
    from the World tab is owned by another account and can't be mirrored to your
    cloud, but the app kept retrying and the card showed "SYNCING" indefinitely.
    Those characters are no longer queued for cloud sync.
  • Fixed: LAN status wrong after reloading the app. Refreshing the window
    while a world was open showed "Not connected" until the world's state next
    changed. The launcher now re-reads the live LAN status on load.
  • Character cards show "Summoned". When a character is the active session,
    its card hover button reads a disabled "Summoned" so you can't accidentally
    restart the running bot.

v0.2.3 — Summon stability + greeting fixes

  • Fixed: bot failed to summon. A missing internal module crashed the bot
    process before it could join your world ("Bot exited before summon-ready").
    The long-term memory modules are restored, so summoning works again.
  • Fixed: LAN status stuck on "Not connected". After summoning and
    un-summoning, the connection pill could get stuck reporting your world as
    disconnected even while it was still open. The watcher now re-establishes
    itself and recovers automatically.
  • Home greeting. "Welcome to Sei" now shows only on your very first login;
    every later launch greets you with "Welcome back". The header switches to
    "Summons" once you leave Home, and your name is shown in the accent color.

v0.2.0 — Custom bot skins + setup wizard

New: per-persona custom skins and usernames. Each character can now wear
a custom Minecraft skin and join your world under any in-game username. Two
skin sources:

  • Upload PNG: drop a 64×64 PNG on the character page
  • Search Minecraft username: look up any real Mojang account and use
    their current skin (legacy 64×32 skins are auto-upscaled to 64×64 — no
    Notch-skin edge case)

A 3D preview shows the skin before you apply it. Skin bytes stay on your
computer.

New: first-launch setup wizard. Sei detects your Minecraft installs
(vanilla launcher + CurseForge instances) and installs Fabric Loader +
CustomSkinLoader for you. Re-run from Settings → Minecraft skins setup.
Idempotent: re-running detects existing mods and only updates when needed.
The wizard uses Minecraft's own bundled Java runtime — you don't need to
install Java separately.

Three default personas (Sui, Mochineko, Clawd) ship with bundled
placeholder skins.

Visibility caveat. Custom skins are rendered client-side. Peers on
your LAN see the bot with a default Minecraft skin unless they also
install CustomSkinLoader. This is a vanilla Minecraft architecture
constraint, not a Sei limitation — full analysis in
.planning/phases/09-implement-custom-bot-skins-via-customskinloader-mod-first-la/RESEARCH.md §5.

Windows notes. Mod installation uses Minecraft's bundled Java runtime
(located automatically inside %APPDATA%\.minecraft\runtime\ after you've
launched the vanilla profile at least once). The wizard writes to your
real Minecraft directory under %APPDATA%\.minecraft (vanilla) or
%USERPROFILE%\curseforge\minecraft\Instances\ (CurseForge). Sei does
not modify launcher_profiles.json — you pick the Fabric profile from
the launcher dropdown each time you want to play with Sei.

Implementation summary

  • Local HTTP skin server at http://127.0.0.1:<random-port> (loopback
    only — no firewall prompts, no LAN exposure by default)
  • Port-drift detection on bootstrap: if the OS picks a new port across
    launches, CSL configs are rewritten to stay in sync
  • Cross-platform install detection for macOS, Windows, Linux (paths
    via Node's path.join, never string concatenation — Phase 8 row 1
    invariant)
  • Fabric installer runs headless via
    <bundled-java> -jar <installer> client -noprofile
  • CustomSkinLoader JAR sourced from Modrinth (with GitHub releases
    fallback); the config's loadlist[0].type is Legacy, NOT
    CustomSkinAPI. This was verified against upstream CSL Java source on
    branch 15-develop: Legacy takes a literal {USERNAME}-substituted
    URL template and treats the response as raw PNG bytes (which is what
    our skin server serves at /skins/{USERNAME}.png); CustomSkinAPI
    requires a JSON-returning endpoint at {root}/{username}.json followed
    by a second {root}/textures/<id> PNG fetch, which would not work
    against our server. The on-launch verifier (npm run verify:phase9)
    asserts the shipped loader type matches the wire-protocol-correct
    choice.
  • All external calls timeout-wrapped per CLAUDE.md (15 s Mojang, 30 s
    meta, 60 s JAR download, 90 s java -jar exec)
  • Wizard cancel crosses the IPC boundary (renderer →
    sei.wizardCancel(sessionId) → main aborts the
    Map<sessionId, AbortController> controller) so the in-flight Fabric
    installer child process is SIGTERM'd cleanly
  • 4 verification harnesses + 1 master harness (npm run verify:phase9)

0.6.5-beta.5

0.6.5-beta.5 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 25 Sep 20:44

What's new in 0.6.5-beta.5

  • New here? After setup your companion says hi first and offers a game of chess, a Minecraft session, or a call
  • Out of free play? Sei now tells you the day it resets, and shows a notice when it is back
  • Chess keeps going when free play runs out: your companion still plays, just quietly, and Draw! can end with your drawings saved
  • Fixed: after switching accounts on the same computer, the previous account's chats could still show

0.6.5-beta.4

0.6.5-beta.4 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 25 Sep 19:19

What's new in 0.6.5-beta.4

  • Minecraft 26.2 and 26.3 are supported
  • Companions start more reliably on slower computers, and the launch button shows whether she is starting up or joining
  • Stopping a companion while she is still starting cancels right away, and quitting Sei no longer hangs
  • Stardew Valley: she follows you through doors and around you instead of getting stuck, tills a whole patch in one go, waters and harvests the whole farm, ships produce, hands you items, and offers to help with what you are doing
  • Don't Starve Together: she keeps herself lit at night, stops swapping tools back and forth, only fights real threats, can hand you items, and warns you about danger
  • Clearer messages when a local model fails, and a notice when feedback could not be sent
  • Security hardening for the installed app

0.6.5-beta.3

0.6.5-beta.3 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 24 Sep 18:09

What's new in 0.6.5-beta.3

  • Don't Starve Together: one-click helper install on Mac, no trip to System Settings
  • Stardew Valley: companions now look like their art (shared looks)
  • Stardew Valley: fixed companions repeating themselves or answering their own questions
  • Smaller download size labels and cleanup

0.6.5-beta.2

0.6.5-beta.2 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 24 Sep 15:31

What's new in 0.6.5-beta.2

  • Don't Starve Together: the helper mod now actually installs (the 0.6.5-beta.1 download was empty); an empty install from beta.1 is downloaded again automatically
  • Stardew Valley: setup no longer fails while installing the helper mod
  • Stardew Valley: companions look like themselves, dressed through the game's own farmer customization
  • Companions keep the thread of a conversation: they see the recent back-and-forth in order, remember what they already looked up, and in Stardew give you time to answer before moving on
  • Minecraft support files download once more after this update (about 50 MB on a Mac)

Known gaps in this beta

  • macOS: adding the Don't Starve Together helper needs the App Management permission for Sei (the setup step opens System Settings)
  • Don't Starve Together: the helper must be in the game before the game starts (quit and reopen the game once after setup)
  • Stardew Valley and Don't Starve Together: in-game typed chat, voice routing, combat, and a second companion are not yet verified live

0.6.5-beta.1

0.6.5-beta.1 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 17 Sep 07:09

What's new in 0.6.5-beta.1

  • Stardew Valley: launch your companion onto your farm as a visible helper who walks, works, fights, and talks beside you (Play together > Stardew Valley; Sei installs SMAPI and its helper mod for you)
  • Don't Starve Together: launch your companion into your hosted world as a survivor she picks for herself (Play together > Don't Starve Together; one companion per world)
  • Game support files download on first launch instead of shipping in the installer, Minecraft included, so the installer is about 40 MB smaller
  • Settings has one Games group for Minecraft, Stardew Valley, and Don't Starve Together
  • Minecraft: pick the version for the Sei profile in the setup list; one "Sei " profile per version, so an old world and a new one can coexist
  • Each game's dashboard now looks like that game's HUD: parchment and vitals badges for Don't Starve, the wooden menu frame for Stardew
  • Companions can look things up: search the web and read pages from chat, on calls, and in every game, and say so before they look; game companions ask their own wiki first
  • Card image: regenerate a companion's portrait up to 3 times and switch between up to 8 saved versions
  • Game dashboards fit the game area with nothing to scroll, the game/chat divider drags all the way down, and messages never sit under the message box
  • Includes every fix from 0.6.1 through 0.6.4 (Ollama and local mode, local voices, the China mirror, the updater)

Known gaps in this beta

  • macOS: adding the Don't Starve Together helper needs the App Management permission for Sei (the setup step opens System Settings)
  • Don't Starve Together: the helper must be in the game before the game starts (quit and reopen the game once after setup)
  • Stardew Valley and Don't Starve Together: in-game typed chat, voice routing, combat, and a second companion are not yet verified live

0.6.4

Choose a tag to compare

@github-actions github-actions released this 16 Sep 17:47

What's new in 0.6.4

  • Companions can look things up: search the web and read pages from chat, on calls, and in Minecraft, and say so before they look
  • Settings has a Search group: use the free automatic lookup or your own Brave, Tavily, or Serper key
  • Card image: regenerate a companion's portrait up to 3 times and switch between up to 8 saved versions
  • Minecraft: the setup wizard now installs the Sei profile for the newest supported version
  • Fixed: Ollama companions failed to start when summoned
  • Fixed: signing in with a Google account that had never used Sei landed you with no name; onboarding now asks again
  • Fixed: a lookup the companion announced on a call now runs and gets answered
  • Fixed: a companion's saved portrait versions no longer show up broken on a second computer

Windows, installs older than 0.5.3: the built-in updater on those installs cannot apply any update. Download and run Sei-win-x64.exe from this page once; updates work normally after that.

0.6.3

Choose a tag to compare

@github-actions github-actions released this 15 Sep 13:49

Sei — Release Notes

v0.2.4 — Sync + LAN + card fixes

  • Fixed: "SYNCING" stuck forever on World characters. A character added
    from the World tab is owned by another account and can't be mirrored to your
    cloud, but the app kept retrying and the card showed "SYNCING" indefinitely.
    Those characters are no longer queued for cloud sync.
  • Fixed: LAN status wrong after reloading the app. Refreshing the window
    while a world was open showed "Not connected" until the world's state next
    changed. The launcher now re-reads the live LAN status on load.
  • Character cards show "Summoned". When a character is the active session,
    its card hover button reads a disabled "Summoned" so you can't accidentally
    restart the running bot.

v0.2.3 — Summon stability + greeting fixes

  • Fixed: bot failed to summon. A missing internal module crashed the bot
    process before it could join your world ("Bot exited before summon-ready").
    The long-term memory modules are restored, so summoning works again.
  • Fixed: LAN status stuck on "Not connected". After summoning and
    un-summoning, the connection pill could get stuck reporting your world as
    disconnected even while it was still open. The watcher now re-establishes
    itself and recovers automatically.
  • Home greeting. "Welcome to Sei" now shows only on your very first login;
    every later launch greets you with "Welcome back". The header switches to
    "Summons" once you leave Home, and your name is shown in the accent color.

v0.2.0 — Custom bot skins + setup wizard

New: per-persona custom skins and usernames. Each character can now wear
a custom Minecraft skin and join your world under any in-game username. Two
skin sources:

  • Upload PNG: drop a 64×64 PNG on the character page
  • Search Minecraft username: look up any real Mojang account and use
    their current skin (legacy 64×32 skins are auto-upscaled to 64×64 — no
    Notch-skin edge case)

A 3D preview shows the skin before you apply it. Skin bytes stay on your
computer.

New: first-launch setup wizard. Sei detects your Minecraft installs
(vanilla launcher + CurseForge instances) and installs Fabric Loader +
CustomSkinLoader for you. Re-run from Settings → Minecraft skins setup.
Idempotent: re-running detects existing mods and only updates when needed.
The wizard uses Minecraft's own bundled Java runtime — you don't need to
install Java separately.

Three default personas (Sui, Mochineko, Clawd) ship with bundled
placeholder skins.

Visibility caveat. Custom skins are rendered client-side. Peers on
your LAN see the bot with a default Minecraft skin unless they also
install CustomSkinLoader. This is a vanilla Minecraft architecture
constraint, not a Sei limitation — full analysis in
.planning/phases/09-implement-custom-bot-skins-via-customskinloader-mod-first-la/RESEARCH.md §5.

Windows notes. Mod installation uses Minecraft's bundled Java runtime
(located automatically inside %APPDATA%\.minecraft\runtime\ after you've
launched the vanilla profile at least once). The wizard writes to your
real Minecraft directory under %APPDATA%\.minecraft (vanilla) or
%USERPROFILE%\curseforge\minecraft\Instances\ (CurseForge). Sei does
not modify launcher_profiles.json — you pick the Fabric profile from
the launcher dropdown each time you want to play with Sei.

Implementation summary

  • Local HTTP skin server at http://127.0.0.1:<random-port> (loopback
    only — no firewall prompts, no LAN exposure by default)
  • Port-drift detection on bootstrap: if the OS picks a new port across
    launches, CSL configs are rewritten to stay in sync
  • Cross-platform install detection for macOS, Windows, Linux (paths
    via Node's path.join, never string concatenation — Phase 8 row 1
    invariant)
  • Fabric installer runs headless via
    <bundled-java> -jar <installer> client -noprofile
  • CustomSkinLoader JAR sourced from Modrinth (with GitHub releases
    fallback); the config's loadlist[0].type is Legacy, NOT
    CustomSkinAPI. This was verified against upstream CSL Java source on
    branch 15-develop: Legacy takes a literal {USERNAME}-substituted
    URL template and treats the response as raw PNG bytes (which is what
    our skin server serves at /skins/{USERNAME}.png); CustomSkinAPI
    requires a JSON-returning endpoint at {root}/{username}.json followed
    by a second {root}/textures/<id> PNG fetch, which would not work
    against our server. The on-launch verifier (npm run verify:phase9)
    asserts the shipped loader type matches the wire-protocol-correct
    choice.
  • All external calls timeout-wrapped per CLAUDE.md (15 s Mojang, 30 s
    meta, 60 s JAR download, 90 s java -jar exec)
  • Wizard cancel crosses the IPC boundary (renderer →
    sei.wizardCancel(sessionId) → main aborts the
    Map<sessionId, AbortController> controller) so the in-flight Fabric
    installer child process is SIGTERM'd cleanly
  • 4 verification harnesses + 1 master harness (npm run verify:phase9)

0.6.2

Choose a tag to compare

@github-actions github-actions released this 14 Sep 19:11

Sei — Release Notes

v0.2.4 — Sync + LAN + card fixes

  • Fixed: "SYNCING" stuck forever on World characters. A character added
    from the World tab is owned by another account and can't be mirrored to your
    cloud, but the app kept retrying and the card showed "SYNCING" indefinitely.
    Those characters are no longer queued for cloud sync.
  • Fixed: LAN status wrong after reloading the app. Refreshing the window
    while a world was open showed "Not connected" until the world's state next
    changed. The launcher now re-reads the live LAN status on load.
  • Character cards show "Summoned". When a character is the active session,
    its card hover button reads a disabled "Summoned" so you can't accidentally
    restart the running bot.

v0.2.3 — Summon stability + greeting fixes

  • Fixed: bot failed to summon. A missing internal module crashed the bot
    process before it could join your world ("Bot exited before summon-ready").
    The long-term memory modules are restored, so summoning works again.
  • Fixed: LAN status stuck on "Not connected". After summoning and
    un-summoning, the connection pill could get stuck reporting your world as
    disconnected even while it was still open. The watcher now re-establishes
    itself and recovers automatically.
  • Home greeting. "Welcome to Sei" now shows only on your very first login;
    every later launch greets you with "Welcome back". The header switches to
    "Summons" once you leave Home, and your name is shown in the accent color.

v0.2.0 — Custom bot skins + setup wizard

New: per-persona custom skins and usernames. Each character can now wear
a custom Minecraft skin and join your world under any in-game username. Two
skin sources:

  • Upload PNG: drop a 64×64 PNG on the character page
  • Search Minecraft username: look up any real Mojang account and use
    their current skin (legacy 64×32 skins are auto-upscaled to 64×64 — no
    Notch-skin edge case)

A 3D preview shows the skin before you apply it. Skin bytes stay on your
computer.

New: first-launch setup wizard. Sei detects your Minecraft installs
(vanilla launcher + CurseForge instances) and installs Fabric Loader +
CustomSkinLoader for you. Re-run from Settings → Minecraft skins setup.
Idempotent: re-running detects existing mods and only updates when needed.
The wizard uses Minecraft's own bundled Java runtime — you don't need to
install Java separately.

Three default personas (Sui, Mochineko, Clawd) ship with bundled
placeholder skins.

Visibility caveat. Custom skins are rendered client-side. Peers on
your LAN see the bot with a default Minecraft skin unless they also
install CustomSkinLoader. This is a vanilla Minecraft architecture
constraint, not a Sei limitation — full analysis in
.planning/phases/09-implement-custom-bot-skins-via-customskinloader-mod-first-la/RESEARCH.md §5.

Windows notes. Mod installation uses Minecraft's bundled Java runtime
(located automatically inside %APPDATA%\.minecraft\runtime\ after you've
launched the vanilla profile at least once). The wizard writes to your
real Minecraft directory under %APPDATA%\.minecraft (vanilla) or
%USERPROFILE%\curseforge\minecraft\Instances\ (CurseForge). Sei does
not modify launcher_profiles.json — you pick the Fabric profile from
the launcher dropdown each time you want to play with Sei.

Implementation summary

  • Local HTTP skin server at http://127.0.0.1:<random-port> (loopback
    only — no firewall prompts, no LAN exposure by default)
  • Port-drift detection on bootstrap: if the OS picks a new port across
    launches, CSL configs are rewritten to stay in sync
  • Cross-platform install detection for macOS, Windows, Linux (paths
    via Node's path.join, never string concatenation — Phase 8 row 1
    invariant)
  • Fabric installer runs headless via
    <bundled-java> -jar <installer> client -noprofile
  • CustomSkinLoader JAR sourced from Modrinth (with GitHub releases
    fallback); the config's loadlist[0].type is Legacy, NOT
    CustomSkinAPI. This was verified against upstream CSL Java source on
    branch 15-develop: Legacy takes a literal {USERNAME}-substituted
    URL template and treats the response as raw PNG bytes (which is what
    our skin server serves at /skins/{USERNAME}.png); CustomSkinAPI
    requires a JSON-returning endpoint at {root}/{username}.json followed
    by a second {root}/textures/<id> PNG fetch, which would not work
    against our server. The on-launch verifier (npm run verify:phase9)
    asserts the shipped loader type matches the wire-protocol-correct
    choice.
  • All external calls timeout-wrapped per CLAUDE.md (15 s Mojang, 30 s
    meta, 60 s JAR download, 90 s java -jar exec)
  • Wizard cancel crosses the IPC boundary (renderer →
    sei.wizardCancel(sessionId) → main aborts the
    Map<sessionId, AbortController> controller) so the in-flight Fabric
    installer child process is SIGTERM'd cleanly
  • 4 verification harnesses + 1 master harness (npm run verify:phase9)