Skip to content

docs: make human-control handoff explicit - #475

Closed
huong8373tt-beep wants to merge 3 commits into
Tencent:mainfrom
huong8373tt-beep:docs/explicit-human-handoff
Closed

huong8373tt-beep wants to merge 3 commits into
Tencent:mainfrom
huong8373tt-beep:docs/explicit-human-handoff

Conversation

@huong8373tt-beep

Copy link
Copy Markdown
Contributor

Summary

Related to #474.

  • State in both bundled skills that an agent must invoke request-help before asking a user to perform an in-page action; a chat message alone does not hand over page control.
  • Clarify that request-help temporarily pauses browser automation and is separate from returning a borrowed tab.
  • Surface the same boundary in the public bsk_assist / assist.request-help descriptions and retain it with a tool-description regression test.

Validation

  • pnpm exec vitest run tests/tools.test.ts — 100 passed.
  • pnpm --filter @wxg-prc-cpg/browser-skill-dsh-plugin typecheck — passed.
  • git diff --check — passed.

A full plugin test run was also attempted. The new regression and all other scoped checks passed; two existing fake-timer runner tests did not settle as expected in this Windows environment.

Slai Agent Runtime assisted with investigation, implementation, and testing. The account owner reviewed and authorized this contribution.

huong8373tt-beep and others added 3 commits October 22, 2026 13:20
Qualify human handoff with the enabled-help setting and restore Agent Window, injected-tool-only, and loaded-schema guidance. Compact workflow wording to keep the existing LF/CRLF skill budgets without changing runtime behavior.
@chintoleung

Copy link
Copy Markdown

Hi! I opened #474 and reviewed the handoff changes in this PR. I've prepared a small follow-up patch on top of your branch (4c68c304) to keep the disabled-help condition explicit, restore the existing DSH execution guardrails, and keep both skill bundles within their current size limits.

What it does:

  1. Adds the "With help enabled" precondition to the handoff step in both SKILL.md files, so the main rule matches the existing policy in references/help-and-recovery.md (do not request help or re-enable it when help is disabled).
  2. Restores three DSH guardrail sentences that the current head dropped: existing logins in an Agent Window, no controlling the browser through another process, and using the loaded action schemas.
  3. Keeps both skill bundles within their byte budgets — verified that the current head fails the CLI SKILL.md exceeds 7100 byte budget check in scripts/check-skill-bundles.mjs (reproduced read-only from the git object); this patch passes it.

Verified locally on top of your branch:

  • pnpm --filter @wxg-prc-cpg/browser-skill-dsh-plugin test — 541 tests passed
  • pnpm lint, typecheck — pass
  • node scripts/check-skill-bundles.mjs and node --test scripts/check-skill-bundles.test.mjs — 6/6 pass, both LF and CRLF

Limitations, kept explicit: scripts/check-crate-skill.mjs (Rust crate packaging) was not re-run because my local Cargo 1.77.2 lacks Rust 2024 edition support; the change is docs-only inside the skill bundles, so I don't expect it to affect crate packaging. This patch only restores policy wording and bundle-size compliance; it does not change runtime behavior.

Would you be open to incorporating it? A normal cherry-pick should preserve my authorship. If you prefer to squash or fold the changes into your commit, would you mind retaining this trailer for the incorporated contribution?

Co-authored-by: Toto Leung <1612010+chintoleung@users.noreply.github.com>

Happy to adapt the patch to your preferred wording; please keep your existing authorship intact.


你好!我提交了 #474,并阅读了这个 PR 的人工交接改动。我准备了一个基于你分支(4c68c304)的小补丁:明确保留禁用人工协助时的限制、恢复原有 DSH 执行边界,并让两个技能包符合现有大小限制。

内容:

  1. 为两个 SKILL.md 的交接步骤加上 "With help enabled" 前提,使主规则与 references/help-and-recovery.md 的既有策略一致(禁用人工协助时不请求、不重新启用)。
  2. 恢复当前 head 丢失的三句 DSH 护栏:在 Agent Window 中使用既有登录、不通过其他进程控制浏览器、使用已加载的动作 schema。
  3. 使两个技能包保持在字节预算内——已验证当前 head 会使 CLI 的 SKILL.md exceeds 7100 byte budget 检查失败(从 git 对象只读复现);本补丁可通过。

本地验证(基于你的分支):插件测试 541 项全部通过;lint 与类型检查通过;技能包检查脚本 6/6 通过(LF 与 CRLF)。

限制说明:scripts/check-crate-skill.mjs(Rust 打包检查)未在本地重跑,因为本机 Cargo 1.77.2 不支持 Rust 2024 edition;改动仅涉及技能包内的文档,不应影响 crate 打包。本补丁只恢复策略措辞与包大小合规,不改变运行时行为。

你是否愿意合入?正常 cherry-pick 应会保留我的作者信息。如果你更倾向于 squash 或将修改整合到原提交中,能否为合入的贡献保留上面的 Co-authored-by 信息?

我可以配合调整措辞,也请保留你现有的作者信息。

@huong8373tt-beep

Copy link
Copy Markdown
Contributor Author

Thanks for the careful review and focused follow-up patch. I incorporated 44ed440 directly into this PR as a separate commit, preserving your authorship.

It restores the disabled-help precondition and the DSH execution guardrails, and keeps both skill bundles within their byte budgets. I also verified the bundle checks locally (node scripts/check-skill-bundles.mjs and node --test scripts/check-skill-bundles.test.mjs, 6/6 passing).

Thanks again for catching these details.

@iuyo5678

Copy link
Copy Markdown
Collaborator

Thanks @huong8373tt-beep and @chintoleung for the clarification and the follow-up fixes.

#478 has since been merged into main and changes the control model behind this proposal. New CLI and DSH sessions now enable shared control by default, including task tabs created or borrowed later. Users can interact directly with the page; human input invalidates the agent's pending action context, and the agent must wait, synchronize, and replan before continuing. Shared pages no longer use the previous input-blocking overlay.

The premise that request-help is needed to make the page available for human interaction therefore no longer matches the current default behavior. I'm closing this PR as superseded by #478, rather than merging that wording and its corresponding description assertion unchanged.

request-help remains useful for explicit assistance such as login or CAPTCHA, with a prompt and a completion outcome. It is still distinct from returning a borrowed tab. Any follow-up documentation should explain that distinction within the shared-control workflow, including synchronization and a fresh action context before resuming.

The original scenario's verification is tracked in #474. Thank you both for the work on this.

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