Marinara v2.4.4 combines three kinds of AI play
Marinara Engine v2.4.4 puts Conversation, Roleplay, and Game modes in one local web app. Conversation resembles direct messages, Roleplay adds sprites and scene backgrounds, and Game adds an AI game master, party state, quests, and combat. Characters can carry memory across modes. The README also describes branching, alternate-response swipes, SillyTavern imports, lorebooks, prompt presets, regex scripts, and file exports as JSONL or text.
An optional catalog contains 36 first-party agents and feature packages, although fresh installs bundle none of them. The list spans continuity checks, world and character tracking, image work, memory, music, storyboards, and small games. That breadth is Marinara's reason to exist and its main risk. A roleplay session can involve several model calls, generated assets, agent state, and local files, so failures have more places to hide than in a plain chat frontend.
Node.js 24 through 26 is the supported source path
The current package declares Node.js 24 through 26 and pins pnpm 10.34.5, with 10.33.2 also accepted. The macOS and Linux launcher checks tools, installs dependencies, rebuilds changed code, prepares storage, and opens port 7860. Docker and Podman are easier for users who do not want the source toolchain. The container guide binds to loopback by default and stores files in a named volume.
The app still needs an inference path. Marinara lists OpenAI, Anthropic, Gemini, OpenRouter, Mistral, Cohere, xAI, NovelAI, ComfyUI, local OpenAI-compatible servers, and a downloadable local model sidecar among its connections. API keys are described as AES-256 encrypted at rest. Local file storage keeps the application database off a hosted Marinara account, but prompts sent to a remote model or media provider leave the machine under that provider's policy.
What happened when we ran it
Our sandbox installed the pnpm workspace in 68 seconds. The install reported 1 package and consumed 2,032 MB on disk, a striking footprint beside the 138.2 MB checkout. The repository contained 2,009 files and roughly 635,732 lines of source. A full build then succeeded in 89 seconds. The scan found 17 CI workflow files, a Dockerfile, a Compose file, and monorepo workspaces, but no tests directory.
The test command ran for 402 seconds and exited with code 1. Its final summary said 156 of 158 regressions passed and 2 failed. The supplied tail did not identify the two failed scripts. A TTS source-persistence regression printed a fetch stack on stderr, then explicitly reported that its checks passed in 750 ms. We will not assign either final failure to that stack when the log says the displayed regression passed.
The measured commit was 1a29936 in an unprivileged container with 3 CPUs and 8 GB of RAM. That image used Node 22, while the same commit's package metadata declares Node 24 through 26. This limits the result, but it does not explain the 2 failures by itself. The log tail gives no causal evidence. Teams should rerun the suite on a supported Node release and require all 158 regressions to finish before treating the checkout as ready.
The alpha warning outweighs the stable channel label
Release v2.4.4 was published on August 25, 2026 with Windows, Android bootstrap, and source assets. The README calls it the current stable release, then separately labels the entire project alpha software with missing features and breaking changes expected. Stable therefore describes the release channel. It does not withdraw the project's own maturity warning.
Development activity is intense. GitHub recorded 647 stars, 180 forks, 0 open issues and pull requests, and a push on September 14, 2026. An issue-only search also found 0 open issues, while 3,453 closed issues were searchable. Several were created and closed on September 14, including a storage-writer lease report for abrupt terminal shutdown. Fast closure and same-day pushes show work happening; they do not tell a buyer how often upgrades change saved state or behavior.
Version 2.4.4 starts local and requires protection beyond loopback
The default container maps port 7860 to 127.0.0.1, which is the right starting point for a personal app holding chats, character files, and provider keys. LAN and public clients require Basic Auth unless an operator enables broader bypass settings. Backups, bulk imports, update application, sidecar changes, haptics, and custom tool mutation require an administrator secret. Personal extensions also use approval fingerprints and sandbox rules, while a full-page compatibility mode is explicitly unsandboxed.
Those controls demand an operator, especially once the app is reachable from another machine. Keep a version-pinned image, configure Basic Auth before changing the port binding, set the admin secret, and export chats outside the main volume. The regular image includes more offline features than the lite image; lite removes the local model, embeddings, semantic Memory Recall, and local Whisper. An older lite image may also fail with SIGILL on Raspberry Pi 4 class hardware, according to the container guide.
Three alternatives narrow the job in different ways
SillyTavern is the closest comparison when character chat and community extensions are the priority. RisuAI covers cross-platform roleplay with another card and lore workflow. Open WebUI makes more sense for general model chat and retrieval without Marinara's sprites, party state, or game master. Marinara earns the trial when those connected play modes are exactly the point. Its 2,032 MB source install, alpha label, and 2 failed regressions make a throwaway copy and external backup the sensible first deployment.

