AI: Use compact table and shortened URLs in listNetworkRequests
In AI Assistance V2, network request lists from `listNetworkRequests`
are the largest tool-output contributor to conversation history size.
Across Nov 4-6 traffic, responses averaged 31.8k characters per call and
accounted for 38% of historical tool responses.
`ListNetworkRequestsTool#handler()` serialized every request into a JSON
object array string. AIDA request serialization JSON-encoded that string
a second time, escaping quotes across five repeated property keys per
row. Same-origin rows also repeated the full origin prefix, and `data:`
payloads or tracking queries added unbounded text.
- Return a newline-separated `id;url;status;duration;size` table
preceded by the base origin on non-file pages.
- Strip matching same-origin prefixes on path boundaries, resolving
imported HAR origins from `documentURL`.
- Truncate `data:` URLs over 80 chars, query or fragment suffixes over
100 chars, and paths over 300 chars with `...<truncated>`.
- Document the compact table, full-URL lookup with
`getNetworkRequestDetails`, and initiating-origin filtering in
`network.md`.
Example (`functionResponse.response` shrinks from 755 B to 416 B on 4
rows, and >60% on 40+ row pages):
Before (double-JSON-encoded inside functionResponse.response.result):
[{"id":"1000.1","url":"https://shop.example.com/","statusCode":200,"duration":"45 ms","transferSize":"12.4 kB"},{"id":"1000.2","url":"https://shop.example.com/api/products?category=shoes&sort=popular&utm_source=spring_newsletter&utm_medium=email&utm_campaign=2026_launch_promo_v2","statusCode":200,"duration":"120 ms","transferSize":"8.6 kB"},{"id":"1000.3","url":"https://cdn.3rdparty.com/analytics.js","statusCode":200,"duration":"85 ms","transferSize":"34.2 kB"},{"id":"1000.4","url":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==","statusCode":200,"duration":"0 s","transferSize":"0.0 kB"}]
After:
origin: https://shop.example.com (omitted from same-origin /... URLs)
id;url;status;duration;size
1000.1;/;200;45 ms;12.4 kB
1000.2;/api/products?category=shoes&sort=popular&utm_source=spring_newsletter&utm_medium=email&utm_campaign=2026_launch_...<truncated>;200;120 ms;8.6 kB
1000.3;https://cdn.3rdparty.com/analytics.js;200;85 ms;34.2 kB
1000.4;data:image/png;base64,...<truncated>;200;0 s;0.0 kB
Fixed: 584261897
Change-Id: Ia9e4eed2c4e4ca6cd49542e165d0911a6c00867c
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/8797325
Commit-Queue: Jack Franklin <jacktfranklin@chromium.org>
Reviewed-by: Alina Varkki <alinavarkki@chromium.org>
Auto-Submit: Jack Franklin <jacktfranklin@chromium.org>
This repository contains the client side of Chrome DevTools. It contains all the TypeScript and CSS code that runs the DevTools web app.
The source code is on chromium.googlesource.com.
The Chromium DevTools documentation tells you how to do these tasks:
The documentation also contains design guidelines and architecture documentation.
Other documentation:
There is a mirror of the DevTools frontend repository on GitHub.
The DevTools frontend is also available on npm as the chrome-devtools-frontend package. The package does not supply CJS modules or ES modules. Thus, it can be difficult to use this package in other tools. For an example of how to use it, see this file.
The version number of the npm package (for example, 1.0.373466) is the Chromium commit position of the latest frontend Git commit. The version number increases with each Chromium commit. But we publish the package only approximately one time each day.
To get the latest news about DevTools development, do one or more of these steps:
Read What's new in DevTools.
Read Umar's Dev Tips.
Follow these accounts on X: @umaar, @malyw, @kdzwinel, @addyosmani, @paul_irish, @samccone, @mathias, @mattzeunert, @PrashantPalikhe, @ziyunfei, and @bmeurer.
Join the g/devtools-reviews@chromium.org mailing list. This list shows all pending code reviews.
Read the commit log, or follow @DevToolsCommits on X.
See all open DevTools bugs on crbug.com.
Use Chrome Canary and try the experiments.