会话自动命名

会话菜单在 Rename 后直接显示 Auto rename。点击后使用已配置的标题模型,根据现有对话内容生成简短标题。手动 Rename 保持不变;后台标题调度不属于此次修改。

行为

侧栏原生菜单、侧栏 Web 菜单和对话菜单共用一个客户端操作。客户端显示进度,按会话合并执行期间的重复点击,并等待关联回复。生成期间,现有内容和旧标题仍然可见。失败时保留旧标题并显示可重试消息;传输超时则提示结果尚未确认,请用户重新加载页面检查最终标题,不自动重放操作。

现有 rename_session 命令未携带标题时,在工作线程中调用现有的无工具标题生成器,由后台任务管理,并立即释放 WebSocket 接收循环。任务保留至完成后再移除;请求方 socket 断开不会撤销已保存的标题。未验证原生 JSON Schema 支持的 provider 使用现有提示词回退,仍进行相同的本地 schema 验证且不使用工具。聊天历史提供文本;仅含函数调用的对话提供调用标题和结果。成功生成的名称先持久化,再广播 session_updated。已加载的对话与所有客户端显示相同标题。显式生成的名称按用户选定标题处理,后续后台命名不会覆盖它们。生成后再次检查对话是否已改名或删除,并丢弃过期结果。

范围与验证

不修改操作系统权限、审批模式、首轮自动命名或其他应用。验证公开改名命令对聊天与纯函数历史、失败、手动改名竞态、删除和持久化的处理;验证菜单操作及断连反馈。运行受影响的 Python 测试、仓库契约、Web 测试与类型检查、文档链接检查、生产构建和已安装 App 验收。

实现状态

菜单、共享客户端操作和后台改名处理器已实现,并通过独立规格与质量审查。针对性检查覆盖九个公开处理器用例和三个客户端/菜单用例。最终回归检查通过:539 项 Python 检查、807 项 Web 检查、TypeScript、生产构建和文档链接;跳过一个依赖可选环境的 Python 用例。已安装 App 验收确认:显式侧栏操作使用配置的 DeepSeek 模型生成标题,同步更新侧栏与标签页,整页重新加载后仍保留。验收对话仍然可见。