Skip to content

feat(agents): 在三行列表中显示子代理实际模型和思考深度 - #1440

Open
tossp wants to merge 1 commit into
agegr:mainfrom
tossp:feat/agent-switcher-model-upstream
Open

tossp wants to merge 1 commit into
agegr:mainfrom
tossp:feat/agent-switcher-model-upstream

Conversation

@tossp

@tossp tossp commented Oct 28, 2026

Copy link
Copy Markdown

关联议题

Fixes #1439

改动

保持 Agents 列表现有三行,在子代理第二行显示 代理类型 · 实际模型 · 思考深度:

  • 复用 /api/sessions/stats 批量请求返回当前分支记录的模型和思考深度,复用现有 getSessionSettings(),不根据 profile 默认值推测,也不逐行请求详情。
  • 思考深度缺失或为 off 时隐藏;长模型名截断,优先保留代理类型和思考深度。完整 provider/modelId、深度和相对更新时间放在悬浮提示中。
  • 批量统计缓存增加活动叶节点,避免仅切换分支、没有新增 entry 时仍显示原分支设置。
  • 主代理行、状态、用量、选择会话及侧栏查看按钮行为不变;没有新设置、依赖、协议字段或用户文案。

本分支基于 agegr/pi-web/main,只含这一项功能,不包含 fork 的其他改动。

验证

  • 完整测试:2871 通过、1 项现有跳过、0 失败。
  • node_modules/.bin/tsc --noEmit、npm run lint、改动文件 LSP 检查及 git diff --check 通过。
  • node e2e/agent-switcher-model.mjs:1280px、390px、320px 英文及 390px 中文四组浏览器回归通过。
  • API 回归覆盖首条回复前已记录的模型/深度、旧会话 assistant 模型回退、缺失设置、深度变为 off,以及不新增 entry 的活动分支切换。
  • 浏览器回归使用临时会话文件和真实 stats API,检查三行布局、长名称省略、深度可见、批量请求、主代理行及侧栏按钮;屏蔽 AgentSession 初始化和派遣,并断言会话文件未被改写,不调用模型。

测试环境为 Linux root;直接 npm test 时,现有的只读目录测试会被 root 的 DAC 绕过能力影响。仅对测试子进程移除该能力后完整重跑通过:setpriv --bounding-set=-dac_override,-dac_read_search npm test。没有修改测试、增加 skip 或放宽权限。

关联 agegr#1439。复用批量统计返回当前分支记录的模型与思考深度,保持三行布局并补充分支缓存及窄屏回归。

This branch has not been deployed

No deployments
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.

功能建议:在 Agents 列表三行布局内显示子代理实际模型和思考深度

1 participant