
Doppelganger v0.7: Elevating Browser Automation with Enterprise-Grade Precision and Infrastructure
As the Doppelganger project continues to mature, the focus of development has shifted from pure functionality to refinement, scalability, and developer experience. Browser automation tools often struggle to bridge the gap between "scripting experiment" and "production reliable," and release v0.7 is specifically engineered to close that divide.
This update introduces a suite of features that provide surgical control over your data, close critical loops in file management, and allow the application to scale seamlessly from a local laptop to a cloud-native environment.
1. Granular Data Governance: The New Task Export Workflow#
In previous versions of Doppelganger, data export was a blunt instrument. Users needing to extract data were forced to export their entire task history, resulting in massive files that required tedious manual parsing and filtering in external spreadsheet software. As users began running hundreds of agents, this "all-or-nothing" approach became a bottleneck for reporting and analysis.
Precision Selection via Modal Interface#
We have completely re-engineered the export functionality to prioritize user intent. The "Export Tasks" button on the dashboard no longer triggers an immediate bulk download. Instead, it opens a sleek, high-fidelity modal interface designed for precision.
Key Capabilities:
- Individual Task Selection: You can now scroll through your recent history and check specific boxes for the exact tasks you wish to export.
- Contextual Data Management: Whether you need to share a specific run with a colleague or archive a successful batch of scrapes, you can now curate the dataset before it ever leaves the application.
- Reduced Processing Overhead: By generating exports only for selected records, the system reduces server load and delivers your CSV or JSON files significantly faster.
2. Closing the Content Loop: End-to-End File Download Support#
One of the most persistent challenges in headless browser automation is managing file downloads. Standard scripts often fail to track when a download starts, finishes, or where the file ends up. With v0.7, Doppelganger treats file downloads as a first-class citizen within the automation workflow.
The "Wait for Downloads" Action#
To ensure reliability, we have introduced a new synchronization primitive for your agents: the wait for downloads action.
This command is critical for maintaining the integrity of your automation flows. In the past, an agent might click a "Download Report" button and immediately attempt to close the browser or navigate away before the file transfer was complete, leading to corrupted or missing data. The wait for downloads action pauses the execution logic specifically to monitor the network layer, resuming only once the file has been successfully captured and written to disk.
The Results Pane Integration#
Capturing the file is only half the battle; retrieving it is the other. We have overhauled the Results Pane to include a dedicated Downloads tab.
- Visual Verification: Users can verify which files were captured during a specific run without digging through server directories.
- Interactive Retrieval: The interface allows for immediate previews and individual downloads of captured assets directly to your local machine.
- Intelligent Bundling: For complex agents that scrape galleries, invoices, or multiple documents in a single run, Doppelganger now automatically bundles these assets into a single ZIP file. This keeps your local download folder clean and ensures that related assets stay together.
3. Infrastructure Maturity: PostgreSQL and Cloud Readiness#
While local disk storage is excellent for development and single-user setups, it lacks the concurrency and robustness required for enterprise-grade deployment. v0.7 officially introduces support for PostgreSQL, marking a major step toward cloud-native scalability.
Seamless Cloud Configuration#
Doppelganger can now connect to managed database services—such as AWS RDS, Google Cloud SQL, or Supabase—simply by configuring the standard environment variables. This allows the application to run as a stateless container while persisting data in a robust, relational backbone.
The "Safe-Fail" Storage Architecture#
We understand that infrastructure configuration can be prone to errors. To prevent downtime, we have implemented a resilient fallback mechanism.
If the application detects that the PostgreSQL environment variables are missing, malformed, or if the connection to the database times out, Doppelganger will automatically revert to its internal disk-based storage system. This "safe-fail" design ensures that your agents can continue to run, collect data, and execute tasks even if your primary database infrastructure is undergoing maintenance or experiencing an outage.
Technical Implementation Summary#
To leverage these new capabilities, please review your current deployment configurations:
- Database Migration: If you intend to use PostgreSQL, ensure your
POSTGRES_URLis set in your environment file or container definition. - Script Updates: Review your agent scripts for any file interaction. Replace arbitrary
waittimes with the new wait for downloads action to improve speed and reliability. - Workflow Adjustment: Familiarize yourself with the new Export Modal to optimize how you retrieve and share data from the dashboard.