Skill: Deluge API
SkillDev toolsDeluge Web JSON-RPC and core RPC reference covering session login, web methods, and commonly used core torrent operations.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Skill: Deluge API skill
What this skill tells your AI
The instructions your AI receives, as published by tympanix/electorrent in .agents/skills/deluge-api/SKILL.md and read by ahel’s review.
Purpose
Use this skill when you need to integrate with Deluge Web or reason about Deluge RPC calls exposed through the Web UI.
Protocols
Web API
- Endpoint:
/json - Spec: JSON-RPC v1-style request body
- Typical request body:
{
"method": "web.update_ui",
"params": [["name", "progress"], {}],
"id": 1
}
- File uploads are sent to
/upload
Core daemon RPC
DelugeRPC is the daemon/client wire protocol. Messages are zlib-compressed, rencode-encoded payloads.
- Request:
[[request_id, method, [args], {kwargs}], ...] - Response:
[message_type, request_id, [return_value]] - Error:
[message_type, request_id, exception_type, exception_msg, traceback] - Event:
[message_type, event_name, data]
The Web UI exposes many core methods directly through the JSON endpoint, so callers often use JSON requests with core.*, auth.*, and web.* method names.
Session flow
Typical Web UI flow:
auth.login(password)web.get_hosts()web.connect(host_id)- Use
web.*andcore.*methods against the connected daemon
Main Web methods
| Method | Parameters | Purpose |
|---|---|---|
web.add_host | host, port, username='', password='' | Add daemon to host list |
web.edit_host | host_id, host, port, username='', password='' | Edit host entry |
web.remove_host | host_id | Remove host entry |
web.get_hosts | none | Return configured hosts |
web.get_host_status | host_id | Get daemon status |
web.connect | host_id | Connect Web UI to a daemon |
web.connected | none | Check connected state |
web.disconnect | none | Disconnect current daemon |
web.get_events | none | Drain queued events |
web.register_event_listener | event | Subscribe to event queue |
web.deregister_event_listener | event | Remove subscription |
web.get_config | none | Read Web UI config |
web.set_config | config | Update Web UI config |
web.set_theme | theme | Change theme |
web.get_plugins | none | Available/enabled Web UI plugins |
web.get_plugin_info | name | Plugin details |
web.get_plugin_resources | name | Plugin resource files |
web.upload_plugin | filename, path | Upload plugin |
web.download_torrent_from_url | url, cookie=None | Download torrent to temp path |
web.get_magnet_info | uri | Parse magnet metadata |
web.get_torrent_info | filename | Inspect torrent file on disk |
web.get_torrent_files | torrent_id | Torrent files tree |
web.get_torrent_status | torrent_id, keys | Selected torrent fields |
web.update_ui | keys, filter_dict | Incremental UI snapshot |
web.add_torrents | [{path, options}] | Add uploaded/downloaded torrent files |
Core methods commonly used through Web API
| Method | Parameters | Purpose |
|---|---|---|
core.get_config_values | [keys] | Read daemon config such as download_location |
core.resume_torrent | [hashes] | Resume torrents |
core.pause_torrent | [hashes] | Pause torrents |
core.force_recheck | [hashes] | Recheck torrents |
core.remove_torrent | [hash, remove_data] | Remove torrent, optionally deleting data |
core.queue_up | [hashes] | Move up in queue |
core.queue_down | [hashes] | Move down in queue |
core.queue_top | [hashes] | Move to top |
core.queue_bottom | [hashes] | Move to bottom |
Important request and response details
web.connect(host_id)returns the list of methods the daemon supportsweb.update_ui(keys, filter_dict)returns torrent/UI data keyed by torrent hashweb.add_torrents()expects uploaded files to be referenced by temporarypathweb.download_torrent_from_url()returns the temporary filename to pass intoweb.add_torrents()web.get_torrent_info()returnsname,files_tree, andinfo_hash
Common options for web.add_torrents
Common per-torrent options include:
download_locationfile_prioritiesadd_pausedcompact_allocationmax_connectionsmax_download_speedmax_upload_slotsmax_upload_speedprioritize_first_last_pieces
Electorrent usage
Electorrent uses:
auth.loginweb.get_hostsweb.connectweb.update_uiweb.download_torrent_from_urlweb.add_torrentscore.get_config_valuescore.resume_torrentcore.pause_torrentcore.force_recheckcore.remove_torrentcore.queue_up,core.queue_down,core.queue_top,core.queue_bottom
References
Signals
- GitHub stars
- 1k
- Forks
- 98
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
deluge-api- Source
- github.com/tympanix/electorrent