# 对象设置导入与导出 自由职业人库、团队和工作流各自在标题栏提供移除、导入、导出、保存。顶部不再提供模板/项目范围切换或全局 JSON、刷新按钮。项目工作台仍从原生会话的团队配置进入,可通过“自由职业人库”返回模板配置。三个模板编辑页取消还原修改,离开时保留放弃未保存草稿的确认。 “移除”沿用原对象的存储语义:自由职业人设置 `archived` 并从可用库隐藏,记录和已有项目实例保留;团队和工作流移除其模板,已引入项目或团队的副本保留。操作先确认,取消不发送命令。破坏性操作恢复宿主 `--wf-red` 主题色。 ## 文件与草稿 复用现有 `format: graph_horses`、`formatVersion: 1` 的 JSON 文档,最大 1 MiB;不引入另一套宽松格式。对象按钮只接收 `scope: template` 且 `kind` 与当前编辑器一致的独立配置。旧批量创建副本及项目交换 API 保留兼容,不作为当前表单覆盖入口。 导出读取当前表单,包括未保存的改动和待保存导入依赖。自由职业人包含七模块配置及所需协作模板;团队包含成员模板与必要工作流;独立工作流包含岗位与步骤。沿用原有便携脱敏,排除项目文件引用和含凭据的知识链接;技能、插件、MCP 仅为配置引用,不携带安装程序、凭据、知识原件、A/B/C、会话或执行成果。共享 Wiki 程序不复制。 文件解析成功后自动覆盖当前对象的可编辑配置;当前对象 ID、本地版本基线及创建时间不采用外部值。导入依赖、成员、岗位、步骤和引用映射为新标识,在模块内草稿一起保留。此时不写服务器、不启动任务、不调用模型、不安装能力。继续编辑后再次导出或保存,使用最新表单而非初次导入内容;放弃草稿不会创建依赖。 校验失败、文件超限或类型不匹配时保留原表单。读文件期间暂停同一编辑器的修改与保存;卸载或换对象后不应用迟到结果。下载对象 URL 和计时器随组件卸载清理。 ## 原子保存 普通表单保存沿用既有 API。带导入依赖的草稿通过本插件自己的 `settings.bundle.save` 命令保存,不将此命令称为宿主接口。该命令经现有插件 API、版本检查和 `WorkforceStore` 原子事务执行:同一次提交追加新依赖并更新当前根对象;不会先写入依赖,再另外保存根对象。 已有根对象必须匹配 `expectedVersion`,新对象不得携带过期目标版本;服务端保留目标 ID、创建时间,递增版本并更新保存时间。已有依赖只允许精确内容与版本一致的引用,不允许借导入覆盖其他对象;额外、无效或冲突依赖拒绝提交。完整结构、成员汇报与步骤引用仍由现有校验器检查。失败保留本地草稿,持久状态不发生部分变化。 保存载荷与下载脱敏分开构建,保证导入后用户新增的合法本地文件配置不会在保存时被便携导出规则误删。已有项目员工、项目团队、执行记录、知识记录及成果不随模板覆盖而修改。 ## 生命周期 仅增加插件自有源码、打包资源和命令分支,使用既有官方 Cordis、Remote 和 UI 插槽接入;不修改 Harness 程序文件。组件没有持续后台任务,草稿及下载资源随插件公开卸载清理。安装、普通卸载、重装和完整清理继续使用既有官方 profile 流程,正式验收绑定实际发布归档及 SHA-256。