Skip to main content

Authoring assistant

Select Author world from the world editor. DSH opens a chat named after the world under the World Authoring project and supplies a dedicated agent rather than the general-purpose or roleplay preset.

The assistant can list and read world elements, inspect links and relationships, and propose creating, updating or deleting authored data. Mutation tools write the same files used by the manual editor.

It also reads and changes what the world says about itself in world.json: get_world_info reads it and edit_world_info changes the description, tags, rules, the opening, the other openings, the starting time and time zone, the version and the author. The world's name, its suggested preset and lorebooks, its sampling and its tool switches are yours and the assistant cannot change them. Like every other edit, a change shows each field with its old and new value for approval.

It also reads and writes the world's triggers (what the world does by itself): list_world_triggers and get_world_trigger read them, and write_world_trigger and delete_world_trigger create, replace and remove one by its key. A trigger is read as a story start reads it and refused, with every problem at once, when it is malformed or names a character, place, item, variable or trigger the world does not have; a removed trigger's document is kept in the world's .trash/triggers, and one that other triggers wait for cannot be removed.

Use it for changes that benefit from synthesis across several parts of a world: adding a person who fits an existing faction, finding incomplete connections, turning a premise into a small set of optional beats, or checking whether private knowledge has been placed on the right characters. For precise field edits, the visual editor is usually faster.

Asking about the original card​

A world made by importing a character card keeps that card in its .import folder, and the assistant can read it. Ask where something came from ("Where did Ilsa come from? Was she Bram's sister in the card?") and it looks the card up instead of guessing: card_overview lists everything the card holds and what the import made of each piece, card_search finds a name or phrase, card_read returns a piece word for word (a long one in turns), and card_origin names the pieces a character, place or thing was made from.

The world's own files remain the canon: the card is evidence of where they came from. When the two differ the assistant says so and does not change the world unless you ask. What the import's records say it did is its own judgement and can be wrong, so the assistant is told to check it against the card's text.

The tools exist while the card does. card_diff and card_update_finish serve updating a world from a newer version of its card; while an update is waiting, card_read and card_search also take version: new to read the newer card. Delete the world's .import folder and they report that the world has no source card. The card is licensed content: it stays in the world folder and travels with it when you sync your devices, but nothing the plugin exports or translates carries it.

Research tools​

The world, preset and lorebook assistants can use tools other plugins registered for everyone, such as a web search or an MCP server, so that "use the Honkai Star Rail setting" can be looked up instead of guessed. They have none by default. Tick the tools each assistant may use under Settings → Role Play → Tools for the authoring assistants; a change applies at the assistant's next step, also in a chat that is already open. An assistant sees only the tools ticked for it, so a tool you configured for something else never reaches it. A ticked tool runs without asking you each time, and acts with the permissions its plugin has, so tick only what you are comfortable letting the assistant use. The same list has a fourth entry, the world author during play: the helper that invents a place, a person or a thing a story needs, which can then look something up first (a real place a story visits, a creature from a franchise). It gets a few more calls to use what you ticked. The session doctor never receives any. The other helpers the program starts during play (the import steps, the helpers of the record keeper and the suggestions) have only their own tools, and the game master, the characters and the record keeper take theirs from the story's own Tools switches.

A tool can also be given to one assistant alone by loading the MCP server inside that assistant's preset in the profile's configuration; it is then invisible to everything else.

Approval​

By default every mutation requires approval through DSH's approval flow, and the prompt says what changes: for a replacement, each changed field with its old and new value (for example name “Mara” → “Mara Quill”); for a new document, its name and the fields it fills. A refusal leaves files unchanged. After approval, the tool validates the proposed document and writes it atomically; errors are returned to the chat for correction.

DSH's own approval offers only "allow once" and "reject", with no "always allow". For a large change, such as a rename that touches twenty files, set Changes by the world authoring chat to Make changes automatically under Settings → Role Play → Imports and authoring assistants. The assistant then edits directly, and anything it replaces or deletes is kept in the world's .trash folder. The setting covers every world authoring chat and applies at once; the preset, lorebook and session doctor chats still ask for each change. An import never asks.

Ask for outcomes rather than file operations, for example:

  • “Add a locked archive below the town hall and connect it to the records room.”
  • “Give Mara a distrustful relationship toward Elias, but leave his view of her unchanged.”
  • “Review the first plot and reduce the pressure to advance it.”

Use the shared World tab to inspect the result. The chat and editor operate on the same workspace folder.

A productive workflow​

  1. State the desired outcome and any facts that must remain unchanged.
  2. Ask the assistant to inspect the relevant world elements before proposing edits.
  3. Review each approval request, especially IDs, relationships, placement and private knowledge.
  4. Open the World tab and verify the result in context.
  5. Run a short session before asking for more breadth.

Good requests provide constraints without dictating the storage format:

  • “Add two ways into the archive. One should require the brass key; the other should be risky but possible without it.”
  • “Give the trust a concrete goal for tonight and a reason not to involve the police.”
  • “Check which characters know about the 1891 incident. Do not reveal it to anyone new.”

Avoid asking for a whole setting in one mutation. Smaller approved steps are easier to inspect, produce clearer validation errors and let you correct the direction before the world becomes crowded.

Concurrent editing​

To have the assistant check a world, type /check (or /check-world, /check-card, /check-quality) in its chat; see Checking a world.

The authoring chat and visual editor address the same files, but neither is a collaborative document editor. Finish and review an approved assistant change before making overlapping manual edits. If files were changed outside DSH, refresh the editor before continuing.

The assistant changes authored worlds, not active session databases. Use the session's World tab for deliberate changes to a story already in progress.