极空间 NAS 用了一年多,哪都好,就是有个问题让我一直不爽:它没有命令行。
文件管理全靠 App 点来点去。想批量重命名几十个视频、想脚本化备份、想定时整理文件夹------对不起,没有 API,没有 SSH(默认还关着),想自动化就只能对着 App 一个一个点。
直到我注意到一个细节:桌面客户端为了跟 NAS 通信,会在本机开一个本地代理。
它其实留了一扇窗
装好极空间桌面客户端、登录之后,你会发现本机 127.0.0.1:13579 端口上跑着一个小服务。客户端跟 NAS 说话全走这里:列目录、上传下载、改名,都是 HTTP 请求。
也就是说------只要桌面客户端登录着,我就能用一个 HTTP 客户端替它做所有操作,而且不用碰账号密码。
我顺着这个思路,把客户端用到的接口一个个记下来,整理成了一套干净的 Python 接口,就是 zspace-cli。
装完就能用

bash
pip install zspace-cli
zs check
zs check 会自动去读桌面客户端的登录态------你在 macOS 上,它就找 ~/Library/Application Support/zspace/vuex.json;在 Windows / Linux 上它也会自己找。装完不用填任何配置:
bash
zs ls /sata11/my/data/影视
zs find "权力的游戏" # 全文搜索
zs tree /sata11/my/data -d 3
上传下载带进度条,几个 G 的文件走流式,不占内存。
让 AI 帮你管文件
这是我觉得最有意思的用法。装好之后给 Cursor 或 Claude 复制一个 skill 文件夹:
bash
zs skill ~/your-project/.cursor/skills/
然后你就能直接跟 Agent 说人话:
「把影视文件夹里的电影按年份分类」
「扫一下影视命名有没有问题」
它自己会去调 zs 命令完成。我实际用它把 NAS 上 300 多部电影、80 多部剧集整理了一遍------审查规避的怪命名(S探、让丨Z弹飞)也一起解码归位了:

那套解码规则我单独开源成了 media-naming-guide。
过程中踩的几个坑
Windows 支持是后补的,补的时候踩了两个印象深刻的坑:
- UTF-8 BOM :Windows 工具写的配置文件会带一个 BOM 头,直接
json.loads会崩,得用utf-8-sig读。 - GBK 控制台 :中文 Windows 控制台打印
✓、📁这类字符直接UnicodeEncodeError,后来全部换成了 ASCII 符号。
另外如果不想装桌面客户端,也可以跑 Docker:
bash
docker compose build
docker compose run --rm zspace-cli zs check
容器里连宿主机桌面客户端的代理就行,镜像里不需要客户端。
就这些
项目完全开源,代码和文档都在下面:
- GitHub: https://github.com/skyzhao1223/zspace-cli
- PyPI:
pip install zspace-cli/pip install "zspace-cli[mcp]" - Skills: https://github.com/skyzhao1223/zspace-cli/tree/main/skills
声明:非官方、社区维护项目,依赖桌面客户端本地代理(非公开接口),只读你自己账号的登录态。用之前请了解极空间用户协议。
如果它帮到了你,欢迎点个 Star,有问题也欢迎提 issue 或评论区聊。