llm-to-agent/docs/data-layout.md
2026-08-21 16:34:59 +08:00

2.8 KiB
Raw Permalink Blame History

数据目录

唯一数据根

所有 llm-to-agent 专属数据集中在 LLM_TO_AGENT_HOME。未设置时默认使用:

~/.llm-to-agent/

开发环境可以指定其他数据根,测试使用临时目录。

物理目录

<LLM_TO_AGENT_HOME>/
├── config/
│   └── extensions.json
├── workspaces/
│   └── <workspace-id>/
│       ├── workspace.json
│       ├── config/
│       │   └── extensions.json
│       ├── files/
│       ├── conversations/
│       ├── artifacts/
│       └── extensions/
│           └── <extension-id>/
├── extensions/
│   └── <extension-id>/
├── releases/
├── runtime/
└── trash/

目录按需要创建,不预建尚未使用的层级。

Extension 配置

全局和 Workspace 配置使用相同结构:

{
  "version": 1,
  "extensions": {
    "models": {
      "defaultProvider": "deepseek"
    },
    "deepseek": {
      "model": "deepseek-v4-flash"
    }
  }
}

Runtime 先读取全局配置,再使用 Workspace 中同 Extension、同字段的值覆盖它。两个文件都是可选的第一版只读不自动创建、补全或修改配置文件。

数据归属

  • workspace 管理 Workspace、Conversation、Message 和 Artifact
  • agent 管理 Agent Run
  • tasks 管理 Goal、Plan 和任务执行状态;
  • memoryknowledge 分别管理自己的长期数据和索引;
  • automation 管理 Workflow、Schedule 和执行历史;
  • security 管理审批和安全记录;
  • 每个 Extension 只能通过公开契约访问其他 Extension 的数据;
  • 每个数据所有者负责自己的迁移、校验、导出和清理。

Workspace 范围的私有数据写入 workspaces/<workspace-id>/extensions/<extension-id>/,全局私有数据写入 extensions/<extension-id>/

凭据明文不写入数据根,由 secrets 使用系统 Keychain 或受控加密存储管理。

Workspace

  • managed Workspace 的工作文件位于自己的 files/
  • linked Workspace 只记录用户已有目录的绑定关系;
  • 产品入口各自管理当前选择的 Workspace 和 Conversation
  • 删除 linked Workspace 绝不能删除外部项目源码。

项目目录零落地

绑定外部项目时,项目源码保留在原位置,所有 llm-to-agent 专属数据仍保存在数据根中。项目中不创建 .llm-to-agent/ 或其他专属元数据。

数据规则

  • Runtime 公共库只提供安全路径、原子写入和基础存储工具,不理解业务数据;
  • 缓存、索引和临时数据必须可以清理重建;
  • 删除重要数据默认先进入 trash/
  • 迁移、修复和恢复前保留可恢复副本;
  • 全局备份、离线恢复和版本回退由 Supervisor 协调。