微信上玩NAS,开源「极空间 NAS Skill 」
极空间最近更新了不少的功能,但我依旧不满足。
我总觉得在 AI 时代下,NAS 作为 AI 的本地终端最佳载体,进化速度的确有点儿慢了。
虽然极子本身已经在做一些 AI 端的扩展,但我一个吉吉国王,拥有 Codex、Claude 两位肱骨大臣,是断然闲不下来不做一些改动的。

说到 AI NAS,我的第一反应是让 Agent 可以顺畅操作,把它接入微信,我一句话、一张图片、一个文件,可以自动同步到 NAS 里。
很多人会说,没问题啊,你让 Agent 接入极空间的 SSH 嘛,不就可以一样操作了么。
不不不,方法可行,但是 SSH 的权限太大了。万一哪天大模型发癫了,没有做好收束就瞎干活,重启事小,数据全丢就麻烦了。
所以对于 Agent 如何使用 NAS,我的理念一直都是 MCP 或者 API。它们可以实现同样的权限功能,又不会暴露高危的能力,Agent 始终被框在一个合理的范围内操作 NAS。

到目前我一共整理了极空间 ZOS 86 个 MCP tool、4 个自动化 skill、3 个真实使用 Case,由于时间有限没有继续深挖,所以今天全部放出来,抛砖引玉,希望有更多小伙伴一起完善,并且希望未来有机会可以让极空间知晓,尝试一下官方的深度玩法。

一、把极空间内置 API 变成 Agent 操作能力
1. 入口
极空间 NAS 内部本质是跑了一套 web 服务,官方的 PC Web 功能都是围绕这套 Web 服务的。
主入口是 NAS_IP:5055,也就是大家熟悉的网页客户端入口,几乎所有功能都在这个端口。少部分功能走独立 Socket。
第一步就是获取网页的 token 授权,主要的点在于首次登录的短信验证码,可以先获取可信设备,然后用可信设备登录解决。
我当前整理出来的极空间 API 都是内部存在的官方 API 方法,主要在 /v2 节点、部分在 nginx 服务端点下,极少部分是单独的 go 进程。目前拿到的官方 API 包含下面这些路径,更多的我就没去找了,感兴趣的可以自己再深入去看看。

2.搭建 MCP
有了 API ,我们的任务就完成了一半。接下来就是通过标准的 MCP 协议,把这些 API 封装起来暴露给 Agent 和 LLMs。
整体的架构结构如图所示

目前我整理出来的 86 个 MCP tool 中,40 个是存储、极影视、笔记本、状态的只读,46 个写入,以及 28 个网盘 Tools。
在 MCP 里,最重要的就是增加高风险命令的审批,必须由用户批准后才允许 Agent 来执行。
一个基于 Claude Code 的 mcp.json 如下:
{
"mcpServers": {
"zspace-nas": {
"command": "/path/to/.venv/bin/python",
"args": ["/path/to/mcp_server.py"],
"env": {
"NAS_HOST": "NAS ip",
"NAS_USER": "账号",
"NAS_PASSWORD": "密码",
"NAS_DEVICE_ID": "设备 ID"
}
}
}
}
3.打包 Skill
MCP 解决的是 API 封装暴露和流程规范化,但是真的要让 Agent 用起来,还需要再把 MCP + API 的组合封装成 Skill,一个 markdown 提示词加上一系列的 python 脚本。
Skill 可以把非常具体的工作流程固定下来,然后让 Agent 跟着这套模式去操作。读的操作原则上直接走 API 就可以了,问题不大。但是写的操作必须走 MCP,然后由用户确认之后继续执行
这种分类处置的方法,可以非常灵活的把不同场景从 NAS 里提取出来。

