Files
talemate/docs/user-guide/node-editor/reference/nodes/agents-director-chat.md
veguAI cc28def7c6 0.39.0 (#274)
- **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.
2026-08-29 13:21:22 +03:00

12 KiB

Director Chat Nodes

Plumbing for the director chat: build the chat context, define action arguments, confirm actions and run sub-actions, plus the context/query modules the chat uses to look things up.

13 nodes.

Node Registry path
Director Action Argument agents/director/chat/ActionArgument
Director Action Confirm agents/director/chat/ActionConfirm
Agent Report Issue agents/director/chat/agentReportIssue
Character Context agents/director/chat/characterContext
Character Names Context agents/director/chat/characterNamesContext
Direct Context Update agents/director/chat/directContextUpdate
Director Agent Retrieve Context agents/director/chat/directorAgentRetrieveContext
Director Chat Sub Action agents/director/chat/DirectorChatSubAction
Get Director Chat Context agents/director/chat/GetDirectorChatContext
Query Game State agents/director/chat/queryGameState
Query Scene Direction agents/director/chat/querySceneDirection
Query World Information agents/director/chat/queryWorldInformation
Toggle Character agents/director/chat/toggleCharacter

Director Action Argument

agents/director/chat/ActionArgument

Declares an argument for a director chat action. Place it inside a DirectorChatAction graph to define one named, typed argument the director can pass when invoking the action; the instructions describe the argument to the director in the action prompt.

Outputs

Output Type Description
value any The argument's value (available while the action executes)

Properties

Property Type Default Description
name str unset The name of the argument
typ str "str" The type of the argument. Choices: str, int, float, bool, list, any.
instructions text "" The instructions for the argument

Director Action Confirm

agents/director/chat/ActionConfirm

Asks the user to confirm a director action before it proceeds. Only active when the current director chat context requires confirmation for write actions - otherwise the state passes straight through as accepted. When active, the node emits a confirmation request to the frontend and blocks until the user responds, the scene ends, or the configured timeout is reached (timeouts and scene shutdown count as rejections).

On acceptance the state is passed to the accepted output; on rejection it is passed to the rejected output instead - unless raise_on_reject is set (the default), in which case an ActionRejected error is raised and aborts the action.

Inputs

Input Type Description
state any The state to gate on user confirmation
name str The name of the action to confirm (optional)
description str The description of the action to confirm (optional)

Outputs

Output Type Description
accepted any The state input, set when the action was confirmed
rejected any The state input, set when the action was rejected
rejected_message str A message describing the rejection (only set on rejection)

Properties

Property Type Default Description
name str "" The name of the action
description text "" The description of the action
raise_on_reject bool True Whether to raise an error if the action is rejected

Agent Report Issue

agents/director/chat/agentReportIssue

Node module (base type core/functions/Function) defined in src/talemate/agents/director/modules/agent-report-issue.json.

Outputs

Output Type Description
fn function
name str
allow_multiple_calls bool
ai_callback focal/callback

Properties

Property Type Default Description
name str "report_problem" The name of the function
allow_multiple_calls bool True Function can be called multiple times during AI Function Calling

Character Context

agents/director/chat/characterContext

Node module (base type core/Graph) defined in src/talemate/agents/director/modules/character-context.json.

Inputs

Input Type Description
character character

Outputs

Output Type Description
character character
character_context list

Character Names Context

agents/director/chat/characterNamesContext

Node module (base type core/Graph) defined in src/talemate/agents/director/modules/character-names-context.json.

Inputs

Input Type Description
state any
header str (optional)
character_status any (optional)

Outputs

Output Type Description
state any
dynamic_instruction dynamic_instruction

Direct Context Update

agents/director/chat/directContextUpdate

Node module (base type core/functions/Function) defined in src/talemate/agents/director/modules/direct-context-update.json.

Outputs

Output Type Description
fn function
name str
allow_multiple_calls bool
ai_callback focal/callback

Properties

Property Type Default Description
name str "direct_context_update" The name of the function
allow_multiple_calls bool True Function can be called multiple times during AI Function Calling

Director Agent Retrieve Context

agents/director/chat/directorAgentRetrieveContext

Node module (base type agents/director/DirectorChatAction) defined in src/talemate/agents/director/modules/director-agent-retrieve-context.json.

Outputs

Output Type Description
fn function
name str
allow_multiple_calls bool
ai_callback focal/callback

Properties

Property Type Default Description
name str "retrieve_context" The name of the action
description text "Instruct another agent to retrieve the complete content of a specific source context ID for you. Only use this if you have obtained such context ids. They ar… The description of the action
instructions text "Use an exact source context ID to retrieve the content of the source. Source context IDs are always formatted like this: {context_type}:{context_id}" The instructions for the action
example_json text "[ { "context_id": "context_type:context_id" } ]" An example JSON payload for the action
allow_concurrent bool False Whether the action can be called concurrently

Director Chat Sub Action

agents/director/chat/DirectorChatSubAction

Declares a sub-action inside a DirectorChatAction graph. Its properties describe one concrete operation the director can perform and are extracted statically (without running the graph) to advertise the sub-action in chat and scene direction prompts and in the enable/disable UI. At runtime the node acts as a gate: it evaluates the optional condition function and the gating rules (availability vs. current mode, force_enabled, per-scene disabled list) and only passes state through when the sub-action is enabled - otherwise the state output stays unresolved and the downstream branch is skipped.

Inputs

Input Type Description
state any (optional) State to pass through when the sub-action is enabled
condition function (optional) Optional function; if it returns falsy the sub-action is neither advertised nor executed

Outputs

Output Type Description
state any The state input, passed through when the sub-action is enabled; stays unresolved when the sub-action is gated off

Properties

Property Type Default Description
group str "" The group of the action
action_id str "" The id of the action
action_title str "" The title of the action
description_chat text "" The description of the action in chat
description_scene_direction text "" The description of the action in scene direction
instruction_examples list [] The examples of the action instructions
availability str "both" Which modes this action is available in. Choices: both, chat, scene_direction.
force_enabled bool False If true, prevents users from disabling this action

Get Director Chat Context

agents/director/chat/GetDirectorChatContext

Exposes the active DirectorChatContext as a dict for graph consumption.

Use this when a graph needs to read flags off the current director chat (e.g. close_arc, chat_id, plan_id) without reaching into Python context. The context output is a plain dict that can be wired into template_vars or inspected directly; fields are added as the DirectorChatContext grows without requiring node socket changes.

When no chat context is active, has_context is False and context is an empty dict.

Inputs

Input Type Description
state any

Outputs

Output Type Description
state any
has_context bool
context dict

Query Game State

agents/director/chat/queryGameState

Node module (base type core/Graph) defined in src/talemate/agents/director/modules/query-game-state.json.

Inputs

Input Type Description
state any
query str

Outputs

Output Type Description
state any
query str
answer str
variables str
formatted str

Query Scene Direction

agents/director/chat/querySceneDirection

Node module (base type core/Graph) defined in src/talemate/agents/director/modules/query-scene-direction.json.

Inputs

Input Type Description
state any
query str

Outputs

Output Type Description
state any
query str
answer str
formatted str

Query World Information

agents/director/chat/queryWorldInformation

Node module (base type core/Graph) defined in src/talemate/agents/director/modules/query-world-information.json.

Inputs

Input Type Description
query str
character character (optional)

Outputs

Output Type Description
answer str
sources str
formatted str

Toggle Character

agents/director/chat/toggleCharacter

Node module (base type core/Graph) defined in src/talemate/agents/director/modules/toggle-character.json.

Inputs

Input Type Description
state any
character character
status str
narrate_instructions str

Outputs

Output Type Description
state any
character character
narrate_instructions str