91 lines
2.8 KiB
Markdown
91 lines
2.8 KiB
Markdown
# 数据目录
|
||
|
||
## 唯一数据根
|
||
|
||
所有 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 协调。
|