octop 以工作区为核心实现严格数据隔离,每个成员拥有独立可迁移存储边界,包含 files/、memory/、cache/ 和 config.yaml;支持本地磁盘、docker、对象存储等后端插拔;connector 沙箱代理管控文件流转;管理员可配额、审计与禁用共享。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

Octop 通过“工作区(Workspace)”作为数据隔离的核心单元,实现文件级、记忆级和上下文级的严格分离。它不依赖单一用户目录或全局缓存,而是为每个成员账号动态创建独立、可迁移、可配置的存储边界。
基于工作区的文件存储结构
每个成员在 Octop 中拥有专属工作区,其底层对应一个命名明确的隔离路径(如 /workspaces/user_123),该路径下包含:
- files/:用户上传或生成的文档、截图、日志等原始文件,按时间+哈希自动归档,禁止跨工作区访问
- memory/:结构化记忆快照(如对话摘要、任务状态、偏好设置),使用 harness-memory 格式持久化,与模型无关
- cache/:工具调用产生的临时中间结果(如网页抓取内容、代码执行输出),带 TTL 自动清理
- config.yaml:仅对该成员生效的专家角色、默认工具链、隐私策略等配置
后端可插拔机制保障物理隔离
Octop 不绑定固定存储方式,而是通过抽象层统一接入不同后端,确保文件实际落盘位置可控且隔离:
- 本地磁盘模式:每个工作区映射到宿主机独立子目录,配合 Linux 文件权限(700)限制其他用户进程读写
- Docker 模式:每个工作区运行在专属容器中,挂载只读基础镜像 + 可写 volume,volume 路径由 Octop 运行时动态分配并绑定 UID/GID
- 对象存储模式(COS/S3):按工作区 ID 划分独立 bucket 或 prefix,启用服务端加密与细粒度 IAM 策略,禁止跨 prefix ListObjects
Connector 与文件操作的权限收敛
当用户调用外部工具(如腾讯文档、浏览器下载、代码仓库)时,Octop 不允许工具直接写入全局路径。所有文件流转必须经由 Connector 的沙箱代理:
- 上传动作:先存入当前工作区 files/incoming/,再由 AgentRuntime 触发安全扫描与元数据标注
- 下载动作:目标路径强制重写为 files/downloads/ 下的子目录,不可指定上级路径
- 跨工具协作:例如“把网页截图发给营养师分析”,截图文件仅对 nutritionist_456 工作区可见,且自动附加访问水印与时效锁
管理员视角的隔离控制能力
系统管理员可通过配置项进一步收紧文件隔离策略:
- 禁用工作区间文件共享开关(默认关闭)
- 设置单个工作区最大存储配额(如 5GB),超限时触发告警并冻结写入
- 开启审计日志,记录所有 files/ 目录下的读、写、删除操作及调用来源(含专家角色名)











