Skip to content

Releases: MolfarWav/Molfar.Vertep

Molfar.Vertep 1.5.1

Choose a tag to compare

@github-actions github-actions released this 26 Oct 22:36
c7735d8

🔄 Molfar Vertep 1.5.1

A small release with one fix that matters: changes to a built-in preset now reach the copy you already have. Roleplay 4.71.0 rides with it as an app update. Update in this order: get this engine release and restart, then open Updates and press Update on Roleplay. Done the other way round, the preset refresh has no new template to copy from.

🔄 Built-in presets follow the shipped text

Before, a change to FRANKENX, Molfar or Vertep Lite reached only new installs. If you installed Roleplay earlier, your copy kept the text it had on the first day. That is why the HTML panels pick that came with Roleplay 4.70.0 never showed up in your Choices. Now every app update compares each read-only built-in preset with the one the app ships and takes the shipped text when they differ. A preset you duplicated and made editable keeps your text. The engine side: an update now replaces a changed template file under the app's data/ (it only added missing ones before). The update saves your workspace to its history first, so the old text is not lost.

🎭 Vertep Lite: HTML panels and a Fiction frame

  • HTML panels (on by default, Off in Choices): when a scene focuses on a phone screen, a letter, a sign or a HUD, the narrator draws it as one small HTML panel. This is the pick from 4.70.0 that now actually arrives. The same refresh also brings the rule from 4.69.0 that asks the model to name the speaker by name in the same paragraph as each line.
  • Fiction frame (new, Off by default, in Choices): for models that refuse, soften or lecture on dark themes. When it is On, a short block says the story is fiction for adults and dark material (slavery, war, cruelty, coercion, desire) is written the way the world has it, with no disclaimers and no leaving the story, and a one-line reminder follows your newest message. Everyone in a sexual scene is an adult in the story; a child never takes part. It costs about 250 tokens while On and nothing while Off, and it is not tied to one model. How well it works depends on the model, so try it on a scene a model refused and tell us what still gets refused.

🧩 Agents: a block for results

In a chat's Agents tab, the place button of an agent has a new switch, "Also show in the block". An agent with it on keeps its latest result (notes, hints for the next reply, choices, changes to its state) in a folded block above the message box. The block stays when the history scrolls away. It is per chat and never goes to the model.

📚 Help: 66 more articles

Most features in Help now have a longer text behind "More": what it is for, where to find it, what is on by default, what it does not do. They cover Profile, Soul, Habits, Voices, Persona, Groups, the Dashboard, Litopys, the World DM, the Prompt board, Lorebooks, Presets, Regex, the Inbox, Themes, every Tools tab and the Settings sections, in English and Ukrainian. Search now ranks the best match first and also reads the article text.

Other changes

  • A hint typed by hand into a read-only built-in preset is replaced by the shipped one on update.

How to get it

From source: git pull && bun install && (cd client-agent && bun install) && bun run build:client, then restart, then Update on Roleplay in Updates. Downloads and the Android APK are on this release page. See CHANGELOG.md for details.

Molfar.Vertep 1.5.0

Choose a tag to compare

@github-actions github-actions released this 26 Oct 20:30
7b665e7

🔥 Molfar Vertep 1.5.0

This release brings the agent forge and a much longer memory to Roleplay (app version 4.70.0), and the engine gives plugins the room these need. Roleplay arrives as an app update, so open Updates and press Update on Roleplay.

🛠️ The agent forge

Canvas has a new tab, Agents. An agent is a small graph of cards on a board: it reads the chat, asks a model what it needs, keeps its own numbers and notes, and shows results back in the chat.

  • Build one by hand from forms, start from a ready recipe, or ask Molfar to write it (the new agent-craft skill); a file Molfar writes shows up under "Drafts from Molfar" with the checker's verdict in plain words.
  • Try runs the agent over a made-up turn with no model call and nothing saved: you see what every wire carried, which cards ran, and what the panel would show.
  • In the chat the Agents tab lists the agents a chat uses, with an on/off switch, a Wait switch (the reply waits for the agent, or runs beside it) and a pin for where its results show. Panels sit in bars above the log or in a floating window, choices appear as buttons above the composer, notes fold under the reply.
  • Agent sets: Canvas has an Agent sets board, and New chat can pick a set.
  • Each agent has its own model and its own call limit in "Model and limit"; the choice stays on your side, so a shared agent never carries your model.
  • New cards that cost no model call: Dice, Pick, Extract and Cut. New input sources: Litopys facts and Lorebook entries.
  • Agents can ask the model up to 7 times in a row, and independent questions run side by side, paced and tried again after a 429. This needs engine 1.5.0; on an older engine an agent with more than two model calls in a row never finishes.

