Skip to main content
Aether Script Mod API v2 provides high-level APIs to integrate with Aether’s native UI:
  • registerSettings — add a native settings page to the Settings hub.
  • registerComposerMenuItem — add custom action items to the composer plus menu.
  • registerMessageType — define custom message renderers rendered natively in the chat timeline.

Settings pages (registerSettings)

registerSettings (aliased as registerSettingsPage) adds a settings page to the dedicated Extensions section in Aether’s Settings hub. The host renders the page using Aether’s built-in settings UI scaffold (cards, spacing, typography, and controls); extensions specify the data model only.

API signature

Returns a cleanup function that removes the settings page.

Definition schema

Supported control types

Each setting in sections[].settings can specify a control type:

Automatic state persistence

Value controls (text, password, textarea, number, toggle, select, segmented, tab, slider) automatically persist their values in extension storage under settings:<pageId>:<settingId>.

Settings page example


Composer menu items (registerComposerMenuItem)

registerComposerMenuItem (aliased as registerComposerMenu) adds a custom action entry to the composer plus menu.

API signature

Example


Custom message types (registerMessageType)

registerMessageType (aliased as registerCustomMessage) registers a custom message renderer. When a message with matching type is appended to the conversation via aether.messages.append(type, payload, text), Aether renders it using your custom declarative UI tree.

API signature

Example

Custom messages are persisted with the conversation and re-rendered whenever the chat is loaded.