Harmony Chat
Developers

Plugins

What the plugin system is, and what it is not.

Plugins add product surfaces — topbar actions, right panels, panel types, slash commands, message marks — and optional backend services, without forking the main Harmony Chat server.

First-party examples ship in the same repository:

PluginAdds
harmony.agentsAgent members, harness sessions, MCP
harmony.tasksTasks and "my day"
harmony.sample.embed-notesMinimal worked example

Trust model

v1 is trusted-only. An operator installs and enables a plugin; there is no public marketplace and no untrusted sandbox. clientEntry scripts load from the same origin or from an explicit origin allowlist.

Not an extension point for untrusted code

A plugin runs with the same trust as the server. Treat installation as you would treat installing a dependency that runs in your process.

Where plugin code runs

PartRuns on
Client moduleEach client (bundled in)
Server moduleThe main server
Worker moduleA worker machine, if present

Client assets are staged into the web app's public/plugins/ at build time; the server discovers installed packages under $HARMONY_HOME/plugins/<id>/.

Next: Plugin authoring.