让 AI 管理你的云盘:OpenList Skill 开源项目分享

当 AI Agent 遇上自建网盘,文件管理变得像对话一样简单。

前言

自建网盘用户大多听过 AList——那个能聚合几十种存储后端的文件列表程序。而 OpenList 作为 AList 的社区分支,在保持 API 兼容的同时,坚持开源治理和社区驱动。

如果你在用 OpenList 或 AList 自建网盘,并且也在用 AI Agent 辅助工作,那今天分享的这个项目可能会让你眼前一亮:OpenList Skill —— 一个让 AI Agent 直接操作你网盘的技能包。

它解决什么问题?

日常使用网盘,我们习惯了打开浏览器 → 登录 → 点击文件夹 → 找文件 → 下载/分享这一串操作。但如果 AI 能直接帮你完成这些事呢?

"帮我找一下云盘里那个报告 PDF" "把备份目录下的照片打包分享链接" "把本地的日志文件上传到云盘的归档目录"

OpenList Skill 就是让这些自然语言指令变成现实。它封装了 OpenList/AList 的完整 HTTP API,提供 21 个命令,覆盖文件浏览、上传下载、搜索、批量重命名、分享管理等场景。

功能全景

📁 文件操作(11 个命令)

命令 做什么 示例
login 登录并保存 token 一次登录,后续自动鉴权
list 列出目录内容 浏览任意文件夹
get 获取文件/目录详情 查看大小、修改时间等
search 搜索文件 关键词模糊查找
mkdir 创建文件夹 新建归档目录
rename 重命名 整理文件命名
move 移动文件 文件归类整理
copy 复制文件 跨目录备份
remove 删除文件 清理过期文件
link 获取下载直链 拿到文件的真实下载地址
upload 上传本地文件 将本地文件推到云端

⚡ 批量操作(2 个命令)

命令 做什么
batch-rename 批量重命名:old1:new1,old2:new2
regex-rename 正则替换重命名:所有 .txt.md

正则重命名是效率神器。比如想把一整季视频文件从 S01E01_1080p.mp4 统一改成 第1集.mp4,一条正则命令搞定。

🔗 分享管理(5 个命令)

命令 做什么
share-list 查看所有分享
share-create 创建分享链接(可设密码、过期时间)
share-get 查看分享详情
share-update 修改分享设置
share-delete 删除分享

分享链接格式为 http://<host>/@s/<id>,创建后直接返回完整链接,一步到位。

🔍 索引管理(4 个命令)

命令 做什么
index-build 全量重建搜索索引(慎重使用)
index-update 增量更新索引
index-clear 清除索引
index-progress 查看索引构建进度

亮点设计

1. 智能搜索:API + 递归遍历双保险

这是我觉得最用心的设计。搜索文件时,Skill 会先尝试 OpenList 的 API 搜索;如果索引未建立或关键词过滤失效(部分存储后端不支持),它会自动降级为递归目录遍历,确保总能找到文件。

# API 搜索优先,失败时自动回退遍历
python scripts/openlist.py search --path /Backup --keyword "报告"

# 也可以跳过 API,直接用遍历模式
python scripts/openlist.py search --path /Backup --keyword "报告" --no-api

更贴心的是,Skill 还内置了一个搜索无结果处理流程,防止 AI Agent 动不动就触发耗时的全量索引重建:

  1. 换关键词再试(模糊匹配、部分文件名)
  2. list 浏览目录手动定位
  3. 增量更新索引 index-update --paths "/目标目录"
  4. 只有索引损坏或首次配置时才 index-build

2. 零配置快速上手

两种认证方式,按需选择:

自动登录(推荐)——一次配置,后续无忧:

python scripts/openlist.py login \
  --url https://your-openlist.example.com \
  --username admin \
  --password your-password

自动生成 config.json,后续所有命令自动读取凭据。

命令行参数——临时使用或脚本集成:

python scripts/openlist.py list \
  --url https://your-openlist.example.com \
  --token eyJhbGci... \
  --path /

3. 单文件架构,极简部署

整个核心功能就一个 openlist.py 文件(约 600 行),加上一个 SKILL.md 技能描述文件和一份 API 参考文档。没有复杂的项目结构,没有层层依赖,pip install requests 就能跑。

openlist-skill/
├── SKILL.md              # Agent 技能描述
├── scripts/
│   └── openlist.py       # 核心——唯一入口
├── references/
│   └── api.md            # 完整 API 参考
└── config.json           # 自动生成,gitignored

4. 标准化 JSON 输出

所有命令返回统一的 JSON 格式,方便 Agent 解析和程序化调用:

// 成功
{"code": 200, "message": "success", "data": {...}}

// 失败
{"code": 400, "message": "error description", "data": null}

还支持 --json(纯 JSON)和 --quiet(精简输出)两种模式,适配不同使用场景。

实战场景

场景一:对话式文件管理

你:帮我看看云盘根目录有什么
AI:执行 list --path / → 返回目录列表

你:把报告上传到 /Backup/2026/
AI:执行 upload --path /Backup/2026/report.pdf --file ./report.pdf

你:给这个文件创建一个分享链接,7天后过期
AI:执行 share-create --files /Backup/2026/report.pdf --expire-hours 168
    → 返回分享链接

场景二:批量文件整理

# 把一目录下的 .JPG 文件统一改成 .jpg
python scripts/openlist.py regex-rename \
  --src-dir /Photos/2026 \
  --src-regex "^(.*)\.JPG$" \
  --dst-regex "$1.jpg"

场景三:定时备份脚本

# 上传今天的日志,覆盖已有文件
python scripts/openlist.py upload \
  --path /Logs/app.log \
  --file /var/log/app.log \
  --replace

与 OpenList 的关系

OpenList 是 AList 的社区分支,API 完全兼容 AList v3。这意味着:

  • ✅ OpenList 用户:原生支持
  • ✅ AList v3 用户:同样适用,无需任何修改

OpenList Skill 只需要你的实例地址和登录凭据,就能工作。

快速开始

# 1. 克隆项目
git clone https://github.com/drfccv/OpenList-skill.git

# 2. 安装依赖
pip install requests

# 3. 登录你的 OpenList/AList 实例
python scripts/openlist.py login \
  --url https://your-instance.example.com \
  --username admin \
  --password secret

# 4. 开始使用
python scripts/openlist.py list --path /

写在最后

OpenList Skill 的价值不在于它有多复杂——恰恰相反,它的价值在于简单。600 行 Python,21 个命令,把网盘操作变成了 AI Agent 可以直接调用的能力。

对于自建网盘用户来说,这意味着你的 AI 助手不再只是"会聊天"——它真的能帮你管理文件了。

如果你也在用 OpenList 或 AList,不妨试试:

🔗 GitHub: https://github.com/drfccv/OpenList-skill

📦 License: MIT

欢迎 Star ⭐、提 Issue、提 PR!