🧠 Litopys remembers long stories

  • Memory size goes up to 16000 tokens, or Auto (15% of the model's context window). The 6-chapter limit is gone.
  • When the whole record fits the size, all of it is sent with no ranking, so the provider's cache holds.
  • Older chapters merge into arcs by themselves on a new install; an install that already has Litopys data keeps its choice and is offered the switch once.
  • "Apply pins and rewrites quietly" applies a suggested pin or rewording at once, with an Undo. Consolidate facts can run by itself after 30 new facts. Retiring and merging facts always waits for you.
  • Ranking by meaning: with embeddings set up, facts and chapters are found by meaning beside words, so a story in Ukrainian finds facts written in English. This needs engine 1.5.0; on an older engine the ranking is by words.
  • The Litopys settings are nine foldable, coloured blocks with a one-line summary each.
  • The sentence each memory part opens with can be edited under "Memory wording", and a chat that continues an earlier one but still opens with the card greeting shows a note about it (#113).

✨ Small things

  • The Dashboard moves a little: bars glide to the new value, new rows fade in, and the weather line has an icon that matches the words (nothing moves with "reduce motion" on).
  • A persona has a dialogue colour.
  • Vertep Lite can draw an in-world object (a phone screen, a letter, a sign) as one small HTML panel; a pick turns it off.

🛠️ Fixes

  • Structure it reads a reply that puts the sections at the top level, and says which keys the reply had when it filled nothing.
  • On Linux a plugin's fs.stat of a folder reported 4096 as its size; it is 0 on every system now.

Other changes

  • Plugin manifests may carry limits: { passes, concurrency }; an llmRequest hook can read ctx.turn.scanVec and ctx.turn.contextTokens.
  • CI is green on main again (#114): the edge TTS tests use a local fake of the service.
  • No data format changes in the engine.

How to get it

From source: git pull && bun install && (cd client-agent && bun install) && bun run build:client, then restart. Downloads and the Android APK are on this release page. Then open Updates and update Roleplay to 4.70.0. See CHANGELOG.md for details.

Molfar.Vertep 1.4.2

Choose a tag to compare

@github-actions github-actions released this 25 Oct 18:52
10d3412

🎨 Molfar Vertep 1.4.2

Two Roleplay app updates ride with this release: coloured voices that work in Russian and Ukrainian chats, and a greeting that follows the persona you pick. The engine itself has no code change.

🎭 Voices work with dashes and in other scripts

You can test it on a Narrator card that lists voices under Colors > Voices. Before, the colours only worked for speech in quotation marks and for names written the way the card spells them. Now:

  • Dialogue set off by a dash (— Hello) is coloured like quoted speech, in every chat. The author's words between two dashes (— No, — she said. — Go.) stay plain.
  • A voice is found when the story writes its name in the other script: the voice Ember is found as Эмбер, Isabella Falafel as Изабелла.
  • A speech paragraph that names nobody (a pronoun only) takes the speaker of the narration paragraph right before it. A paragraph with speech never hands its speaker on, so a reply by someone else is not painted with the wrong colour.
  • Vertep Lite now asks the model to name the speaker by name, not only "he" or "she", in the same paragraph as each line.

🎬 A fuller scene on the Dashboard

A small sensor model can leave people out of the scene state. A rated character (one with a soul) whom the story names at least twice in the new reply now joins the scene even then, by first name, alias or the other script, unless the sensor says they left. Before, only people who were already in the scene were kept.

🧑 A greeting follows the persona

Changing the persona of a chat before the first reply now changes {{user}} in the greeting, for a character chat and for the openings of a group chat. Before, only a swipe fixed it.

Open Updates and press Update on Roleplay.

Other changes

  • The chat's saved dashboard states are not rewritten: the fuller cast shows from the next state update.
  • Vertep Lite changes in the preset template only; a copy you made keeps its own text.

How to get it

From source: git pull && bun install && (cd client-agent && bun install) && bun run build:client, then restart. Downloads and the Android APK are on this release page. See CHANGELOG.md for details.

Molfar.Vertep 1.4.1

Choose a tag to compare

@github-actions github-actions released this 25 Oct 12:48
7efc4b6

🛟 Molfar Vertep 1.4.1

Two data-safety fixes in the engine, and Roleplay 4.68.0 comes with them as an app update.

↩️ Undo also brings back your data

When Molfar changes a card, a lorebook or another file under an app's data/, the line under his reply now reads, for example, "Changed roleplay · 2 data files · Undo". Before, Undo put the code back and left the data as the run had changed it, and a run that changed only data showed no line at all. Undo asks you to confirm and lists what it will restore. A file you edited yourself after the run is left as it is, and the message afterwards names it.

📝 A draft that could not be saved survives a reload

If the browser refuses to store what you typed (its storage is full), Roleplay shows "not saved". Until now a full reload of the page lost that draft. The shell now keeps a spare copy while the tab stays open, and the app starts from it, still marked as unsaved. Closing the tab still loses it, and the line says so.

🧩 Roleplay 4.68.0, through an app update

  • Backups carry pictures. The studio backup zip now includes the gallery images, generated pictures and backgrounds your cards and chats point at, and a restore puts them back. Backups made before this have no pictures and restore as before.
  • Safer HTML in replies. A reply can dress its message (colours, borders, shadows, rotation, fonts by name) but nothing can pin a box over the whole app or the Send button. <b>, <br>, <span> and <font> were being stripped from replies and now work. The fenced html block follows your theme unless it sets its own colours, and has an Expand button.
  • Voices for a Narrator card. A card that plays several characters can list them under Colors > Voices; each one's quotes get their own colour, found by a name before a colon or the first name in the line.
  • A World DM that invents. Start from cards builds the setting, the people and the trouble around your characters instead of copying what the cards already say, in four calls however long the cards are. During play the DM no longer records things a character just carries.

Open Updates and press Update on Roleplay. The "not saved" fix needs this engine version too.

Other changes

  • Card skill edit-large-card documents the new voices field.
  • No data format changes in the engine.

How to get it

From source: git pull && bun install && (cd client-agent && bun install) && bun run build:client, then restart. Downloads and the Android APK are on this release page. See CHANGELOG.md for details.

Molfar.Vertep 1.4.0

Choose a tag to compare

@github-actions github-actions released this 25 Oct 10:10
11fff98

📲 Molfar Vertep 1.4.0

Molfar Vertep can now be installed like an app. This release also makes the image provider's errors readable in your own language.

📲 Install Molfar Vertep as an app

Open the account menu and press Install app. On Android (Chrome, Edge, Samsung Internet) and on a computer, the browser shows its install dialog. On an iPhone or iPad the menu tells you where Safari keeps it: Share, then Add to Home Screen. Afterwards Molfar Vertep opens from its own icon, full screen, without the browser's address bar and tabs, so it is no longer lost among other tabs. The controls stay clear of the notch and the home bar, and the status bar takes the colour of your theme.

If the engine is off, the app shows a "not reachable" page in your language that reloads by itself once the engine answers. Nothing else is cached, so an update reaches the installed app exactly as it reaches a browser tab.

One catch: browsers install apps only from a secure address (https://, or localhost on the same computer). A phone that opens your computer at http://192.168.x.x gets no install offer; the dialog says so and links to the guide. The README section Install as an app explains the two ways to get https: Tailscale (tailscale serve) or a certificate of your own.

🖼 Image errors in your language

In Settings > Images, the provider's problems (wrong key, no credit, rate limit, unknown model, server not reachable, timeout) now appear in the interface language instead of English only. Check, Edit, Add server and the footer links (GitHub, Discord, Report a bug, Help) are 40 px tall on phones, so a thumb hits them.

🧩 Roleplay 4.67.0, through an app update

A character's skills are now called habits (in Ukrainian: звички) in the card's Memory tab, the Library, the Litopys settings and the prompt; old data keeps working, and the word skills stays for Molfar's own skills. Write for me can translate your own message in place, with Undo. The Prompt board and Backgrounds fit a phone better, and Show me opens the More sheet when its target is there. Open Updates and press Update on Roleplay.

Other changes

  • The engine serves /manifest.webmanifest and /sw.js at its root; no data format changes.
  • New What's new tip for the install button.

How to get it

From source: git pull && bun install && (cd client-agent && bun install) && bun run build:client, then restart. Downloads and the Android APK are on this release page. See CHANGELOG.md for details.

Molfar.Vertep 1.3.5

Choose a tag to compare

@github-actions github-actions released this 23 Oct 21:36

🧾 Molfar Vertep 1.3.5

Roleplay's story threads become quests. This release is Roleplay 4.65.0, which arrives as an app update; the engine itself has no code change.

🧭 Quests instead of threads

The threads on the Dashboard are now quests: main (what the story is about right now), side (an optional line the story can drop) and everyday (a small errand of the moment that ends by itself after a few turns). A main quest can have steps, and shows "2 of 4 steps done". Limits: one main quest, three side quests, four steps per main quest; all of them are settings in Dashboard settings.

Nothing is lost in silence any more. When the story proposes a quest and its kind is full, the quest waits under Suggestions: Add it (it asks which open quest it replaces) or Not now. When a quest has stayed open through three checks and nothing moved, it comes up there too: Close it or Keep open. Everyday quests are the only ones closed without your word. A quest you add yourself at a full limit waits there as well instead of failing. Closing a main quest closes its open steps with it; reopening it brings them back.

The model that writes the replies sees main quests first with their steps, then side quests. Everyday ones stay on the Dashboard and are not sent.

🌪 Story, move: pick a quest or a step, or add a Twist

The menu next to Send lists the quests with their steps under them. Pick one, and the next reply pulls on it. The new Twist item makes the next reply let something happen that belongs to none of the open quests, built from what is already in the scene. It has its own prompt in Dashboard settings, with Restore.

🔎 Event ids the sensor makes up (#86)

Small models invent event names (jealousy, check_on_her). A close name now counts as the known event (jealous_scene, checked_on_her); a name nobody can place is counted across chats and listed in Dashboard settings, Event vocabulary, under Not recognised, where you can Add as event or Ignore it. A "significant" event that comes with no quote from the text now counts as a routine one, and the Dashboard says how many.

Also

  • The sensor prompt changed (it asks for a kind and steps); a stored copy of the previous default follows the update. A copy you changed stays as it is.
  • Threads, steps and the Story, move texts say quests everywhere, in English and Ukrainian.

Get it

Run from source with Molfar-Vertep.bat (latest release tag), or download the archive for your system from the assets below. The quests arrive as an app update through the Updates panel. The full list of changes is in CHANGELOG.md.

Molfar.Vertep 1.3.4

Choose a tag to compare

@github-actions github-actions released this 23 Oct 18:27

🧾 Molfar Vertep 1.3.4

Groups are easy to find now, and Roleplay stops reloading its whole window for no reason. The Groups section is Roleplay 4.64.0, which comes as an app update; the reload fix is in the engine.

👥 Groups have their own section

Groups used to hide behind a Characters | Groups switch inside Characters. Now they have their own place in the menu, right after Characters; on a phone it is in More. Characters lists only single characters and has a New character button; Groups lists your groups and has New group. Opening a group from a chat (edit the group, open a member) takes you to the right section. The icons tell them apart: one person for Characters, three for Groups. The guide's Groups tips and "Show me" point at the new section.

🔁 No more surprise reloads (#83)

At start and about once an hour, Roleplay could reload its whole window with "Reloaded: live editing could not patch a change in place", sometimes two or three times in a row. On Windows the file watcher also reports files that nobody wrote: indexers, antivirus, backup and sync tools touch their attributes or access times. One such event on index.html or bun.lock made the in-browser builder run a full build, and every open page reloaded. The engine now remembers each build source's size and modification time, and passes a change on only when one of them actually moved. A real edit, a new file, a deleted or renamed one still updates the open app as before.

Get it

Run from source with Molfar-Vertep.bat (latest release tag), or download the archive for your system from the assets below. The Groups section arrives as an app update through the Updates panel. The full list of changes is in CHANGELOG.md.

Molfar.Vertep 1.3.3

Choose a tag to compare

@github-actions github-actions released this 23 Oct 15:47
0b3fd82

🧾 Molfar Vertep 1.3.3

Molfar works in several chats at once, tells you when you are away, can tidy your chats, and asks a model again when its connection drops. This is an engine release: Roleplay is unchanged.

🧵 Several chats at once (#69)

New chat, or opening another chat, no longer stops a run: it goes on in the background, and opening the chat again shows its text as it is written. In the chat list a chat that is not open has a mark: a spinner while it works, an amber ? when it waits for your answer, a green check when it finished while you were elsewhere (until you open it). A strip under the header names those chats, so a question that waits is not missed on a phone, where the list is behind the drawer. A page opened in the middle of a run (a reload, another tab) shows the run as working and its message.
The engine refuses a second run in a chat that is already working (a message there is a correction) and the deletion of a working chat. There is no limit on parallel runs: a rate-limited free model shows its own error in that chat.

Chats that share files know about each other. When Molfar's file tools change a file that another chat, still working, changed too, the tool's result says so: which task, how long ago, and the git log to look at. Nothing is added to the prompt. Changes made through shell commands are not tracked.

🔔 Notifications

When you are not looking at Molfar (another window or tab, a minimized browser, or another Molfar Vertep app in front), the browser shows a notification when Molfar asks you something, finishes in a chat, stops with an error, or a chat you are not in begins to wait for your answer. A click brings the window forward and opens that chat. On by default for each browser; the browser asks for its permission at your first click in the shell or in Molfar's page. Settings → Molfar → Notifications has the switch, the permission state and Send a test. The Android app does not show them (its web view has no notifications API).

🗂️ Molfar looks after your chats

A new chats tool: ask Molfar to list your chats (by words in the title, or the ones not used for a month), archive or bring back, rename, move into a project or out of one, or delete. Delete always shows a card with the names and dates and waits for your Delete; it never touches the chat the request came from or a chat that is working. The tool stays hidden until needed, so it takes no room in the prompt. Also closed: Molfar's file tools could overwrite a chat transcript in agent/ (outside git, no way back); agent/ is now read-only for them.

🔌 A dropped model connection is asked again

A free provider closing the socket on a long chat ended the run with "The socket connection was closed unexpectedly. For more information, pass verbose: true…". The call is now asked again up to three times (after 2, 6 and 15 seconds); the words the broken call had written are taken back and a note says why the page waits. If all tries fail, the error says in plain words that the connection closed and what to do: send again, compact the chat, or pick another model.

✅ Apply proposal

The button under a reply shows only in Plan mode, where Molfar proposes and changes nothing, and pressing it leaves Plan mode before it sends the message.

Known

  • After a reload in the middle of a run, the reply shows only the words streamed since the reload until the run ends.
  • A mark in the chat list moves the title about 20 px.
  • A background chat is stopped by opening it; there is no Stop button on its row.
  • If the browser does not ask for the notification permission, press Send a test in Settings.

Get it

Run from source with Molfar-Vertep.bat (latest release tag), or download the archive for your system from the assets below. The full list of changes is in CHANGELOG.md.

Molfar.Vertep 1.3.2

Choose a tag to compare

@github-actions github-actions released this 23 Oct 08:44

🧾 Molfar Vertep 1.3.2

A new chat header, a tidier card editor on a phone, lorebooks you can tell apart, and a Story record settings page you can read. All of it is Roleplay 4.63.0, which comes as an app update; the engine itself has no code change in this release.

🧭 The chat header (#109)

The tools you reach for while playing moved out of the three-dots menu into the header: Note, Lore, Record and World, each coloured, each with its state at a glance: a dot when the author's note has text, how many lorebook entries fired on the last scan, how many chapters the story record has, and the World DM's status. A dashed ~N tok button opens the "What this chat carries" panel; the strip of chips under the header is gone. On narrower windows the buttons keep icons and counters, and below that they go back into the More menu. On a phone the same four are coloured tiles at the top of the chat Menu. The preset, persona and model switch is unchanged.

📚 Lorebooks (#63)

Every book in the list has an icon for how it is tied to cards: the card's own book, a book shared by cards, or a book no card uses (global books keep their globe). The filter has the same icons and a new split: Global, Own to a card, Shared by cards, Not linked. The list is wider, the book name has its own row, Import is a button next to New instead of hiding in the menu, and a book can now be exported as JSON (importable again).

🪪 The card editor on a phone (#63)

The header is three rows instead of a pile of chips: who it is and Chat; three coloured tiles with the card's tokens, permanent tokens and chats; and one row of icon tools. The chats tile (and the "N chats" badge on desktop) opens your Chats list narrowed to that card. The portrait on Core is smaller and sits beside Name and Tags. While you have unsaved changes, Chat turns into an outline button so Save changes is the one filled button.

📖 Story record (Litopys) settings

The settings are seven bordered blocks with a short title and one line of what each is for: Record, In the prompt, Writing the record, Arcs, Skills, Notices and Facts. Nothing was renamed or changed in what it does.

🔦 "Show me" in What's new and Help (#87)

The button no longer promises a place it cannot open: for a tip about a chat when you have no chat yet, a line says so instead. A tip that needs an open chat opens your newest chat rather than the chat list, and the guide waits for its target (the chat menu, the Dashboard, a book or preset) instead of giving up after a fixed half second, so a slow phone gets there too.

🎨 One primary colour (#63)

New character on Home is the same primary colour as every other main button; the separate red variant is gone.

Other changes

  • Guide tips that pointed at the chat menu now point at the header, and a What's new tip announces the header.
  • Author's note, Lorebook activity, Story record and World DM are also in the More menu when the header is too narrow for them.

Known

On a phone, the What's new card overlapping the Achievements card on Home and the rail target inside More (#87) were not re-checked in this release.

Get it

Run from source with Molfar-Vertep.bat (latest release tag), or download the archive for your system from the assets below. Everything above arrives as an app update through the Updates panel. The full list of changes is in CHANGELOG.md.

Molfar.Vertep 1.3.1

Choose a tag to compare

@github-actions github-actions released this 23 Oct 06:13
d432da1

🧾 Molfar Vertep 1.3.1

Narrator cards with several characters work, the Dashboard has colour, and every import shows its progress. All of it is Roleplay 4.62.0, which comes as an app update; the engine itself has no code change in this release.

🎭 A card with several characters (#115)

Open a narrator card → Profile → Structure it. It now finds every named character in the Description (blocks like [Name …]), files the first as the profile and the others as the cast, and shows how many it found before anything changes. A long card read in parts keeps one profile per character across the parts. Fill empty now works on every character, not only the first: type the character's first name in Identity and it finds them in the text by that name. If the model's window is not known, the card is read in parts of about 6k tokens: raise Card text per call in the card's task panel if your model takes more (the panel now says so).

🎨 Dashboard colours

Each block sits on a tinted title bar with an icon: blue for the scene, violet for people, green for memory, pink for plot. Marks carry their meaning: an event's weight (pivotal is red, significant amber), what kind it is, how a note is known (saw, heard, guess), what was said (threat red, vow green) and a character's class. The tints sit over your theme's own colours.

📊 Import progress (#116)

Importing characters, presets, lorebooks, personas, regex scripts, chats, a backup or a card from a link now shows a card at the bottom: the file, the step, "3 of 12", a bar, and Cancel, which stops before the next file (what is imported stays). At the end it says "Imported 30 of 31" and lists the files that failed. One big file shows its steps instead of a made-up percent; a card downloaded from a link moves with the bytes it has read.

Known

The card Memory tab's import dialog and the percent inside a single big preset or chat are not covered by the progress card yet (#116).