Conversation
Keep explicit Composer selections available to subsequent conversations without rewriting global defaults or propagating session permissions. Restore reasoning preferences per provider and model, with validated fallbacks and protection against stale configuration completions. Refs vastsa#678
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
问题与改动
新会话会回到全局默认模型和思考等级,用户在上一会话中调整后,下次仍需重新选择。现在记住 Composer 中最近主动选择的供应商和模型,并按供应商/模型分别保存思考等级。
范围与兼容性
权限继续继承全局默认,不沿用上一会话临时开启的 Auto。已有会话和 Settings 保持不变;修改全局默认不会清空已有记忆。
记忆保存在本机应用配置的 localStorage 中,最多保留 100 组;存储损坏或不可用时回退默认。不改变 IPC、host RPC、Plugin SDK 或数据库结构,无需迁移,不跨设备同步。
同步中英文模型选择规格、
E2E-COMPOSER-remember-model-and-thinking场景及追溯矩阵、docs/adr/remember-composer-model-preferences.md和未发布变更说明。验证
基线
aad46adb;Windows、Electron 43.6.0、Node 24.2.0。node scripts/e2e-composer-preferences.mjs通过:真实 Composer 控件、React/store 和 Chromium localStorage,覆盖模型往返、新建会话、重载、权限隔离、失败/过时写入、审批阻塞、运行中暂存和草稿首次创建。pnpm build:js、最终 Desktop build、Desktop typecheck、lint、架构及 diff 检查通过;pnpm docs:check验证 78 组中英文规格和 491 页文档通过。aad46adb基线复现,涉及平台脚本、SSH、发布/打包、插件及既有源契约,未纳入本次修改。验证边界
自动化使用隔离组件窗口和 host API 夹具,未请求真实模型或使用用户配置;不作为真实 host/provider 端到端验证。未验证原生 macOS/Linux。构建保留已有 CSS 优化与包体积提示;远程 CI 以本 PR 的实际运行结果为准。
本次覆盖 #678 的模型与思考等级记忆,权限记忆不在范围内。
Refs #678
PR 集成候选
任务提交
d81ed2b722778e23fc2f849df1723e90c82c3c65基于 mainaad46adb,提交后重新通过 54 项相关测试、架构检查和 Composer Chromium E2E。GitHub merge ref
160a5624a8d50dd5d96c450fa604b22d910d7cc4的 tree 为ccb7918d4f9f63f02fcc82315aded8b80b05ec02,与上述已验证任务提交完全一致;未重复执行相同代码树的 E2E。远端 CI 与文档检查正在运行。Vercel 预览需要项目方部署授权,不将其视为代码测试失败或通过。PR 保持打开,等待项目作者审阅并合并。