# 本地数据与配置 ## 全局数据根目录与 Space 注册表 **实现阶段:P1** - 建立 `~/.agent/` 全局目录、Runtime 数据和 Space 注册表。 - 注册表保存 Space 的 ID、类型、名称、真实路径和最近访问,用于定位 Task 与分散的 Project。 - 处理首次启动、目录缺失、重复注册和路径不可访问等情况。 ## Space、Conversation 与 Run 文件仓库 **实现阶段:P1** - 使用普通 JSON 保存当前元信息,使用 JSONL 保存消息与追加式 Run 记录。 - 支持创建、读取、更新和列出 Space、Conversation、Message、Run。 - 采用临时文件替换等简单方式保证单次写入完整,异常文件能够被识别并报告。 ## 统一工作区目录 **实现阶段:P1** - Task 根目录本身就是 Workspace,内部使用 `.agent/` 保存 Agent 数据。 - Project 使用相同目录形状,使 Task 可以整体移动并升级为 Project。 - 明确工作文件、Agent 元数据和全局注册信息各自的所有权。 ## Run 日志与产物仓库 **实现阶段:P2** - 保存模型调用、Tool 调用、Shell 输出、错误、测试结果和 Diff 等执行记录。 - 将日志中的一次性内容与需要长期保留、预览或下载的 Artifact 分开管理。 - 支持通过 Conversation、Run 和 Tool 调用定位相关记录与文件。 ## 配置体系与覆盖规则 **实现阶段:P4** - 管理全局、Space、Profile 和客户端配置,并定义清晰的覆盖顺序。 - 区分普通配置、凭据引用和运行时临时选项。 - 支持查看配置最终值、来源、修改和恢复默认值。 ## 缓存、索引与临时数据 **实现阶段:P6** - 为代码索引、知识检索、网页内容和模型缓存提供统一存放位置。 - 缓存可重建且不与原始数据混淆,支持容量统计和按类型清理。 - 保持 Project 数据、全局数据和临时数据之间的边界。 ## 数据导入、导出与修复 **实现阶段:P8** - 支持全局或按 Space 导出、导入、备份和恢复。 - 提供目录迁移、格式升级、完整性检查和损坏数据修复工具。 - 备份过程可验证,恢复前保留现有数据的回退副本。