# 行为规则 状态:设计草案。此文是模型选择、切换与生成状态的权威定义,范围见[产品需求](./prd.md)。L-1 至 L-5 编号保留,以下规则替代原视频、会话级选择及通用查询恢复规则。 ## 能力与调用时点 L-1(FR-1、FR-3、FR-7、FR-9;US-01、US-08、US-11、US-15 至 US-19):自动生成与编辑要求图片连接允许会话调用、协议支持所需操作、聊天模型支持工具调用。直连文本 Model Runtime、本地 OpenCode、Continue、DeepSeek Harness 及 GoodBuddy Agent 远程适用 Runtime 均须接入同一图片能力,内部工具或 MCP 注入由 GoodBuddy 管理。 允许调用的模型目录取自已保存且“允许 AI 在会话中调用”开启的图片模型配置。目录非空时,图片生成与编辑能力的全部支持 Runtime 分配自动勾选;目录为空时全部取消勾选。模型配置是唯一事实来源,不保存独立可变的能力启用或分配设置,用户不能操作分配复选框。 | 配置或运行变化 | 分配与目录结果 | | --- | --- | | 首次开启或重新开启一个图片模型 | 自动勾选全部支持 Runtime,目录包含该模型 | | 关闭或删除一个模型,仍有其他开启模型 | 分配保持勾选,从目录移除该模型 | | 最后一个开启模型被关闭或删除,或从未开启任何模型 | 全部分配取消勾选,目录为空;能力行、说明和模型设置入口仍可见 | | Runtime 离线、聊天模型无工具能力、配置或执行错误 | 保持按模型开关推导的勾选和目录,另行显示调用限制或错误 | 配置保存成功后同步刷新分配展示和允许模型目录;保存失败时保留最后已保存配置推导的状态。分配不表示运行就绪,也不保证每个图片模型支持编辑;协议及实际提交校验仍适用。 请求开始和聊天模型、Runtime、配置切换后刷新可用能力;进程复用也须刷新。运行中的聊天回合保留原工具协议,Main 在实际提交前检查最新配置,已关闭的连接不能接受新操作。无工具模型说明限制并提示已有直连图片工作流。Runtime 接入尚未完成属于实施缺口,不能作为减少支持范围的规则。 ## 模型和素材选择 L-2(FR-2、FR-5;US-02、US-03、US-05、US-07、US-14、US-15):先确定新建或编辑,再选择图片模型。 | 操作 | 选择优先级,由高到低 | | --- | --- | | 新建图片 | 用户本次明确指定 > 全局默认 | | 编辑历史成果 | 用户本次明确指定 > 原成果模型 > 全局默认 | | 编辑上传图片(无来源模型) | 用户本次明确指定 > 全局默认 | 只有较高优先级未设置时才查看下一项。选定模型被删除、关闭或不支持编辑时提示改选,不静默跳过。未设默认时提示本次指定或去设置默认后重新发送;名称歧义先澄清,LLM 不得编造模型 ID。不持久化会话级生成模型选择。 显式附件或点选成果优先。“刚才那张”等指代仅在对象唯一时解析;多义指代先澄清。新建不相关图片不附带旧图。编辑能力不足或原图缺失时保留输入并提示,不把编辑自动降为文生图;用户可以明确要求按文字重新生成。已有直连图片路径的行为仍由[图片技术设计](../image-generation/technical-design.md)定义。 ## 切换规则 L-3(FR-4;US-03 至 US-07、US-11、US-15):Main 接受提交时固定原会话、触发消息、实际图片模型、当次连接参数、生成参数及素材引用。未提交请求在实际提交时解析默认值并校验显式选择;提交后不重选模型。图片请求由 Main 持有,独立于聊天 Runtime 生命周期。 | 变化 | 未提交操作 | 已提交操作与成果 | | --- | --- | --- | | 切换聊天模型 | 新回合使用新模型及可用工具,无工具能力时说明限制 | 图片模型不变,操作独立继续 | | 切换本地或远程 Runtime | 新回合注入图片工具,可发起生成和编辑 | 不依赖旧进程,不向新进程补发旧工具响应,不重放生成 | | 更改全局默认或本次指定 | 新操作按 L-2 解析 | 保持提交时模型 | | 关闭或删除连接 | 拒绝新操作并提示改选 | 已发请求使用当次配置尽力完成 | | 更改地址、凭据或参数 | 新操作使用新配置 | 当前操作不混用新端点或凭据 | | 离开或重开会话 | 使用当前请求及全局配置 | 只更新原会话,历史成果仍可引用 | | 远程断连 | 未被 Main 接收的请求不能声称已提交 | 桌面仍运行时由 Main 继续管理已接收操作 | “停止回复”只结束文字回合;“取消生成”单独处理图片操作。关闭会话调用后不接受新操作,已提交操作沿用原有取消流程。运行时切换不自动唤起新的 LLM 请求。 ## 操作状态 L-4(FR-6、FR-8;US-04、US-09、US-13):复用现有操作与成果反馈,状态只表达实际知道的事实。没有上游百分比时显示状态及等待时间,不虚构进度。 | 状态表达 | 条件与处理 | | --- | --- | | 进行中 | 正在发送或等待响应;仅有上游确认时才说明已接受生成 | | 保存中 | 已取得图片,Main 正在校验并保存 | | 已完成 | 图片及会话引用已保存,可重新读取 | | 取消中 | 已请求终止,尚无明确结果 | | 已停止等待/已取消 | 本地中断只说明“已停止等待,上游可能继续生成”;上游确认停止才说明“生成已取消” | | 失败 | 有明确的请求或保存失败原因,保留输入和错误上下文 | | 结果未确认 | 响应丢失、超时或重启后无法确认结果,不当作上游失败或取消 | 同一操作的通知更新同一记录。取消后仍取得图片时,在原卡片保存并说明“取消未生效,已生成”,不恢复旧工具回合。超时不等于上游取消,不承诺退款。 人工重新生成创建新操作,沿用原模型与输入并重新校验;改选模型时在新卡片显示实际选择。失败、结果未确认及保存失败均不自动重发收费请求,不设置独立保存重试入口。应用退出后不承诺继续本地执行,重启时未完成记录显示结果未确认,不建立跨重启查询恢复或通用恢复框架。 ## 历史成果 L-5(FR-5、FR-8;US-07、US-12、US-14、US-15):历史上下文提供成果引用、提示词及实际图片模型信息。只有具备视觉输入能力的聊天模型才接收适用的图片内容;无视觉模型可根据用户文字将原图引用交给编辑工具,但不能声称看过图片。上传图片和历史成果均使用已有可持久化素材引用。 删除会话沿用已有确认流程,说明活动生成的取消及无法保证上游停止的情况;删除后的晚到结果不能重建会话。 ## 完整性与实施验证 规则覆盖配置、新建、上传图与历史图编辑、模型与 Runtime 切换、无工具或无视觉模型、取消、失败、重启和会话归属。没有待定产品范围;各 Runtime 工具注入、远程往返及取消传播按[技术设计](./technical-design.md)完成真实路径验收。视频、跨设备同步和应用退出后的本地执行不在范围内。