Skip to content

Features request from agentic session retrospective #21

Description

@dimdasci

bproxy Feature Requests

Source: Agent automation of LinkedIn profile capture
Context: Orchestrating sub-agents that run 30-40 bproxy commands per task, parsing responses in bash+python.
Overall assessment: 4/5 -- reliable, predictable API. These requests address friction points observed during ~100 commands across a session.


1. Auto-foreground on destructive actions (or tab activate command)

Problem: Tab goes to background silently (user clicks another tab, OS focus changes). All subsequent destructive actions fail with TAB_NOT_VISIBLE. The agent must detect the error, run screenshot --activate, then retry. This adds error-handling boilerplate to every scroll/click/navigate sequence.

Current workaround: bproxy screenshot -s <id> --activate before or after errors.

Request: Either:

  • (a) Add bproxy tab activate -s <id> as a standalone command
  • (b) Auto-foreground the tab when a destructive action is attempted (opt-in flag like --activate-if-needed)

Option (b) eliminates the entire error class for automation use cases.


2. links --filter and links --href-contains

Problem: Every link extraction requires piping through python to filter by href pattern. This is the most repeated boilerplate in the entire runbook:

bproxy links -s <id> --limit 30 2>&1 | python3 -c "
import sys, json
d = json.load(sys.stdin)
for l in d['data']['links']:
    if '/company/' in l.get('href',''):
        print(l['href'])
"

Request: Add filtering flags:

bproxy links -s <id> --href-contains "/company/" --limit 5
bproxy links -s <id> --href-contains "/in/" --limit 50
bproxy links -s <id> --href-contains "/jobs/view/" --limit 20

Returns only links matching the pattern. Reduces every extraction from 6 lines to 1 line.


3. Large response truncation handling

Problem: One instance of bproxy links --limit 200 returning JSON that failed to parse (unterminated string at char 65200). Not reproducible, but in automation context (no human to retry), a single truncation breaks the entire pipeline.

Request: Either:

  • (a) Document the max response size and recommend lower --limit values
  • (b) Add response pagination: --offset 0 --limit 50, then --offset 50 --limit 50
  • (c) Internal chunking that guarantees valid JSON output regardless of size

4. scroll --until-end mode

Problem: Scrolling to the end of a container requires a loop: scroll, check moved, scroll again, check again. For automation, this is 2-4 round trips per page just to reach the bottom.

Request: Add a convenience mode:

bproxy scroll -s <id> --selector "#workspace" --until-end

Scrolls repeatedly until moved: false, returns final position. Single command, single round trip from the agent's perspective. Could include a max-iterations safety (e.g., stop after 20 scrolls).

Response would include total distance scrolled:

{"scrolledPx": 3500, "iterations": 4, "scrollHeight": 4364, "clientHeight": 864}

5. text --after marker extraction

Problem: On profile pages, the agent often needs text AFTER a known marker (e.g., everything after "About", or everything after "More profiles for you"). Currently requires extracting the full page text and string-slicing in python.

Request:

bproxy text -s <id> --after "More profiles for you" --limit 1000

Returns text content starting from the first occurrence of the marker string, limited to N characters. Reduces post-processing for structured page extraction.

Lower priority than requests 1-2 -- python slicing works fine, this is a convenience.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions