Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

[IAB] Agent 创建的标签固定 1280×720 视口,非 16:9 窗格被黑边框死,建议默认继承窗格尺寸

未关闭
#110 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 1 天内回复

还没有人认领这个 Issue。

评估

难度
4/5
预计耗时
3-5 天
新手友好度
45/100
Issue 类型
缺陷
描述清晰度
描述清楚
活跃度
活跃
技术栈
typescript
领域
desktop

调研方向

Start by reading packages/shared/src/browser-use/command-metadata.ts and the agent tab creation path that applies DEFAULT_AGENT_BROWSER_VIEWPORT; compare it with the free-size path for user-opened tabs. Check docs/viewport.md and control-browser/SKILL.md for the stated viewport behavior. Done when agent-created tabs adapt to the pane as proposed while screenshots retain a deterministic 1280×720 fallback.

由索引模型根据 Issue 内容生成。

描述

环境
  • ZCode Desktop(macOS arm64,darwin 27.0.0)
  • browser-use 插件 v0.5.1(官方内置)
现象

在 ZCode 内置浏览器(IAB)里:

  • 用户手动打开的标签:free-size,视口跟随窗格尺寸,拖动分隔条实时自适应 ✅
  • agent 通过 browser-use tabs.new() 创建的标签:一律固定 1280×720(16:9),在非 16:9 的窗格(实测 1186×984)中上下出现大片黑边,且不随窗格拖动变化 ❌

同一面板、同一会话内两种来源的标签行为不一致,用户观感是"面板比例被写死了"。

根因(源码已定位)

packages/shared/src/browser-use/command-metadata.ts:

/** Agent 创建或打开的新页面使用的固定逻辑 viewport;不属于人类浏览器显示偏好。 */
export const DEFAULT_AGENT_BROWSER_VIEWPORT = {
  width: 1280,
  height: 720,
} as const;

agent 建标签即套用该常量。注释表明这是刻意设计(给自动化一个确定性逻辑视口),但显示层没有做适配,导致逻辑视口的宽高比直接变成视觉上的黑边框死。

与官方文档矛盾
  1. browser-use 插件自带文档 docs/viewport.md:"Use an explicit viewport only for responsive or device-size testing. Otherwise keep the normal IAB viewport." —— 正常 IAB 视口恰恰不是 1280×720。
  2. browser-use skill 文档(control-browser/SKILL.md):"IAB automatically opens the target tab in free-size mode" —— 实际 agent 建的标签并非 free-size。
影响
  • agent 打开页面给用户看(调研结果、仓库、文档)是该插件的核心日常场景,黑边观感差;
  • 现有 workaround 是 agent 每次 setViewportSize() 对齐窗格实测尺寸,但那是固定值,用户拖动窗格后即失配,需反复手动对齐;
  • tab.close() 后重开仍会回到 1280×720,无法从外部根治。
建议

保留 1280×720 作为截图/自动化的确定性 fallback,但显示层二选一:

  1. agent 标签默认继承窗格逻辑尺寸(与用户手开标签行为一致);或
  2. 保持固定逻辑视口,但渲染时按窗格比例 fit(避免黑边),仅 screenshot 走 1280×720 逻辑坐标。
备注

ZCode 主仓库(zai-org/ZCode)issues 已关闭,故投递至本仓库,烦请维护者转交对应团队。如需更多实测数据(视口读数、页面 innerWidth/innerHeight 对照)可随时补充。


TL;DR: Tabs created by the agent via browser-use get a hardcoded 1280×720 logical viewport (DEFAULT_AGENT_BROWSER_VIEWPORT), which letterboxes the pane at any non-16:9 size, while user-opened tabs are free-size. Suggest inheriting the pane's logical size by default (or fit-rendering) and keeping 1280×720 only as the deterministic screenshot fallback.

主要语言
Python
星标
103
派生
78
PR 合并指标
30 天内没有已合并 PR

环境准备

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

zai-org/zcode-plugins 的其他 Issue

查看 zai-org/zcode-plugins 的全部 Issue

相似的 Issue

更多 Python Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。