Skip to main content

Plugins

Plugins extend the Gateway with trusted code. They can add channel runtimes, model-provider auth flows, Agent tools, slash commands, skills, hooks, and Gateway RPC methods. Use plugins when a feature needs runtime code that is not part of the core Gateway. Use Agent > Skills when you only need instructions. Use Agent > Services when you only need credentials for an existing service.

Where Plugin Setup Lives

NeedUse
Install, enable, disable, update, inspectExtensions or fased plugins ...
Channel account setupAgent > Channels
Agent tool allow/denyAgent > Tools
Skill access and dependency setupAgent > Skills
Provider sign-in/API keyAgent > Models
Raw plugin configAdvanced > Config when no focused UI exists
Plugins are runtime extensions. They do not automatically grant a selected Agent permission to use every tool, skill, channel, or wallet-related path they expose.

Install And Enable

List plugins:
fased plugins list
Install an external package:
fased plugins install @fased/voice-call
Install from a local checkout:
fased plugins install ./extensions/voice-call
Enable or disable:
fased plugins enable voice-call
fased plugins disable voice-call
Restart the Gateway after changing runtime plugin state.

What A Plugin Can Provide

CapabilityExampleUser setup surface
Channel runtimeZalo Personal, external chat adaptersAgent > Channels
Agent toolworkflow helper, voice-call toolAgent > Tools
Skill packplugin-owned skills/<name>/SKILL.mdAgent > Skills
Provider authOAuth or token setup for a model providerAgent > Models
Gateway methodpluginId.status, pluginId.actionPlugin-specific docs / CLI
Slash command/plugin-command ... without a model turnChat/channel command surface
Hooklifecycle/event hook registered by pluginPlugin lifecycle, not Hooks UI
Channel plugins put account config under channels.<id>, not plugins.entries.<id>.config, because Channels owns account setup and routing. Agent tools registered by plugins still require Agent tool policy. Skills shipped by plugins still require Agent skill access. Wallet, mining, marketplace, and node actions keep their own approval gates.

Manifest Requirement

Every plugin must ship fased.plugin.json in the plugin root. The manifest lets Fased validate plugin config without executing plugin code. Minimal manifest:
{
  "id": "my-plugin",
  "configSchema": {
    "type": "object",
    "additionalProperties": false,
    "properties": {}
  }
}
Read the full reference in Plugin manifest.

Built-In Examples

OpenProse

Markdown-first workflow programs and an optional skill pack.

Voice Call

Outbound and inbound call workflows through a trusted plugin.

Zalo Personal

Personal Zalo channel runtime backed by the bundled extension.

Community Plugins

Listing requirements and third-party plugin quality bar.

Safety

Plugins run in the Gateway process. Treat them as trusted code.
  • Install plugins only from sources you trust.
  • Prefer plugins.allow allowlists for non-bundled plugins.
  • Keep plugin dependency installs pinned and reviewed.
  • Do not use a plugin to bypass Agent tool policy, wallet approvals, mining controls, marketplace authority, or channel access policy.
  • Missing or invalid manifests should block config validation.

Developer References