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

57 lines
1.7 KiB
Markdown

# 数据目录
## 唯一数据根
所有 llm-to-agent 专属数据集中在 `LLM_TO_AGENT_HOME`。未设置时默认使用:
```text
~/.llm-to-agent/
```
开发环境可以指向另一个用户目录,测试使用临时目录。
## 物理目录
```text
<LLM_TO_AGENT_HOME>/
├── config/
├── workspaces/
│ └── <workspace-id>/
│ ├── files/
│ ├── conversations/
│ ├── runs/
│ └── extensions/
├── extensions/
├── releases/
├── runtime/
└── trash/
```
目录按需要创建,不规定尚未实现的数据文件和格式。
当前对话链路只会创建 Workspace 绑定信息和
`conversations/default/messages.jsonl`,后续能力再增加自己的数据。
## Workspace
- `managed` Workspace 的工作文件位于自己的 `files/`
- `linked` Workspace 只记录用户已有目录的绑定关系。
- 两种 Workspace 的 Conversation、Run、记忆和 Extension 数据都位于数据根目录。
## 项目目录零落地
绑定外部项目时,项目源码保留在原位置,所有 llm-to-agent 专属数据仍保存在:
```text
<LLM_TO_AGENT_HOME>/workspaces/<workspace-id>/
```
项目中不创建 `.llm-to-agent/` 或其他专属元数据。项目移动时更新绑定关系;删除 linked Workspace 绝不能删除外部项目源码。
## 数据规则
- Kernel 只提供安全路径、隔离和基础写入机制,不理解业务数据。
- 每个 Extension 管理自己的数据,不能直接修改其他 Extension 的私有内容。
- 缓存和临时数据必须可以清理重建。
- 删除重要数据默认先进入 `trash/`,迁移和修复前先保留可恢复副本。