agentleFS
uvwtuvwt/agentdock-skills/skills/openlist/SKILL.md

openlist

Skill6 starsChanged 2 months agoApache-2.0View on GitHub

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

1 other project uses a version of this.

Adopted by

Most recently taken up by

The file

Files
SKILL.md

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 managed 运行时默认把私有会话保存在宿主注入的 SKILL_DATA_DIR/session.json,因此 Skill 内容升级不会覆盖登录态。

环境变量

变量类型必填说明
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.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.