二。3 个初步跑通的 Skill 流程
分享三个我实际跑下来的 Skill 流程吧,每一个流程都花了一些时间去整理需求。
这个过程其实挺麻烦的,我要自己找痛点,然后去分析 API,思考如何更好的把这些流程串起来,最后整合成一个最合理的 Skill。
这也是为什么我那么着急就把这些经验分享出来的原因,我希望极空间用户可以获得更底层的一些逻辑和工具,借助 Agent 的能力把自己有需求的地方做成场景,这会比我一个人苦思冥想要有效的多。
1. 打通手机备忘录,备份到极空间记事本
极空间的记事本对我来说,更像是一个跨设备的文本粘贴器。想到的东西打开极空间 APP,然后记录到手机里,等回到电脑上又可以打开查看。
我想到了 ios 里的备忘录,它同样承载着我记录的作用。所以是不是可以把 ios 的备忘录和极空间记事本打通,让记事本应用又作为跨平台服务,又作为手机备忘录的备份工具呢?
可以的,包的。我利用苹果的快捷指令,成功把 ios 的备忘录同步备份到了极空间里,而且支持备忘录的 emoji、表格格式。
快捷指令会自动抓取备忘录里的近期 N 篇备忘录内容,然后通过 API 节点备份到极空间记事本里。
具体的快捷指令做法如图,第一个需要修改的部分是极空间的局域网 IP(如果在外网,可以转发后填入公网域名),第二个修改的是 Post 方法里的 X-Shortcut-Key,这个 Agent 在服务启动后会告诉你,复制过来填入就行了。

2. 审查极影视,整理影视库
像我这样的懒人,极影视里一般就弄个 1、2 个仓库,反正所有的影片都一股脑的往里丢,根本无所谓。
但是时间久了,强迫症又会出现,希望进行整理。所以这次我整合五个命令,让 Agent 从多个角度先进行影视库内容审查,找到摆放不合适的部分。
比如影视库的源绑定的是否有问题。
比如某个影视库分类下的影视剧可不可以做到更细致的分析。
Agent 会根据 Skill 对极影视内的信息进行审查,并提供一个整理方案。它会告诉我们如何更细化影视库的分类和管理,如何进一步做好视频文件的存储。
audit-classifications 分类审计(重名/空/异常名/未启用)
audit-sources 源目录审计(不该在影视库的路径)
audit-collections 抽样审计(每个分类的 type 分布)
suggest-moves per-collection 挪动建议
audit-all 上面四个一起跑

再接着,我可以让 Agent 把不合理的部分直接让 Agent 移动到正确影视库绑定的路径下,并重新识别内容。
最后再加上 Agent 自动的重命名功能,这样可以快速整理影视库,实现更好的感官体验。
3. 搜索+批量打标签,真正盘活 NAS 文件管理
文件标签非常有用,但是手工维护真的是一个苦力活。
所以我希望围绕打标签、删标签、标签查询三个功能,通过标签 API,实现一个 NAS 文件全生命周期的一个标签管理。
这个 Skill 可以查找某个标签下有什么文件、文件夹,也可以让 Agent 遍历目录找到我们需要的文件,单独进行打标处理。
然后这里又涉及到另外一个功能 —— 向量检索。
在这套服务里,我需要在 NAS 里安装一个 bge-small-zh-v1.5 的 RAG 包,以及 PDF 解析工具,用它们结合文件管理 API 做所有文档资料的向量分析。
之后通过 RAG 的结果,我可以使用自然语言和 Agent 对话,让它帮我给所有 XXX 内容的文件打标签。
比如,给一年级的课本打一年级标签;二年级的课本打二年级标签,Agent 就会根据 Skill 指引分别调用 recall RAG 结果,之后调用标签管理打标。

这样子,我们才能真正的把 NAS 里的文件归档和整理做起来,而不是所有乱七八糟的东西扎堆放在一起,纯粹的变成又一个 C 盘。

写在最后
极空间 MCP 这个东西,其实我很早就想弄了,但是一直没时间。前段时间忙里偷闲,多余的 Token 用不掉,所以就干脆让 Agent 帮我跑了一些验证,加上现在 Agent 的能力也强,很快就找到了一些可实现的最短路径。
内容其实很多,尤其是 API 部分,跑通了网盘管理、文档跟踪和文件管理、下载管理、文件库诊断等等场景,只是没时间沉淀成 Skill 或者 MCP。
关于 NAS MCP 这个东西,我觉得真的很有必要,它可以把权限放出来,让 Agent 帮助我们加强管理和运维,权限可控、能力外放,而且用户可以根据自己的需求,创新出很多有意思有深度的用法。
对于企业来说,相当于找了无数的用户来做你的产品经理。
是不是这个理儿?PM 有时候思路枯竭,再看看用户通过 MCP 跑出来的小场景,嘿,再内部评估下合规性和合理性,直接安排到新功能里就完事了。
没有人,比用户本人更懂用户需求,哪怕是产品经理和厂家。
这套体系,我会放到 Github 里,感兴趣的小伙伴可以一起来共建。
https://github.com/coracoo/zspace_skill

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~
