Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 17 additions & 21 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,40 +1,36 @@
> **Status:** Not released. Implementation is in progress; use from the repository only while integration hardening continues.

<p align="center">
<img src="assets/brand/cable.svg" width="48" height="48" alt="bproxy logo">
<img src="assets/bproxy-hero.png" alt="bproxy hero illustration: three robot agents on the left connect through a terminal and a shield to a stack of browser tabs on the right, all framed inside a computer monitor. Caption reads 'bproxy: paired browsing for humans and agents.'" width="900">
</p>

# bproxy

bproxy is a proxy between a code agent and your real browser. A Chrome extension executes constrained commands inside your signed-in session, a localhost daemon paces and scopes those commands, and a CLI gives the agent a clean one-shot interface.
A proxy between your code agent and your real browser.

It is built for human-in-the-loop research and form-work workflows: you provide direction, the agent handles mechanical collection and copy-paste relief. Login, CAPTCHA, consent screens, and final submits stay yours. No browser automation protocol touches the page.
bproxy lets coding agents read pages, fill forms, and click through tasks inside your signed-in Chrome session — without exposing an automation handle to the page. A Chrome extension executes a narrow set of commands; a localhost daemon paces and scopes them; a CLI gives the agent a one-shot interface. Login, CAPTCHA, consent screens, and final submits stay yours.

## Implementation status
The motivation, design principles, scenarios, and architecture live in the documentation site. The README is a quick orientation — the docs are the source of truth.

Shared types, the localhost daemon, the Chrome extension, and the CLI have initial working implementations. The next phase is integration hardening against the documented scenarios.
**Documentation: https://dimdasci.github.io/bproxy/**

```
```text
Code Agent ──CLI──▶ Proxy Daemon ◀──WebSocket──▶ Browser Extension ◀──▶ Page
```

![Architecture overview](docs/internal/browser-proxy-idea.png)
## For users

Install the CLI and daemon from npm:

```bash
npm install -g @dimdasci/bproxy
```

## Documentation
The Chrome extension is currently a manual unpacked install pending a Chrome Web Store listing — download the matching zip from [GitHub Releases](https://github.com/dimdasci/bproxy/releases/latest) and load the extracted folder via `chrome://extensions` with Developer mode on.

Documentation lives under `docs/` in two tiers:
The [Install guide](https://dimdasci.github.io/bproxy/guide/install/) walks through both steps end to end. [Usage](https://dimdasci.github.io/bproxy/guide/usage/) is the CLI command reference, and [Upgrade](https://dimdasci.github.io/bproxy/guide/upgrade/) covers version bumps.

**Public** (`docs/public/`) — the rendered site, readable by users and newcomers:
- [Introduction](docs/public/index.md) — motivation, use cases, design principles
- [Architecture views](docs/public/views/) — C4 diagrams (Context, Containers, Deployment, Session State, Threat Model)
- [Solution specs](docs/public/solution/) — implementation contracts for extension, daemon, CLI, and shared types
## For developers

**Internal** (`docs/internal/`) — project artifacts for contributors:
- [Architecture](docs/internal/architecture.md) — system shape, components, protocol, principles
- [Decisions](docs/internal/decisions.md) — ADRs (why we chose X over Y), append-only
- [Scenarios](docs/internal/scenarios.md) — driving use cases with bot-signal accounting
- [Plans](docs/internal/plans/) — roadmap and per-phase work breakdowns
- [Journal](docs/internal/journal/) — raw design thinking and pivot notes
bproxy is a TypeScript monorepo with three runtime workspaces (`cli`, `service`, `extension`) and a shared protocol package (`shared`). The contracts that govern how they fit together — actions, errors, sessions, tabs, write methods — are documented in the [Solution Specs](https://dimdasci.github.io/bproxy/solution/cli/), and the system shape is captured in the [Architecture views](https://dimdasci.github.io/bproxy/views/02-containers/). Internal artifacts (ADRs, phase plans, journal entries) live under [`docs/internal/`](docs/internal/) in this repository.

## License

Expand Down
Binary file added assets/bproxy-hero.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion cli/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@bproxy/cli",
"version": "0.7.4",
"version": "0.7.5",
"private": true,
"type": "module",
"bin": {
Expand Down
Binary file removed docs/internal/browser-proxy-idea.png
Binary file not shown.
2 changes: 1 addition & 1 deletion extension/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@bproxy/extension",
"version": "0.7.4",
"version": "0.7.5",
"private": true,
"type": "module",
"scripts": {
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"name": "bproxy",
"private": true,
"type": "module",
"version": "0.7.4",
"version": "0.7.5",
"description": "Browser proxy for code agents.",
"license": "MIT",
"packageManager": "pnpm@9.15.0",
Expand Down
2 changes: 1 addition & 1 deletion service/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@bproxy/service",
"version": "0.7.4",
"version": "0.7.5",
"private": true,
"type": "module",
"bin": {
Expand Down
2 changes: 1 addition & 1 deletion shared/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@bproxy/shared",
"version": "0.7.4",
"version": "0.7.5",
"private": true,
"type": "module",
"exports": {
Expand Down
2 changes: 1 addition & 1 deletion shared/src/version.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
*/

/** Current bproxy package version (semver). */
export const VERSION = "0.7.4";
export const VERSION = "0.7.5";

/** Protocol version for the daemon↔CLI↔extension wire format. */
export const PROTOCOL_VERSION = 1;
2 changes: 1 addition & 1 deletion skills/bproxy/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ description: >-
compatibility: Node >=24, bproxy installed (npm install -g @dimdasci/bproxy), daemon running, extension paired
license: MIT
metadata:
version: "0.7.4"
version: "0.7.5"
---

# bproxy
Expand Down
2 changes: 1 addition & 1 deletion views/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "@bproxy/views",
"private": true,
"version": "0.7.4",
"version": "0.7.5",
"type": "module",
"scripts": {
"dev": "astro dev",
Expand Down