OpenClaw SoundCloud Plugin
!Sound Cloud 
OpenClaw plugin that registers a soundcloud agent tool.
The tool downloads a SoundCloud URL with x3x3n0m0rph/soundcloud-dl and returns the path to the downloaded audio file.
Requirements
- Node.js 22 or newer.
soundcloud-dlavailable inPATH, unlessdownloaderCommandis configured.
The upstream README shows this CLI shape:
<binary> <url> [flags]
and this download directory flag:
<binary> <url> --download-path <dir>
Install from source:
go install github.com/x3x3n0m0rph/soundcloud-dl@latest
Install
From this repository:
npm install
openclaw plugins install -l .
openclaw plugins enable openclaw-soundcloud-plugin
Restart the OpenClaw Gateway after enabling or changing plugin config.
Configure
Minimal config:
{
plugins: {
entries: {
openclaw-soundcloud-plugin: {
enabled: true,
config: {}
}
}
}
}
With optional plugin options:
{
plugins: {
entries: {
openclaw-soundcloud-plugin: {
enabled: true,
config: {
downloadFolder: "/tmp/openclaw/plugins/openclaw-soundcloud-plugin",
force: false,
socksProxy: null
}
}
}
}
}
Tool Parameters
soundcloud accepts:
url: SoundCloud URL to download.timeoutSeconds: optional timeout for the download command.
Example agent tool call payload:
{
"url": "https://soundcloud.com/artist/track",
"message": "Track from SoundCloud"
}
Downloader Command
By default the plugin runs:
soundcloud-dl <url> --download-path <temp-media-dir> [--force] [--socks-proxy <proxy>] --best
<temp-media-dir> is a unique directory created for each tool call under tempRoot. If tempRoot is not configured, the plugin uses the OS temp directory and creates directories like:
%TEMP%/openclaw-soundcloud/media-...
The plugin recursively scans that per-call directory and returns the newest completed file path.
You can replace downloaderArgs in plugin config. Arguments are passed directly to the downloader process after URL and --download-path; no shell string is built.
downloaderForce and downloaderSocksProxy map directly to the corresponding CLI flags from your fork.
Security Notes
- The plugin only allows
soundcloud.com,on.soundcloud.com, andm.soundcloud.comby default. - Commands are launched through the OpenClaw system runtime helper rather than direct process spawning.
- Downloaded files are stored in an isolated per-call directory under
tempRoot.
Development
npm install
npm run check
npm run pack:dry
License
MIT










