通过 JSON‑RPC 2.0 与 aria2 下载管理器交互,使用自然语言命令管理下载、查询状态并控制任务。适用于 aria2、下载管理或种子操作。
此技能是否有效
功能概述
此技能是否有效是一项面向实际任务的技能,主要用于此技能允许您通过自然语言命令控制 aria2 下载管理器;下载文件( HTTP/ HTTP/ FTP/ Magnet/ Torrent/ Metalink).;
核心要点
- Monitor 下载 progres。
- 它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
- 使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。
使用与执行
该技能适合需要稳定复用相关能力的场景,可作为自动化工作流的一部分,也便于后续检查、调整和扩展。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;
结果检查与注意事项
若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
此技能的功能
该技能支持您通过自然语言指令控制 aria2 下载管理器:
- 下载文件(HTTP/HTTPS/FTP/Magnet/Torrent/Metalink)
- 监控下载进度与状态
- 控制下载任务(暂停、恢复、删除)
- 批量操作管理(全部暂停、全部恢复)
- 查看统计信息及配置选项
使用方法(面向 AI Agent)
⚠️ 关键提示:切勿手动构造 JSON-RPC 请求。
✅ 务必使用 scripts/ 目录下的 Python 脚本。
⚠️ 重要提示:请使用 python3 命令,而非 python(尤其在 macOS 上,python 符号链接通常不存在)
标准工作流(必须遵循)
步骤 1:检查配置状态
执行任何 aria2 命令前,务必先验证配置是否就绪:
python3 scripts/config_loader.py test
- 若成功:继续执行用户指令
- 若失败:引导用户初始化配置(见步骤 2)
步骤 2:初始化配置(如需)
若连接测试失败,请引导用户完成配置初始化:
# 推荐方式:用户级配置(可抵御技能更新影响) python3 scripts/config_loader.py init --user # 替代方式:本地配置(项目专属) python3 scripts/config_loader.py init --local
随后指导用户编辑生成的配置文件,填入其 aria2 服务端详细信息。
步骤 3:执行用户指令
配置就绪后,即可执行用户请求的 aria2 操作。
示例工作流
用户:“下载 http://example.com/file.zip”
您执行:
# 1. 检查配置 python3 scripts/config_loader.py test
若测试通过:
# 2. 执行下载命令 python3 scripts/rpc_client.py aria2.addUri '["http://example.com/file.zip"]'
您响应:“✓ 下载已启动!GID: 2089b05ecca3d829”
若测试失败:
配置尚未就绪。请按以下步骤初始化: 1. 运行:python3 scripts/config_loader.py init --user 2. 编辑 ~/.config/aria2-skill/config.json,填入您的 aria2 服务端信息 3. 运行:python3 scripts/config_loader.py test(用于验证)
文档结构
详细执行说明请参阅:
- references/execution-guide.md —— 面向 AI Agent 的完整指南,包含:
- 用户意图与脚本调用映射表
- 参数格式化规则
- 分步示例
- 常见错误规避指南
- 响应格式规范
aria2 方法参考请参阅:
- references/aria2-methods.md —— aria2 RPC 方法的详细文档
常用命令速查表
| 用户意图 | 命令示例 |
|---|---|
| 下载单个文件 | python3 scripts/rpc_client.py aria2.addUri '["http://example.com/file.zip"]' |
| 查询任务状态 | python3 scripts/rpc_client.py aria2.tellStatus |
| 列出当前活跃下载任务 | python3 scripts/rpc_client.py aria2.tellActive |
| 列出已停止下载任务 | python3 scripts/rpc_client.py aria2.tellStopped 0 100 |
| 暂停下载任务 | python3 scripts/rpc_client.py aria2.pause |
| 恢复下载任务 | python3 scripts/rpc_client.py aria2.unpause |
| 显示全局统计信息 | python3 scripts/rpc_client.py aria2.getGlobalStat |
| 显示版本信息 | python3 scripts/rpc_client.py aria2.getVersion |
| 清空下载结果 | python3 scripts/rpc_client.py aria2.purgeDownloadResult |
更多用法及完整命令列表,请查阅 execution-guide.md。
可用脚本列表
scripts/rpc_client.py—— RPC 调用主接口scripts/examples/list-downloads.py—— 格式化输出下载任务列表scripts/examples/pause-all.py—— 暂停全部下载任务scripts/examples/add-torrent.py—— 添加 Torrent 下载任务scripts/examples/monitor-downloads.py—— 实时监控下载状态scripts/examples/set-options.py—— 修改 aria2 配置选项
配置说明
脚本会按以下优先级顺序自动加载配置(由高到低):
配置优先级
环境变量(最高优先级 —— 临时覆盖)
ARIA2_RPC_HOST、ARIA2_RPC_PORT、ARIA2_RPC_PATH等- 适用场景:CI/CD 流水线、临时覆盖、测试
- 注意:仅作参考。AI Agent 应优先使用配置文件方式。
技能目录配置(项目专属配置)
- 路径:
skills/aria2-json-rpc/config.json - 适用场景:项目定制设置、本地测试、开发阶段
- ⚠️ 警告:运行
npx skills add更新技能时该配置将丢失
- 路径:
用户配置目录(全局回退配置,安全更新)🆕
- 路径:
~/.config/aria2-skill/config.json - 适用场景:跨所有项目的个人默认设置
- ✅ 安全可靠:通过
npx skills add更新技能时可保留
- 路径:
默认值(localhost:6800)
- 零配置回退方案,适用于本地开发
配置项说明
- host:主机名或 IP 地址(默认:
localhost) - port:端口号(默认:
6800) - path:URL 路径(默认:
null)。标准 aria2 可设为/jsonrpc;反向代理场景下可指定自定义路径 - secret:RPC 密钥令牌(默认:
null) - secure:启用 HTTPS(默认:
false) - timeout:请求超时时间(毫秒,默认:
30000)
快速配置(面向 AI Agent)
重要提示:始终使用 Python 脚本管理配置,切勿直接执行 shell 命令。
步骤 1:检查当前配置状态
python3 scripts/config_loader.py show
步骤 2:如有需要,初始化配置
用户配置(推荐 —— 抵御更新影响):
python3 scripts/config_loader.py init --user
本地配置(项目专属):
python3 scripts/config_loader.py init --local
步骤 3:引导用户编辑配置文件
初始化完成后,工具将输出配置文件路径。请指导用户编辑该文件,并填入 aria2 服务端信息(host、port、secret 等)。
步骤 4:验证配置
python3 scripts/config_loader.py test
配置文件内容示例:
{
"host": "localhost",
"port": 6800,
"secret": "your-secret-token",
"secure": false,
"timeout": 30000
}
配置管理(面向 AI Agent)
可用于配置管理的 Python 脚本:
# 查看当前配置及其来源 python3 scripts/config_loader.py show # 初始化用户配置(推荐 —— 安全更新) python3 scripts/config_loader.py init --user # 初始化本地配置(项目专属) python3 scripts/config_loader.py init --local # 测试与 aria2 服务端的连接 python3 scripts/config_loader.py test
AI Agent 配置建立工作流:
- 检查配置是否存在:运行
python3 scripts/config_loader.py show - 若配置缺失或无效:引导用户运行
python3 scripts/config_loader.py init --user - 用户编辑配置:告知用户配置文件路径及必需字段(host、port、secret)
- 验证配置:运行
python3 scripts/config_loader.py test - 执行操作:测试通过后,即可执行用户的 aria2 指令
高级配置
反向代理配置:
对于类似 https://example.com:443/jsonrpc 的反向代理场景,配置文件应如下所示:
{
"host": "example.com",
"port": 443,
"path": "/jsonrpc",
"secret": "your-secret-token",
"secure": true
}
环境变量(仅作参考):
配置亦可通过环境变量覆盖:
ARIA2_RPC_HOST:主机名ARIA2_RPC_PORT:端口号ARIA2_RPC_PATH:URL 路径ARIA2_RPC_SECRET:密钥令牌ARIA2_RPC_SECURE:取值为"true"或"false"
注意:配置管理请统一使用 Python 脚本。环境变量仅在此处提供参考,不作为推荐方式。
核心原则(面向 AI Agent)
- 严禁手动构造 JSON-RPC 请求
- 必须通过 Bash 工具调用 Python 脚本,且使用
python3(非python) - 必须在执行命令前检查配置状态:
- 首先运行
python3 scripts/config_loader.py test - 若测试失败,引导用户完成初始化流程
- 首先运行
- 严禁直接执行原始 shell 命令(如 mkdir、cat、export 等)
- 应使用 Python 脚本:
config_loader.py init、config_loader.py show等
- 应使用 Python 脚本:
- 需解析脚本输出并以用户友好的格式呈现
- 存疑时请查阅 execution-guide.md
支持的操作类型
下载管理
- 添加下载任务(HTTP/FTP/Magnet/Torrent/Metalink)
- 暂停/恢复任务(单个或全部)
- 移除下载任务
- 带自定义选项添加任务
监控功能
- 查询下载任务状态
- 列出活跃/等待/已停止任务
- 获取全局统计信息
- 实时监控下载状态
配置管理
- 获取/修改下载任务选项
- 获取/修改全局选项
- 查询 aria2 版本
- 列出可用 RPC 方法
维护操作
- 清空下载结果
- 移除特定下载结果
需要帮助?
- 执行细节: references/execution-guide.md
- 方法参考: references/aria2-methods.md
- 故障排查: references/troubleshooting.md
- aria2 官方文档: https://aria2.github.io/
热门AI工具
相关专题
在JavaScript中实现Base64编码,最直接的方式是使用内置的btoa()函数。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。
379
2025.10.24
在 html 中调用外部 js 可通过以下步骤:创建 js 文件并编写代码。在 html 代码中添加 <script> 标签,设置 src 属性为 js 文件路径。保存并刷新页面加载外部 js。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。
1712
2024.04.11
php和js的区别:PHP主要用于服务器端编程,而JavaScript主要用于客户端编程;PHP代码在服务器端执行,而JavaScript代码在客户端浏览器中执行。想了解更多php和js的相关内容,可以阅读本专题下面的文章。
4828
2024.03.22
在JavaScript中,document对象是一个非常重要的全局对象,它代表整个HTML文档。想了解更多Document的相关内容,可以阅读本专题下面的文章。
6047
2024.03.14
在JavaScript中,并没有一个内建的each函数,但jQuery库提供了一个非常有用的$.each() 函数,用于遍历数组或对象。想了解更多each函数的相关内容,可以阅读本专题下面的文章。
1629
2024.03.13
js和vue的关系:1、js作为web开发基石;2、vue.js作为前端框架的崛起;3、js与vue的互补关系;4、js与vue的实践应用。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。
353
2024.03.11
PHP中文网为大家带来,js实现弹幕功能的方法:1、创建html文件;2、添加html代码架构;3、在body标签中使用div、input、button标签分给页面设计效果显示框、输入框、弹幕提交按钮;4、添加script标签并写入js代码来实现弹幕效果;5、通过浏览器方式查看设计效果即可。希望对大家有所帮助。
2992
2024.03.04
js事件冒泡可以解决的问题:1、简化事件处理逻辑;2、提高事件处理性能;3、实现自定义组件和交互效果;4、控制事件传播方向;5、解决事件覆盖问题;6、实现全局事件监听;7、方便调试和排查问题。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。
2824
2024.02.23
热门下载
相关下载
精品课程
共39课时 | 5.3万人学习
共101课时 | 20.7万人学习
共39课时 | 4.8万人学习
