New Contributors
- @Zazzik1 made their first contribution in #1035
- @NashChennc made their first contribution in #1029
- @gpc123456 made their first contribution in #1032
- @Daeil-Jung made their first contribution in #1042
- @BlackFrameAI made their first contribution in #1043
š Features
- Allow to enable secure websocket for server channel - by @LemonNekoGH in #1014 (e4add)
- minecraft:
- Introduce structured ActionError for skill failures, implement fail-fast logic in planning, and remove unused planning code. - by @shinohara-rin (3b22a)
- Add debug web dashboard - by @shinohara-rin (d20bc)
- Async concious - by @shinohara-rin (9b698)
- Architecture redesign, blackboard pattern and OODA - by @shinohara-rin (8facb)
- Better debug server, event queue for the brain - by @shinohara-rin (3f113)
- Add require_feedback for actions, updates prompt - by @shinohara-rin (311d3)
- Scaffold raw event pipeline with leaky bucket + DI wiring - by @shinohara-rin (a3a29)
- Mineflayer perception collector - by @shinohara-rin (ee21a)
- Implement raw event pipeline - by @shinohara-rin (39a5a)
- Logging for perception pipeline - by @shinohara-rin (9b53e)
- Stage processors, perception frame - by @shinohara-rin (ee0ad)
- Add tests for perception pipeline - by @shinohara-rin (e791d)
- Implement reflex layer and related refactors - by @shinohara-rin (585ff)
- Test for signals - by @shinohara-rin (0f343)
- Attempt at sliding window for salience detection - by @shinohara-rin (bc5e1)
- Yet another overhaul... i honestly don't know what to feel about this - by @shinohara-rin (7158c)
- Reflex behaviors WIP - by @shinohara-rin (54380)
- Add reflex state to dashboard - by @shinohara-rin (07f65)
- Semantic percetion, belief and state pulling - by @shinohara-rin (8beac)
- Resizable debug dashboard - by @shinohara-rin (7fa30)
- Execute tools from dashboard - by @shinohara-rin (07097)
- Action parallelism with feedback timeout - by @shinohara-rin (9c9ba)
- Get the block player is looking at - by @shinohara-rin (6f63e)
- Timestamp in blackboard - by @shinohara-rin (6ff24)
- Retry on LLM call failure - by @shinohara-rin (9300a)
- Add mineBlockAt tool - by @shinohara-rin (59847)
- Improve goToCoordinate - by @shinohara-rin (200b7)
- Event on player join, wire up eventbus - by @shinohara-rin (c4b35)
- Work mode in reflex if action inflight, so idle behaviors doesn't get played while working - by @shinohara-rin (b11bb)
- Hook up prismarine-viewer - by @shinohara-rin (a9dc7)
- Show reflex mode in dashboard - by @shinohara-rin (4133b)
- Add social reflex, follow player on chat - by @shinohara-rin (e02f7)
- Auto respawn - by @shinohara-rin (69c61)
- Accept system message - by @shinohara-rin (d5303)
- Track and display nearby players' held items in context - by @shinohara-rin (c77f5)
- Hurt source limitations: the yaml rule doesn't support conditioning... - by @shinohara-rin (fc24f)
- Autocrafter and recepie planner - by @shinohara-rin (b4f60)
- Improve error handling and auto-craft intermediates...but it doesn't work very well - by @shinohara-rin (d9b99)
- Use native tool calling for instant tasks - by @shinohara-rin (02c39)
- Borrow patch from mindcraft - by @shinohara-rin (4b8f0)
- Reasoning hack - by @shinohara-rin (62f16)
- Add rate limit detection and backoff to brain retry logic - by @shinohara-rin (b237a)
- Back to xsai, again :D - by @shinohara-rin (6488a)
- (does it work???)use native reasoning field instead of [REASONING] prefix hack - by @shinohara-rin (b20d5)
- Add automatic reconnection with configurable retry limit - by @shinohara-rin (c250e)
- Use js REPL for llm interface, would could possibly go wrong - by @shinohara-rin (4e1ba)
- Run conscious brain in js repl with runtime globals - by @shinohara-rin (b02d4)
- Add giveUp tool with cooldown suppression - by @shinohara-rin (e69e6)
expectguardrails and a working gaze api - by @shinohara-rin (6d7db)- Add REPL dashboard tab with live execution - by @shinohara-rin (cce49)
- Capture and expose LLM input snapshot in REPL with source tracking - by @shinohara-rin (f70f9)
- Add no-action follow-up system to prevent silent observation loops - by @shinohara-rin (13841)
- Add query DSL for read-only runtime introspection with composable block/entity/inventory queries - by @shinohara-rin (e9087)
- Expose LLM log to runtime for introspection - by @shinohara-rin (4f382)
- Extract brain prompt to markdown template with hot-reload support - by @shinohara-rin (e7006)
- Interesting stuff happening! minecraft mcp - by @shinohara-rin (10251)
- Add llm trace endpoint and compact prompt payloads - by @shinohara-rin (b32c2)
- Add forgetConversation runtime function for prompt/debug reset workflows - by @shinohara-rin (b5978)
- Document forget_conversation and value-first prompt workflow in MCP skill reference - by @shinohara-rin (da4af)
- Add query.self/snapshot helpers and inventory count/has/summary methods - by @shinohara-rin (5642b)
- Add pause/resume control for cognitive engine via !pause command and Brain.setPaused/togglePaused/isPaused methods - by @shinohara-rin (b124d)
- Compact brain prompt tool descriptions to reduce token usage - by @shinohara-rin (ca109)
- Improve error retry logic with exponential backoff and quota detection - by @shinohara-rin (81381)
- Prioritize player chat over stale feedback/follow-ups in brain event queue - by @shinohara-rin (ca6f1)
- Add includeBuiltins option to get_state tool to filter REPL builtins by default - by @shinohara-rin (8010c)
- Add control action queue to brain for async action management with capacity limits - by @shinohara-rin (3f059)
- Add budgeted no-action follow-up system with stagnation detection and player chat reset - by @shinohara-rin (0f536)
- Add error-burst guard to prevent LLM error loops with mandatory giveUp+chat recovery - by @shinohara-rin (9a35b)
- Add live conversation panel with session tracking and processing state - by @shinohara-rin (4a354)
- Move gaze to perception + query.gaze - by @shinohara-rin (942d0)
- Remove greeting reflex behavior and associated state tracking - by @shinohara-rin (6a50b)
- Add patterns runtime to REPL with block alias support for collect actions - by @shinohara-rin (fdb0d)
- Add map() query DSL for ASCII spatial awareness and terrain visualization - by @shinohara-rin (2022c)
- Add context boundary system with auto-summarization to prevent unbounded conversation history growth - by @shinohara-rin (08afe)
- minecraft-hub:
- Init, but bugged - by @nekomeowww (59b27)
- plugin-protocol,server-shared:
- New package - by @nekomeowww (ca195)
- plugin-sdk:
- Init - by @nekomeowww (0e9b0)
- Tsconfig missing - by @nekomeowww (31904)
- Many more initial impl - by @nekomeowww (795e1)
- Basic implementation for multi-transport - by @nekomeowww (d98b3)
- plugin-sdk,stage-tamagotchi:
- Basic file system loader, protocol - by @nekomeowww (cae48)
- Demo plugin, and plugin inspector - by @nekomeowww (e8f61)
- providers:
- Add MiniMax chat provider (China & Global) - by @gpc123456 in #1032 (1c6df)
- server:
- Database migration - by @luoling8192 (ea050)
- Health check route - by @luoling8192 (f7874)
- server-shared:
- Events - by @nekomeowww (892c1)
- stage-*:
- Support max fps - by @luoling8192 (cfa37)
- stage-pages:
- Add warning for unavailable indextts2 support in I⦠- by @Misaka-0x447f in #1018 (d95dc)
- stage-tamagotchi:
- Switch back to .icon app icon for macOS builds - by @sumimakito (0f3c9)
- Dynamic select macOS app icon while building - by @sumimakito (62704)
- Promoted to libs/electron - by @nekomeowww (9419a)
- Dashboard window - by @nekomeowww (1d18b)
- stage-ui:
- Add Kokoro TTS (Local) speech provider - by @sebastian-zm in #1005 (47e44)
š Bug Fixes
- channel-server:
- Allow wss on non-localhost - by @LemonNekoGH in #1021 (a28c5)
- ci:
- Use macos-26 instead of macos-latest for ARM macOS - by @sumimakito (9f625)
- Specify build.extends for electron-builder - by @sumimakito (418d6)
- Never publish when build-only - by @sumimakito (c6e2c)
- ci): 'should use swiftlint version from env not inputs' (#1025) * fix(ci:
- 'should use swiftlint version from env not inputs' - by @LemonNekoGH (9e503)
- debug:
- Fix Zod 4 compatibility in tool-executor - by @shinohara-rin (377d9)
- minecraft:
- Planning agent ctx - by @shinohara-rin (dd395)
- Prevent handled events from reaching the brain - by @shinohara-rin (f2ccd)
- Fix model not specified - by @shinohara-rin (9d3e8)
- Dashboard not working - by @shinohara-rin (54c93)
- Fix tool action result message - by @shinohara-rin in #5 (c155e)
- Implement proper interrupt method to stop bot actions - by @shinohara-rin (1ac8e)
- Don't rebuild dispatch table every time - by @shinohara-rin (2d4ef)
- Cognitive engine should wait for bot initializes - by @shinohara-rin (0959f)
- Fix behavior rules not loaded - by @shinohara-rin (8d68a)
- Dirty teabagging workaround - by @shinohara-rin (0eca1)
- There's no oxygen in minecraft wtf - by @shinohara-rin (67bc3)
- Use correct id for blocksearch and some improvements - by @shinohara-rin (de8b1)
- Fix blackboard name mismatch - by @shinohara-rin (57b20)
- Collectblock should provide correct feedback - by @shinohara-rin (9d395)
- No need for feedback on interruptions - by @shinohara-rin (112ed)
- Debug dashboard layout problem - by @shinohara-rin (ffa0a)
- Emit reflex state on behavior end and mode change to keep dashboard state refresh - by @shinohara-rin (50111)
- Fix craftables showing wrong results - by @shinohara-rin (e9dd2)
- Invalid LLM output breaks blackboard - by @shinohara-rin (260bc)
- Make logging actually meaningful - by @shinohara-rin (02d3f)
- Simplify brain error retry logic to catch edge cases - by @shinohara-rin (c21b9)
- Validate LLM response structure to retry on invalid format - by @shinohara-rin (1c942)
- Sane tool description in system mesage - by @shinohara-rin (f59a1)
- Clamp unsolicited chat and ignore harness wrappers - by @shinohara-rin (80aa5)
- Fix repl results not feeding to llm - by @shinohara-rin (034f0)
- Correct gaze ray pitch direction - by @shinohara-rin (1eced)
- Llm can now obtain expression results - by @shinohara-rin (27c3b)
- Render nested return objects without [Object] truncation in planner output - by @shinohara-rin (843b1)
- Re-equip tool after ensurePickaxe and throw typed error for missing harvest tools - by @shinohara-rin (447f7)
- Mcp-initiated chat no longer cause "SOMETHING WENT WRONG" - by @shinohara-rin (a9f95)
- Skip reasoning parameter for Cerebras API to avoid unsupported field errors - by @shinohara-rin (cbf85)
- Persist prevRun returnRaw for typed value reuse - by @shinohara-rin (42e5e)
- Semicolon now works in single line - by @shinohara-rin (cbcd2)
- Stop action cancels active control action without emitting failure feedback - by @shinohara-rin (e700a)
- Add pause checks during LLM retry loop to prevent execution while paused - by @shinohara-rin (7d4a0)
- Announce giveUp cooldown to chat with reason when bot gives up - by @shinohara-rin (60416)
- Remove autoCraft action and fix craftRecipe num parameter to mean craft count not output count - by @shinohara-rin (165fd)
- Remove returnValue from prevRun/lastRun to prevent stringified return mirror exposure - by @shinohara-rin (5ea05)
- Add toJSON/inspect.custom serialization to query chains for cleaner REPL output - by @shinohara-rin (b1700)
- Remove hardcoded return in isCerebrasBaseURL that prevented reasoning from being sent to all LLM providers - by @shinohara-rin (22021)
- Fix Brain resource leaks, race conditions, and unbounded growth - by @shinohara-rin (303c0)
- Stop McpReplServer and destroy Brain on cleanup to prevent port conflicts on reconnect - by @shinohara-rin (a140c)
- Make action tool globals updatable so REPL reflects runtime action changes - by @shinohara-rin (32957)
- Nullify EventRegistry context on stop() to prevent stale handler execution - by @shinohara-rin (e668b)
- Await reconnect plugin initialization before spawn hooks to prevent race conditions - by @shinohara-rin (a135b)
- nix:
- When one nix hash update pushes now the other pulls - by @sebastian-zm in #1019 (65875)
- plugin-sdk,server-*:
- Type mismatch - by @nekomeowww (b49cf)
- server:
- Railway build - by @luoling8192 (5b961)
- server-runtime:
- server-sdk,workspace:
- Incorrect version - by @nekomeowww (69a21)
- stage-*:
- Kokoro TTS now works in production too - by @sebastian-zm in #1017 (c8f67)
- stage-layouts:
- HeaderLink component no longer makes entire Header clickable - by @Zazzik1 in #1035 (66b86)
- Shouldn't display header for tamagotchi - by @nekomeowww (2f63d)
- stage-tamagotchi:
- Updated with appId - by @nekomeowww (dd92f)
- Use isLinux() from eventa invoke instead of platform regexp - by @nekomeowww (bbf40)
- ERR_ABORT (-3) occurs when loading hash route window - by @nekomeowww (3a107)
- Websocket started duplicated-ly - by @nekomeowww (ed65f)
- stage-ui:
- Only dedupe assistant message, strip local id on API call - by @shinohara-rin in #1010 (9b1b2)
- Connectivity checks for IndexTTS and Player2 speech providers - by @shinohara-rin in #1013 (58bc0)
- Auto-mark player2 provider as added when valid - by @shinohara-rin in #1012 (77f8a)
- Better error handling and timeouts for the kokoro worker - by @sebastian-zm in #1020 (00b24)
- Live2d scaling not applied visually in model settings view - by @shinohara-rin in #1036 (4a0e1)
- Hardcode Perplexity models and disable dynamic listing - by @shinohara-rin and shinohara-rin in #1038 (d76a5)
- Type issue of vrm options - by @nekomeowww (c48a3)
- Correct signed SSML prosody percentages - by @BlackFrameAI in #1043 (f859a)
- Many provider catalog issues - by @nekomeowww (58991)