给群晖NAS接入AI的可能性

发布于 6 天前  33 次阅读


现在很多NAS都有自带的AI管家什么的,可以智能管理文件什么的,但群晖没有。有一个朋友问我能不能做一个,emmm

你别说还真可以

现在大部分AI已经支持了Function Call,所以完全可以将文件管理作为工具提供给AI,然后本地程序再以各种形式访问NAS上的文件,其实整体原理上还是很简单的。

NAS最不缺的就是访问文件的方式,什么FTP、SFTP、WebDav、SMB都可以用,所以i只需要做一个适配转换就可以了。

为了保证安全性,可以写一个AI客户端来调用OpenAI API和执行Function Call,这样所有的操作都在本地完成,不涉及密钥的传输什么的。

还有一个问题是权限控制,要留给大模型足够的操作空间,还要让文件安全性得到保证,我计划使用软删除来解决这个问题。

鉴于最近在学Go,所以整个项目用Go来编写,先写一个存储驱动的接口。

type Connecter interface {
    InitClient(ip, username, password string) (Connecter, error)
    Connect() error
    Pwd() (string, error)
    Cd(path string) error
    ListFiles(path string) ([]string, error)
    MoveFile(oldPath, newPath string) error
    DownloadFile(remotePath, localPath string) error
    UploadFile(localPath, remotePath string) error
    DeleteFile(remotePath string) error
    HardDeleteFile(remotePath string) error
}

我也不知道写没写完但是这个项目只是用来练手的,代码存在很多不足,请不要喷谢谢


保持热爱,奔赴山海