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

91 lines
2.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 数据目录
## 唯一数据根
所有 llm-to-agent 专属数据集中在 `LLM_TO_AGENT_HOME`。未设置时默认使用:
```text
~/.llm-to-agent/
```
开发环境可以指定其他数据根,测试使用临时目录。
## 物理目录
```text
<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 配置使用相同结构:
```json
{
"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 和任务执行状态;
- `memory``knowledge` 分别管理自己的长期数据和索引;
- `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 协调。