Skip to content
Figranium logo
Open menu
Back in the Captain’s Chair: The Figranium Recovery Update

Back in the Captain’s Chair: The Figranium Recovery Update

It has been nearly a month since my last post. To be blunt, I have spent the last few weeks wrestling with issues tied to my Linux distro. Nothing was critically broken to the point where I could not have worked, but it was enough of a cumulative headache to stall my momentum.

To make matters worse, while I was occupied with those OS-level fixes, the "maintenance agents" I left in charge managed to blow things up in my absence. It has been a mess, but I have spent the last few hours stabilizing the ship and cleaning up the wreckage.

The main thing is this: I am officially back. Figranium is back on track, and I am resuming active development with regular updates. Here is a look at the technical improvements included in this release.


Local LLM Support (Ollama Integration)#

The headline feature of this release is the support for local LLMs via Ollama, providing more privacy and lower costs for browser automation tasks.

  • Provider Support: Added Ollama alongside OpenAI, Gemini, and Anthropic for CSS selector and script generation.
  • Flexible Configuration: Store multiple Ollama base URLs and specify custom models (e.g., gemma:7b, llama3) in the updated Settings screen.
  • Improved Fallback: The agent now intelligently cycles through all configured AI providers (including local ones) to ensure reliability.

Intelligent DOM Context Cleaning#

We’ve overhauled how the agent "sees" the page, significantly reducing token consumption and improving AI extraction accuracy.

  • Aggressive Stripping: Non-essential attributes and tags (scripts, styles, SVGs, etc.) are now purged before sending content to LLMs.
  • Attribute Whitelisting: Only data-bearing attributes (IDs, classes, aria-label, data-testid, etc.) are preserved, providing the AI with a clean, high-signal representation of the DOM.
  • HTML Buffering: Optimized raw HTML capture for the results pane to ensure visibility without penalizing extraction performance.

New "HTTP Request" Action Block#

A powerful new action type that allows Figranium tasks to interact with external APIs directly.

  • Direct Integration: Send GET/POST requests during a task execution without needing a full browser context.
  • Data Chaining: Use results from previous scraping steps as payloads for external webhooks or databases.

UI/UX and Performance Improvements#

  • ActionConfigModal: A redesigned modal for configuring complex automation steps, providing better clarity and more granular control.
  • Security Hardening: Implementation of Content Security Policy (CSP) headers and SSRF protection for safer self-hosting.
  • Keyboard Navigation: Introduced global keyboard shortcuts and navigation hints for a keyboard-first workflow in the Editor.
  • WeakMap Caching: Significant performance optimization in the sandbox proxy layer using WeakMap to reduce memory overhead and latency during long-running tasks.
  • CenterAlert Refactor: Enhanced accessibility and visual design for global system alerts.

Technical Optimizations#

  • PostgreSQL Logging: Improved logging throughput with a new in-memory counter for execution stats.
  • Agent Finalization: Optimized the shutdown sequence of Playwright contexts, leading to faster execution cycles.
  • Scalability: The task list payload has been reduced by ~95% by stripping large version histories from the initial dashboard view.