Skip to content

Added Knows: a Google Workspace benchmark for web agents (Docs, Sheets, Slides) - #397

Open
farhanishmam wants to merge 8 commits into
ServiceNow:mainfrom
farhanishmam:main
Open

farhanishmam wants to merge 8 commits into
ServiceNow:mainfrom
farhanishmam:main

Conversation

@farhanishmam

@farhanishmam farhanishmam commented Jul 20, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

Adds Knows, a Google Workspace benchmark for web agents: 110 document-authoring tasks across Google Docs (25), Sheets (45), and Slides (40). The tasks ship in the browsergym-knows package (source, project page). This PR registers the benchmark in BrowserGym the same way TimeWarp is registered.

Changes

  • browsergym/core: new knows action subset. On top of the usual bid actions, the tasks need file upload and coordinate-based mouse actions to edit the Docs/Sheets/Slides canvases.
  • browsergym/experiments:
    • knows benchmark in configs.py (task list in metadata/knows.csv, multi-tab, max_steps=120)
    • knows backend in base.py and utils.py
    • lazy env registration in loop.py
  • browsergym/experiments/pyproject.toml: new knows extra, also included in all.
  • README.md: Knows added to the benchmark list, with install, setup, and usage sections.
  • dev/requirements.txt, tests/experiments/test_benchmark.py: installs browsergym-knows for development, and the test checks the task count.
  • Makefile: make install now also installs browsergym/webarena_verified from source. This is unrelated to Knows. After the 0.14.4 version bump, the agentlab job failed on every branch: the browsergym meta package requires browsergym-webarena-verified==0.14.4, and that version isn't on PyPI yet.

Setup

Running the tasks requires a Google account and a Google Cloud service account. See the setup guide.

Testing

  • tests/experiments/test_benchmark.py (test_build_benchmarks, test_benchmark_subset*, test_dependency_graphs) passes locally on Python 3.12 with the uv version CI uses (0.9.17).

…s, Slides)

Knows evaluates browser agents on long-horizon document authoring in Google
Workspace. An agent drives a real browser to build a Doc, Sheet, or Slide deck
from a natural-language goal, and the result is graded checkpoint-by-checkpoint
via the Workspace APIs, yielding a fractional reward rather than binary success.

110 tasks across 22 families and 3 Workspace apps (25 docs / 45 sheets /
40 slides), exposed as a single `knows` split.

As with TimeWarp, the task code lives in an external package
(`pip install browsergym-knows`); this change is config wiring only:

- `knows` action subset in core, adding file upload and direct mouse control
  on top of the usual bid actions, both needed to edit Workspace canvases
- `knows` benchmark backend, action set args, and metadata CSV
- lazy `import browsergym.knows` in `prepare_backend` and `_get_env_name`
- `knows` extra, dev requirement, and expected task count in the tests

Knows requires a Google account and a Google Cloud service account; see the
benchmark README for setup.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
recursix
recursix previously approved these changes Jul 28, 2026

@recursix recursix left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Super clean! Thanks :)

farhanishmam and others added 2 commits September 27, 2026 13:19
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

Copilot AI 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.

Copilot review overview

🟡 Changes recommended

Installation and dependency paths currently reference an unavailable browsergym-knows package.

Review effort: Lite
Findings: 2 High severity · 1 Medium severity

Open (3)
What changed in this PR

Adds the Knows Google Workspace benchmark integration for Docs, Sheets, and Slides.

Changes:

  • Registers 110 benchmark tasks and configurations.
  • Adds Knows-specific actions and backend preparation.
  • Updates metadata, documentation, dependencies, and tests.
File Summary
tests/​experiments/​test_benchmark.py Verifies the Knows benchmark task count.
README.md Documents Knows setup and usage; installation references require correction.
dev/​requirements.txt Adds the Knows dependency, which is currently unavailable from PyPI.
browsergym/​experiments/​src/​browsergym/​experiments/​loop.py Adds lazy Knows environment registration.
browsergym/​experiments/​src/​browsergym/​experiments/​benchmark/​utils.py Adds Knows backend preparation.
browsergym/​experiments/​src/​browsergym/​experiments/​benchmark/​metadata/​knows.csv Defines Knows task metadata.
browsergym/​experiments/​src/​browsergym/​experiments/​benchmark/​configs.py Configures actions and benchmark execution.
browsergym/​experiments/​src/​browsergym/​experiments/​benchmark/​base.py Adds Knows backend support.
browsergym/​experiments/​pyproject.toml Adds Knows extras that currently reference an unavailable PyPI package.
browsergym/​core/​src/​browsergym/​core/​action/​highlevel.py Defines the Knows action subset.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread browsergym/experiments/pyproject.toml
Comment thread dev/requirements.txt
Comment thread README.md
farhanishmam and others added 4 commits September 27, 2026 14:33
The previous link targeted a private repository and returned 404 for
anyone without access.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The other entries still use the pre-existing `browsergym-experiment` typo,
which ServiceNow#403 fixes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The browsergym meta package pins browsergym-webarena-verified to the
repo version, so make install failed after the 0.14.4 bump because that
version is not on PyPI yet.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@farhanishmam farhanishmam changed the title Added Knows: a Google Workspace benchmark for web agents (Docs, Sheet, Slides) Added Knows: a Google Workspace benchmark for web agents (Docs, Sheets, Slides) Sep 27, 2026
@farhanishmam

Copy link
Copy Markdown
Collaborator Author

@recursix @chrish42 the earlier approval was dismissed when I pushed new commits, so this needs another review. Since the approval:

  • README: linked the Knows project page, pointed the setup link to the public KNOWS-benchmark repo, and added a trailing slash to the TimeWarp link.
  • pyproject.toml: the all extra now uses the correct name browsergym-experiments[knows].
  • Merged main, including the 0.14.4 version bump (Fix dependency typo. #403).
  • Makefile: make install now installs browsergym/webarena_verified from source. Since Fix dependency typo. #403, the agentlab job had been failing on main too, because browsergym-webarena-verified==0.14.4 isn't on PyPI yet. Merging this PR fixes that job on main.

The other failing jobs were caused by browsergym-timewarp pinning browsergym-core==0.14.3. That's fixed in TimeWarp 0.2.1, now on PyPI.

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.

3 participants