blockr.ai
March 7, 2026 · View on GitHub
AI-powered block configuration for the blockr.core framework.
Overview
blockr.ai lets users configure blocks via natural language. Instead of
manually setting filter conditions, plot aesthetics, or summary functions,
describe what you want and an LLM figures out the right parameters.
The package provides two main capabilities:
ai_ctrl_block()— A plugin that replaces the default block control panel with an AI chat interface. Works with any block that hasexternal_ctrlenabled.discover_block_args()— Programmatic interface for LLM-driven block configuration, useful for testing and scripting.
Installation
# install.packages("remotes")
remotes::install_github("BristolMyersSquibb/blockr.ai")
Usage
AI control plugin
Add the AI chat interface to any board:
library(blockr.core)
library(blockr.ai)
serve(
new_board(
blocks = blocks(
a = new_dataset_block("iris"),
b = new_filter_block()
),
links = links("a", "b", "data")
),
plugins = custom_plugins(ai_ctrl_block())
)
Users can then type prompts like "show only setosa" or "filter where Sepal.Length > 5" in the chat panel.
Programmatic discovery
result <- discover_block_args(
prompt = "setosa only",
block = new_filter_block(),
data = iris
)
result$success
result$args
Data exploration
The LLM can optionally explore input data before configuring a block:
result <- discover_block_args(
prompt = "average sepal length by species",
block = new_summarize_block(),
data = iris,
data_exploration = "manual"
)
See ?data_exploration_backend for available strategies ("none",
"manual", "tools").
Developer Documentation
The dev/ directory contains detailed documentation for contributors
and block authors:
- Architecture — Plugin system, data flow, and how blockr.ai integrates with blockr.core
- Discovery — The LLM loop, prompt assembly, registry metadata, and data exploration backends
- External Control Guide — How to make a block AI-controllable (for block authors, including external packages)
- Debugging — Three-level debugging strategy and Playwright E2E testing
- Benchmark Summary — Data exploration backend benchmark results