-
Notifications
You must be signed in to change notification settings - Fork 1.4k
[Feature]: 通过filesystem模块提供现有远程文件协议的文件系统,达成与其他软件进行文件级交互 #1101
Copy link
Copy link
Open
Labels
enhancementNew feature or requestNew feature or request
Description
Problem Statement
目前viking主要特色在于AGFS的分层检索。
但是由于向量同步需求的存在,导致AGFS中的文件无法被简单地“正确修改”。
如果可以通过某种方式将AGFS内的资源开放给其他专业软件,可以对AGFS中的资源进行精修,增强viking文件的可修正性。
Proposed Solution
通过基于filesystem模块的接口添加某种开放文件协议的端口(如ftp、webdav等),将viking服务器中的资源目录作为文件系统暴露给外部软件。这样就可以在调用时截留响应并作出正确处理(如自动删除向量、自动重命名链接等)。
Alternatives Considered
- 直接实现操作系统原生的文件系统(如linux的fuse等):优势:少了一次网络调用;劣势:需要针对不同操作系统进行适配,实现难度高,且不能适配服务器场景
- 实现某种“监听-同步”机制:优势:也许少了一些代码;劣势:不是实时修改,系统可能存在不一致时间
- 使用锁(现在的机制):劣势:无法同时进行修改和作为上下文资源
Feature Area
Filesystem Operations
Use Case
将整个项目作为资源存储在viking提供的文件系统中,通过vscode修正项目的代码,这样本地项目就可以作为AI的上下文被其他项目使用
将obsidian笔记库存储在viking提供的文件系统中作为记忆,直接通过obsidian进行可视化编辑、资源导入等
通过文档管理软件,直接向viking直接添加文档作为资源
直接通过photoshop读取并修改知识库中的图片
。。。
Example API (Optional)
mount -t davfs http://127.0.0.1:<openviking port>/webdav/resources/<project> ./workspace
code ./workspace # 修改代码,自动对被修改代码重新生成L0/L1或者仅仅把相关内容失效
obsidian --vault=workspace # 可视化编辑(可能需要某种方式处理双链?)
。。。Additional Context
No response
Contribution
- I am willing to contribute to implementing this feature
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request
Type
Projects
Status
Backlog