Plugin System

Extend the Deepgram CLI with community-built plugins.

The dg CLI supports plugins that add new commands and capabilities.

Install a Plugin

dg plugin install <package-name>

Plugin installation follows the CLI installation method. Homebrew and system installations use an isolated plugin environment; other installations may add plugins to the CLI environment.

List Installed Plugins

dg plugin list

Update Plugins

dg plugin update <package-name>

Remove a Plugin

dg plugin remove <package-name>

Example Plugins

Search for available plugins:

dg plugin search <keyword>

Plugin Development

Plugins are Python packages that expose a BaseCommand class through the deepctl.plugins entry-point group:

from typing import Any
from deepctl_core import AuthManager, BaseCommand, Config, DeepgramClient
class MyCommand(BaseCommand):
name = "mycommand"
help = "My plugin command"
requires_auth = False
def handle(
self,
config: Config,
auth_manager: AuthManager,
client: DeepgramClient,
**kwargs: Any,
) -> None:
print("Hello from my plugin!")

Register a Plugin

Add the command to your package’s pyproject.toml:

[project.entry-points."deepctl.plugins"]
mycommand = "my_plugin.command:MyCommand"

Security

  • Plugins run with your user permissions
  • Plugins have access to your API key
  • Only install plugins from trusted sources
  • Review plugin code before installing