agentsclimarketplace

Openlist

Skill uvwt/agentdock/skill-sources/openlist

OpenList v4 HTTP API integration for AgentDock: authentication, file browsing/search, safe text uploads, file operations, storage/driver inspection, and restricted generic API calls.From its SKILL.md

Install
npx -y skills add uvwt/agentdock --skill openlist

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

3 things to look at

  • reads credentialsReads from 5 credential sources: `OPENLIST_TOKEN` and 4 more.
  • runs commandsInstructs the agent to run 1 command, including `printf '%s' '{"skill_action":"<动作>"}' | python3 run.py`.
  • fetches URLsInstructs the agent to fetch 5 URLs, including http://127.0.0.1:5244 and 4 more.

SKILL.md

4.0 KB, ~1.2k tokens by cl100k_base, as published. Nobody here has run it

OpenList Skill

把 OpenList v4 的 HTTP API 封装为 AgentDock 原生 Skill。

能力

  • 服务状态与公开配置检查
  • 登录、登出、本地会话保存与清理
  • 当前用户查询
  • 文件/目录列表、详情、目录树与搜索
  • 新建目录、上传 UTF-8 文本文件、重命名、移动、复制、删除
  • 管理员存储列表、驱动列表
  • 受限通用 /api/* JSON 请求

默认连接

默认连接 http://127.0.0.1:5244。可在调用中传 base_url,或设置 OPENLIST_URL。

登录成功后默认把 token 保存到 $XDG_STATE_HOME/openlist-skill/session.json;未设置 XDG_STATE_HOME 时使用 ~/.local/state/openlist-skill/session.json。目录权限为 0700、文件权限为 0600。也可通过 OPENLIST_SESSION_FILE 指定会话文件,在单次调用中传 token,或设置 OPENLIST_TOKEN。

AgentDock 安装会通过 OPENLIST_SESSION_FILE 将私有会话保存在 ~/.agentdock/skill-data/openlist/session.json,因此升级不会迁移或丢失当前登录态。

环境变量

变量类型必填说明
OPENLIST_URLconfig否OpenList 服务地址,默认 http://127.0.0.1:5244
OPENLIST_TOKENsecret否直接提供访问令牌;未配置时尝试读取本地会话
OPENLIST_SESSION_FILEconfig否自定义会话文件路径
XDG_STATE_HOMEconfig否未配置会话文件时的可移植状态目录

上传

upload 操作通过 OpenList 官方 /api/fs/put 接口上传 UTF-8 文本,默认限制 1 MiB,最高允许 10 MiB,并校验 SHA-256。

安全约束

  • base_url 仅允许 http/https,禁止 URL 内嵌用户名和密码。
  • 通用请求仅允许 /api/* 路径和 GET/POST/PUT/PATCH/DELETE 方法。
  • 登录结果默认不回显 token;只有显式传 return_token: true 才返回。
  • 不包含 OpenList 上游源码或二进制,仅提供 API 适配层;OpenList 本身继续遵循其 AGPL-3.0 许可证。

辅助脚本执行

Skill 本体是本说明文档。确需调用包内辅助脚本时,在 Skill 包根目录使用相对路径执行;运行宿主负责切换到包根目录并把所需变量注入当前子进程。

printf '%s' '{"skill_action":"<动作>"}' | python3 run.py

输入必须是 JSON 对象。写操作仍按本文档中的确认规则执行。

动作用途
statusCheck OpenList public settings endpoint and report connectivity.
loginLogin to OpenList; saves token locally by default and does not echo it unless return_token=true.
logoutLogout from OpenList and clear the locally saved session by default.
meReturn the current authenticated OpenList user.
listList a directory through /api/fs/list; guest access is supported when OpenList allows it.
getGet file or directory details and raw URL through /api/fs/get.
dirsList child directories through /api/fs/dirs.
searchSearch the OpenList index.
mkdirCreate a directory.
renameRename a file or directory.
moveMove one or more names between directories.
copyCopy one or more names between directories.
removeRemove one or more names from a directory.
uploadUpload a small UTF-8 text file through /api/fs/put. Designed for safe automation and verification.
storage-listList configured storages (admin token required).
driver-listList OpenList storage driver definitions (admin token required).
api-requestCall an OpenList JSON API endpoint not covered by a dedicated action.
session-statusShow whether a local OpenList session token is saved without revealing it.
session-clearDelete the locally saved OpenList session token.

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.