# 数据目录 ## 唯一数据根 所有 llm-to-agent 专属数据集中在 `LLM_TO_AGENT_HOME`。未设置时默认使用: ```text ~/.llm-to-agent/ ``` 开发环境可以指定其他数据根,测试使用临时目录。 ## 物理目录 ```text / ├── config/ ├── workspaces/ │ └── / │ ├── workspace.json │ ├── files/ │ ├── conversations/ │ ├── artifacts/ │ └── extensions/ │ └── / ├── extensions/ │ └── / ├── releases/ ├── runtime/ └── trash/ ``` 目录按需要创建,不预建尚未使用的层级。 ## 数据归属 - `workspace` 管理 Workspace、Conversation、Message 和 Artifact; - `agent` 管理 Agent Run; - `tasks` 管理 Goal、Plan 和任务执行状态; - `memory` 与 `knowledge` 分别管理自己的长期数据和索引; - `automation` 管理 Workflow、Schedule 和执行历史; - `security` 管理审批和安全记录; - 每个 Extension 只能通过公开契约访问其他 Extension 的数据; - 每个数据所有者负责自己的迁移、校验、导出和清理。 Workspace 范围的私有数据写入 `workspaces//extensions//`,全局私有数据写入 `extensions//`。 凭据明文不写入数据根,由 `secrets` 使用系统 Keychain 或受控加密存储管理。 ## Workspace - `managed` Workspace 的工作文件位于自己的 `files/`; - `linked` Workspace 只记录用户已有目录的绑定关系; - 产品入口各自管理当前选择的 Workspace 和 Conversation; - 删除 linked Workspace 绝不能删除外部项目源码。 ## 项目目录零落地 绑定外部项目时,项目源码保留在原位置,所有 llm-to-agent 专属数据仍保存在数据根中。项目中不创建 `.llm-to-agent/` 或其他专属元数据。 ## 数据规则 - Runtime 公共库只提供安全路径、原子写入和基础存储工具,不理解业务数据; - 缓存、索引和临时数据必须可以清理重建; - 删除重要数据默认先进入 `trash/`; - 迁移、修复和恢复前保留可恢复副本; - 全局备份、离线恢复和版本回退由 Supervisor 协调。