- **Help Agent** — A new agent that answers questions about Talemate itself — settings, agents, clients, the world editor — grounded in the bundled documentation, and able to change agent and application settings on request. - **Timeline Rollback** — Scrub a slider across a scene's automatic version history, preview the message history at any revision, then roll the scene back in place or fork the revision into a new save. - **Pi Bridge Client** — A new client type that drives generations through the pi coding agent's headless RPC mode, making any model pi can reach usable in Talemate. - **Application Settings** — Settings move out of their modal into an always-available Settings tab, with a single topic-grouped sidebar, a settings search, all API keys on one page, and unsaved-change tracking. - **Scene Library** — The home screen is rebuilt as a full-page landing view with a file-tree scene library, cover thumbnails and per-save metadata, scene and save deletion, and a drag-and-drop import dropzone. - **Fast Character Creation** — Generate a character in a single request instead of one prompt per aspect, with a Consolidate multi-select, a token budget, and a Fill in misses pass. Off by default. - **Scene Backdrop** — Set any scene illustration as a backdrop filling the scene view behind the messages, saved with the scene, with configurable text legibility and an Immersive quick-toggle. - **Scene Visual Manager** — World Editor → Scene gains a Visuals tab to browse, upload, generate and delete the scene's backgrounds and illustrations, and set the cover image and backdrop. - **Visual Prompt Finalization** — Post-processing actions — match and replace, or a free-form AI instruction — rewrite image prompts right before they reach the image backend, with per-scene and per-character overrides and reusable template sets. - fixes #271 - fixes #275 Plus 25 improvements and 39 bug fixes — see [CHANGELOG.md](https://github.com/vegu-ai/talemate/blob/prep-0.39.0/CHANGELOG.md#0390) for the full list.
11 KiB
World State Agent Nodes
World state operations through the world state agent: advance time, run character progression, evaluate queries, extract character sheets and emit the world state to the frontend.
13 nodes.
| Node | Registry path |
|---|---|
| Advance Time | agents/world_state/AdvanceTime |
| Character Progression | agents/world_state/CharacterProgression |
| Deactivate Character | agents/world_state/DeactivateCharacter |
| Determine Character Avatar | agents/world_state/determineCharacterAvatar |
| Determine Character Presence | agents/world_state/DetermineCharacterPresence |
| Emit World State | agents/world_state/EmitWorldState |
| Evaluate Query | agents/world_state/EvaluateQuery |
| Extract Character Sheet | agents/world_state/ExtractCharacterSheet |
| Request World State | agents/world_state/RequestWorldState |
| Worldstate Settings | agents/world_state/Settings |
| State Reinforcement | agents/world_state/StateReinforcement |
| Wsh Advance Time | agents/world_state/wshAdvanceTime |
| Wsh Determine Avatar | agents/world_state/wshDetermineAvatar |
Advance Time
agents/world_state/AdvanceTime
Advances the scene time by the given ISO 8601 duration. Pushes a TimePassageMessage to the scene history, emits it to the UI and fires the time passage signal (which other agents may react to, e.g. to narrate the time passage using the narration instructions).
Inputs
| Input | Type | Description |
|---|---|---|
state |
any |
The graph state |
duration |
str |
The duration to advance as an ISO 8601 duration (e.g. "PT1H") |
narration_instructions |
str |
Instructions for narrating the time passage (optional) |
Outputs
| Output | Type | Description |
|---|---|---|
state |
any |
The state input, passed through |
duration |
str |
The duration of the emitted message |
narration_instructions |
str |
The narration instructions, passed through |
message |
message |
The TimePassageMessage that was added to the history |
Properties
| Property | Type | Default | Description |
|---|---|---|---|
narration_instructions |
str |
"" |
The instructions for the narration |
duration |
str |
"P0T1S" |
The duration to advance |
Character Progression
agents/world_state/CharacterProgression
Determines character development (new, updated or removed attributes, description updates) via the world_state agent and processes the resulting proposals. With as_suggestions enabled the proposals are added to the world state manager as suggestions for the user to review; otherwise they are applied to the character directly.
Inputs
| Input | Type | Description |
|---|---|---|
state |
any |
The graph state |
character |
character |
The character to progress |
instructions |
str |
(optional) Instructions guiding the development (required at runtime despite the optional socket) |
Outputs
| Output | Type | Description |
|---|---|---|
state |
any |
The state input, passed through |
calls |
list |
The list of proposal calls that were generated |
Properties
| Property | Type | Default | Description |
|---|---|---|---|
as_suggestions |
bool |
False |
Whether to return the result as suggestions |
instructions |
text |
"" |
Instructions for the character progression |
Deactivate Character
agents/world_state/DeactivateCharacter
Deactivates a character from the world state.
Inputs
| Input | Type | Description |
|---|---|---|
state |
any |
The current state of the graph |
character |
character |
The character to deactivate |
Outputs
| Output | Type | Description |
|---|---|---|
state |
any |
The updated state |
Determine Character Avatar
agents/world_state/determineCharacterAvatar
Node module (base type core/Graph) defined in src/talemate/agents/world_state/modules/determine-character-avatar.json.
Inputs
| Input | Type | Description |
|---|---|---|
state |
any |
|
character |
character |
|
content |
str |
|
force_regenerate |
bool |
(optional) |
force_determine |
bool |
(optional) |
asset_ctx |
asset_attachment_context |
(optional) |
Outputs
| Output | Type | Description |
|---|---|---|
state |
any |
|
character |
character |
|
content |
str |
|
force_regenerate |
bool |
|
asset_id |
str |
|
force_determine |
bool |
|
asset_ctx |
asset_attachment_context |
Determine Character Presence
agents/world_state/DetermineCharacterPresence
Determines whether a character is present (and active) or leaving the current scene.
Mode is controlled via the check property:
- present: calls world_state.is_character_present(character.name)
- leaving: calls world_state.is_character_leaving(character.name)
Inputs
| Input | Type | Description |
|---|---|---|
state |
any |
The current graph state |
character |
character |
The character to check |
Outputs
| Output | Type | Description |
|---|---|---|
yes |
bool |
True if the condition is met |
no |
bool |
True if the condition is not met |
Properties
| Property | Type | Default | Description |
|---|---|---|---|
check |
str |
"present" |
Which condition to check. Choices: present, leaving. |
Emit World State
agents/world_state/EmitWorldState
Re-emits the scene's current world state to the frontend so the world state UI refreshes. Does not regenerate or update the world state.
Inputs
| Input | Type | Description |
|---|---|---|
state |
any |
The graph state |
Outputs
| Output | Type | Description |
|---|---|---|
state |
any |
The state input, passed through |
Evaluate Query
agents/world_state/EvaluateQuery
Evaluates a query on the world state.
Inputs
| Input | Type | Description |
|---|---|---|
state |
any |
The current state of the graph |
query |
str |
The query to evaluate |
context |
str |
The context to evaluate the query in |
Outputs
| Output | Type | Description |
|---|---|---|
state |
any |
The current state |
result |
bool |
The result of the query |
Properties
| Property | Type | Default | Description |
|---|---|---|---|
query |
str |
unset |
The query to evaluate |
Extract Character Sheet
agents/world_state/ExtractCharacterSheet
Attempts to extract an attribute based character sheet from a given context for a specific character.
Additionally alteration instructions can be given to modify the character's existing sheet.
Inputs
| Input | Type | Description |
|---|---|---|
state |
any |
The current state of the graph |
character_name |
str |
The name of the character to extract the sheet for |
context |
str |
The context to extract the sheet from |
alteration_instructions |
str |
(optional) Instructions to alter the character's sheet |
Outputs
| Output | Type | Description |
|---|---|---|
character_sheet |
dict |
The extracted character sheet (dict, empty if the model produced nothing) |
Request World State
agents/world_state/RequestWorldState
Requests the current world state.
Inputs
| Input | Type | Description |
|---|---|---|
state |
any |
The current state of the graph |
Outputs
| Output | Type | Description |
|---|---|---|
state |
any |
The current state |
world_state |
dict |
The current world state |
Worldstate Settings
agents/world_state/Settings
Base node to render world_state agent settings.
Every setting of the world_state agent is exposed as an output socket named after the setting - see the agent's documentation under Agents for what each setting does.
State Reinforcement
agents/world_state/StateReinforcement
Sets up (or updates) a tracked state reinforcement for a character or the world in general. Adds the reinforcement to the scene's world state, then immediately runs an update, producing a reinforcement message.
Inputs
| Input | Type | Description |
|---|---|---|
state |
any |
The current state of the graph |
query_or_detail |
str |
The question or detail to track |
character |
character |
(optional) The character to track the state for (optional; when omitted the state is tracked for the world in general) |
instructions |
str |
Additional instructions for the reinforcement (optional) |
Outputs
| Output | Type | Description |
|---|---|---|
state |
any |
graph state |
message |
message |
state reinforcement message |
reinforcement |
world_state/reinforcement |
the reinforcement that was added or updated |
Properties
| Property | Type | Default | Description |
|---|---|---|---|
query_or_detail |
str |
"" |
Query or detail to reinforce |
instructions |
text |
"" |
Instructions for the reinforcement |
interval |
int |
10 |
Interval for reinforcement. Min: 1. |
insert_method |
str |
"sequential" |
Method to insert reinforcement. Choices: sequential, conversation-context, all-context, never. |
reset |
bool |
False |
If the state should be reset |
Wsh Advance Time
agents/world_state/wshAdvanceTime
Node module (base type agents/AgentWebsocketHandler) defined in src/talemate/agents/world_state/modules/wsh-advance-time.json.
Outputs
| Output | Type | Description |
|---|---|---|
fn |
function |
|
name |
str |
|
allow_multiple_calls |
bool |
|
ai_callback |
focal/callback |
Properties
| Property | Type | Default | Description |
|---|---|---|---|
name |
str |
"advance_time" |
The name of the handler |
agent |
str |
"world_state" |
The agent to register the handler on. Choices are generated at runtime. |
Wsh Determine Avatar
agents/world_state/wshDetermineAvatar
Node module (base type agents/AgentWebsocketHandler) defined in src/talemate/agents/world_state/modules/wsh-determine-avatar.json.
Outputs
| Output | Type | Description |
|---|---|---|
fn |
function |
|
name |
str |
|
allow_multiple_calls |
bool |
|
ai_callback |
focal/callback |
Properties
| Property | Type | Default | Description |
|---|---|---|---|
name |
str |
"determine_avatar" |
The name of the handler |
agent |
str |
"world_state" |
The agent to register the handler on. Choices are generated at runtime. |