explaingit

supermemoryai/preprint

17RustAudience · developerComplexity · 3/5Setup · moderate

TLDR

A Rust CLI tool that lets AI agents control a real Chrome browser through plain text files, a background daemon keeps each tab's state in a markdown file, and the agent triggers actions by appending commands to that file.

Mindmap

mindmap
  root((preprint))
    What It Does
      Tab state as markdown
      Action command files
      Browser control
    Tech Stack
      Rust
      Chrome
      npm
    Actions
      Click and type
      Navigate and scroll
      Screenshot and video
    Use Cases
      AI web agents
      Task automation
      Multi-session browsing
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Build an AI agent that browses the web by reading tab state from markdown files and writing click or type commands, without any browser SDK

USE CASE 2

Automate multi-step web tasks like logging in, filling forms, and clicking buttons using a plain text loop any LLM can drive

USE CASE 3

Record browser sessions as video clips while an AI agent performs tasks, for debugging or auditing the agent's decisions

Tech stack

RustNode.jsChrome

Getting it running

Difficulty · moderate Time to first run · 30min

Requires Node.js and npm to install, plus a Chrome browser, no graphical interface, everything runs via CLI commands and plain text files.

No license information is stated in the repository.

In plain English

This project, called preprint, is a tool that lets AI agents control a web browser by reading and writing plain text files instead of learning complex browser automation protocols. The core idea is that a background program (a daemon) runs a real Chrome browser instance and continuously writes the current state of each open tab into a markdown file. The agent reads that file to see what is on screen, then appends a single action command at the bottom of the file. The daemon carries out that action in the live browser and rewrites the file with the new state, all within about a second. Setting it up involves installing the package through npm and running a command that opens a web page inside a managed Chrome window. A folder called "preprint" appears in your working directory with one file per tab. Each tab file shows the page content as a simplified tree of clickable elements, along with the last action taken and any console output from the page. A second file tracks what changed since the previous snapshot. The actions an agent can trigger include clicking a button (referenced by a short code from the page file), typing text into a field, pressing a key, scrolling the page, navigating to a different URL, taking a screenshot, or recording a video clip. After each action the agent re-reads the updated tab file before deciding the next step. Screenshots and recordings are saved to a separate artifacts folder and persist even after the tab is closed. The tool supports multiple browser sessions with different identities. You can use your own Chrome profile, a named separate profile, or a completely clean browser with no stored login data. Sessions stay open until you explicitly close them or run a stop command that shuts everything down. This is a command-line developer tool, written in Rust, aimed at programmers building AI agents that need to interact with live web pages. It is not a hosted service and has no graphical interface. With 17 stars on GitHub, it appears to be a new or early-stage experiment.

Copy-paste prompts

Prompt 1
Using preprint's file-based protocol, write a Python agent that opens a browser tab, reads the tab markdown to find a search input's element code, types a query, and reads the updated page state
Prompt 2
Show me the exact format of a preprint tab file: what does the simplified element tree look like, and how do I write a valid click action for a button with element code B3?
Prompt 3
Build a preprint loop where an AI agent checks a job board every 10 minutes, extracts new listings from the tab file, and appends them to a CSV with no manual steps
Prompt 4
Explain how to launch preprint with a named Chrome profile that has my existing logins so my AI agent can interact with sites I'm already authenticated on
Open on GitHub → Explain another repo

← supermemoryai on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.