Skip to content

fix: 提示词增强自动通道跟随当前选型,设置页不再截断文案 - #9

Merged
7836246 merged 1 commit into
7836246:mainfrom
yycy134679:feat/prompt-enhance
Sep 29, 2026
Merged

7836246 merged 1 commit into
7836246:mainfrom
yycy134679:feat/prompt-enhance

Conversation

@yycy134679

@yycy134679 yycy134679 commented Sep 28, 2026 •

Copy link
Copy Markdown
Contributor

问题

提示词增强的「自动」通道用的是提供商的第一个模型,而不是用户当前选择的模型和推理强度。

根因

usePromptEnhance.ts 把 modelSelectionView.preferredSelection 当作自动通道的基准选型,而它是 Registry 的初始推荐(resolveInitialModelSelection):只有配置里的默认模型仍然合法时才用默认模型,否则回落到 registry 里第一个可见 provider 的第一个模型(registry-fallback)。用户之后在输入框旁改选模型,这个值并不会跟着变。

用户当前真正的选型在别处:draftConfig.modelSelection(= resolveComposerModelSelection(draft.modelSelection, view),含账号套餐重映射),也就是工具栏展示与提交门禁共用的那一个。

改动

行为

  • 自动通道的基准选型改由 composer 注入当前草稿的生效选型(currentModelSelection),模型与推理档位都随之跟随;切模型 / 切档位即刻生效,无需重新配置。
  • resolvePromptEnhanceTarget 的入参 preferredSelection 改名 currentSelection,模块头注释写明为何刻意不读 preferredSelection。
  • 保留 !target 分支,并在日志里区分三种构造不出请求的原因(草稿无选型 / 模型已不在已发布列表 / 独立通道未配),仍提示「没有可用的增强模型」。

文案与布局

  • 设置页「当前生效通道」在自动模式下的值改为「跟随选择的模型和推理强度」。全局设置页拿不到每个输入框各自的选型,因此只说明它跟随什么;独立通道照常显示 provider / 模型。
  • 去掉该行的 truncate:--ui-font-size 由外观设置控制、可以调大,而 SettingsRow 的列宽是固定 px 不跟着放大,放大字号后「推理强度」会被直接截断吃掉。改用 controlLayout="wide"(192px → 280px)+ break-words,放不下时换行。

影响与边界

  • 会消失的旧行为:草稿没有可解析选型时原先还能靠 preferredSelection 兜底,改动后按既有口径提示「没有可用的增强模型」——这与输入框此时本身也发不出消息是一致的。
  • 不新增协议通道、不改 CLI、不新增设置项、不动三档提示词模板正文。
  • 自动标题生成与 Git 提交消息各自那条读 preferredSelection 的链路不在本次范围,如需一并改可另开。

验证

  • pnpm exec tsx --test packages/ui/test/promptEnhance.test.ts → 23/23 通过;含新增对照断言:换一个 currentSelection,模型、预算与档位都跟着换,锁住「不再从 Selection View 的初始推荐里补一个模型」
  • pnpm typecheck → 通过
  • pnpm lint → 0 error / 63 warning(与改动前基线一致)
  • pnpm architecture:check --changed → 0 违规
  • 截断修复在真实浏览器按 14 / 16 / 18 / 20 / 22 / 24px 六档字号实测:新写法从不截断(14–22px 一行,24px 两行),旧写法从 18px 起被截断
  • 端到端手工验证:已在桌面端实机完成——设置页「当前生效通道」的新文案在实机正常生效,本 PR 修复的截断问题正是在这次实机验证中发现并反馈的

自动通道原先取 Selection View 的 preferredSelection,那是 Registry 的初始推荐:配置里
没有可用默认模型时会回落到第一个可见 provider 的第一个模型,用户改选模型后它并不跟着
变,于是增强会跑去用一个用户没选的模型。改为由 composer 注入当前草稿的生效选型
(draftConfig.modelSelection,与工具栏展示、提交门禁同源),模型与推理档位都随之跟随。

设置页「当前生效通道」在自动模式下改为「跟随选择的模型和推理强度」(全局设置页给不出
唯一模型,只说明它跟随什么),并去掉该行的 truncate:字号放大后「推理强度」会被截断吃掉,
`--ui-font-size` 可调而列宽是固定 px,因此改用 wide 布局 + 换行。
Copilot AI lite review requested due to automatic review settings September 28, 2026 14:02

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@7836246

7836246 commented Sep 29, 2026

Copy link
Copy Markdown
Owner

已核对:自动通道改为跟随 composer 当前草稿选型(draftConfig.modelSelection),不再用 Registry 的 preferredSelection;设置页自动模式只说明跟随关系,并去掉截断。规格、单测和调用点一致,CI 已通过。合入。

@7836246
7836246 merged commit fc6cac1 into 7836246:main Sep 29, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants