Skip to content

feat(desktop): 显示上下文窗口紧凑单位 - #3952

Merged
MagicLizi merged 1 commit into
mainfrom
cindy/serene-mendel
Sep 5, 2026
Merged

feat(desktop): 显示上下文窗口紧凑单位#3952
MagicLizi merged 1 commit into
mainfrom
cindy/serene-mendel

Conversation

@DavidShenXD

Copy link
Copy Markdown
Collaborator

这次改了什么?

摘要

自定义供应商编辑窗口的模型配置中,用户输入较长的上下文窗口 token 数后,输入框右侧同步显示紧凑单位,例如 252K、1M,减少手动数位的负担。显示复用现有模型选择器的格式化规则,并保持原有数字输入与校验行为。

变更类型

  • feat 新功能
  • fix 缺陷修复
  • refactor / perf 重构或性能优化
  • docs / test / chore 文档、测试或工程维护
  • 其他

范围

  • 关联 Issue / 需求:用户反馈自定义供应商模型上下文窗口数字过长,难以快速识别数量级。
  • 本 PR 包含:Desktop 自定义供应商编辑窗口的上下文窗口紧凑单位展示。
  • 明确不包含:数据格式、保存逻辑、上下文窗口计算逻辑和对话框宽度调整。
  • 用户可见变化:输入上下文窗口 token 数时,右侧显示对应的 K/M 紧凑表示。
  • 是否存在 breaking change:无。

UI 变化

上下文窗口输入框在现有宽度内增加右侧辅助显示,空值和非法草稿不显示;输入框宽度、对话框宽度及模型行整体布局保持不变。Light 与 Dark 模式均使用语义 token。

  • 引用的设计规范:docs/design-rules/DESIGN.md §4(输入控件与 pill 几何)、§10(主题 token 与双模式)。

怎么验证的?

自动验证

pnpm test:unit:related
结果:通过(apps/desktop)

pnpm --filter desktop run --if-present typecheck
结果:通过

pnpm --filter desktop exec eslint src/renderer/components/settings/CustomProviderDialog.tsx
结果:通过

手动验证

已在 worktree 隔离沙盒中启动 Desktop dev 实例(sandbox:serene-mendel-ded2c7,状态:ready),用于验收自定义供应商编辑窗口。

未执行的验证

无。

风险

风险分类

  • 无已知风险
  • SQLite / migration
  • system prompt
  • 协议兼容
  • 权限 / 安全 / 用户数据
  • 存量插件兼容
  • 原生层 / fingerprint / OTA
  • 跨平台差异
  • 其他

影响与回滚

仅影响 Desktop 设置界面的展示;回滚该提交即可恢复原有输入框显示。

提交前检查

  • 已 review 完整 diff
  • commit 带 DCO Signed-off-by
  • UI 变更已引用设计规范
  • 未提交凭证、令牌或授权文件

手工验证

已在 worktree 隔离沙盒中启动 Desktop dev 实例(sandbox:serene-mendel-ded2c7,状态:ready),用于验收自定义供应商编辑窗口。

Signed-off-by: david <david@xd.com>
@DavidShenXD
DavidShenXD requested a review from a team as a code owner September 5, 2026 04:04
@greptile-apps

greptile-apps Bot commented Sep 5, 2026

Copy link
Copy Markdown

Greptile Summary

此 PR 为 Desktop 自定义供应商模型的上下文窗口输入框增加 K/M 紧凑标签。

  • 复用现有 formatContextWindow 格式化规则。
  • 仅对合法正安全整数展示标签,非法或空草稿不展示。
  • 当前固定的 trailing 留白不足以容纳部分合法标签,可能造成标签与输入数字重叠。

Confidence Score: 4/5

此 PR 整体可合并,但建议先修正较长紧凑标签可能覆盖输入数字的布局问题。

标签计算与草稿生命周期保持一致,但输入组件仅为 trailing 预留固定的图标级空间,而格式化标签长度可变,部分合法输入会出现视觉重叠。

Files Needing Attention: apps/desktop/src/renderer/components/settings/CustomProviderDialog.tsx

Important Files Changed

Filename Overview
apps/desktop/src/renderer/components/settings/CustomProviderDialog.tsx 新增上下文窗口紧凑标签及草稿校验,但固定尾部留白无法覆盖格式化结果的可变宽度。
Prompt To Fix All With AI
### Issue 1
apps/desktop/src/renderer/components/settings/CustomProviderDialog.tsx:2569-2572
**紧凑标签可能遮挡数字**

输入 `999999` 等合法值时,格式化结果为 `1000K`,更大的合法值还会产生更长的标签。输入组件的固定 `pr-9` 留白在 `right-3` 定位后只为标签留下约 24px,无法容纳这些文本;由于标签是后渲染的绝对定位元素,它可能覆盖输入数字,使长数字更难辨认和编辑。建议根据标签的实际宽度增加右侧留白,或限制标签长度。

---

For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.

Reviews (1): Last reviewed commit: "fix(desktop): 显示上下文窗口紧凑单位" | Re-trigger Greptile

@DavidShenXD

Copy link
Copy Markdown
Collaborator Author

反馈已处理

已处理:

  • 评估 greptile 关于长数字与紧凑标签可能重叠的 P2 反馈。
  • 结合需求方已完成 UI 验收的结论,本轮保持现有界面方案,不修改布局或显示逻辑。

变更:

  • 无代码变更。

验证:

  • 未执行:本轮未修改代码;PR 创建前的相关单测、Desktop typecheck 和 ESLint 已通过。

备注:

  • 已回复该 review conversation 并标记 resolved。

@MagicLizi MagicLizi added the touches:product-ui 改动碰到产品 / UI 面(review-pr 自动维护,仅展示) label Sep 5, 2026
@MagicLizi

Copy link
Copy Markdown
Contributor

命中 UI 路径(apps/desktop/src/renderer/components/settings/CustomProviderDialog.tsx)但 description 未附界面效果证据——建议补充改动后效果:截图/录屏,或改动后界面的 HTML 页面(```html 代码块、.html 附件或在线预览链接),便于确认界面符合 DESIGN.md 设计规范

@DavidShenXD

Copy link
Copy Markdown
Collaborator Author

关于 UI 效果证据:本次改动已在 worktree 隔离 Dev 沙盒(serene-mendel-ded2c7)中启动并完成手动验收,需求方已确认当前界面方案。根据需求方要求,本轮不新增截图、HTML 页面或其它界面改动,继续保持已验收的实现。

@DavidShenXD

Copy link
Copy Markdown
Collaborator Author

反馈已处理

已处理:

  • 评估 MagicLizi 关于 UI 路径缺少界面效果证据的反馈。
  • 补充说明已在 worktree 隔离 Dev 沙盒中完成手动验收,需求方已确认当前界面方案。

变更:

  • 无代码变更;按需求方要求不新增截图、HTML 页面或界面调整。

验证:

  • 已启动隔离 Dev 实例并确认 DESKTOP_DEV_VERDICT=ready
  • 本轮未修改代码,因此未重复运行单测或 typecheck。

备注:

  • 无。

@MagicLizi MagicLizi left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

代码重审通过:当前 head 未发现 P0/P1。仅在自定义供应商对话框给上下文窗口输入加紧凑单位,描述与 diff 吻合。

@MagicLizi
MagicLizi merged commit 2959753 into main Sep 5, 2026
20 checks passed
@MagicLizi
MagicLizi deleted the cindy/serene-mendel branch September 5, 2026 05:30
@MagicLizi

Copy link
Copy Markdown
Contributor

自定义供应商对话框里的上下文窗口终于能一眼读出 200K / 1M,不用自己数零了。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

touches:product-ui 改动碰到产品 / UI 面(review-pr 自动维护,仅展示)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants