// agent memory kit

Give browser agents a second run.

Mycelium wraps your web agent, records what happened, extracts reusable domain hints, and primes the next attempt before the browser opens.

GitHub
Finder Run Memory Agent A Agent B
agent@run:~$ myc run linkedin.com "summarize post"
[prime] no knowledge found - starting fresh
[record] saved hint: search result before deep nav

agent@run:~$ myc run linkedin.com "summarize post"
[prime] 1 hint loaded before the agent starts

// why use mycelium

Agents are good at browsers. Bad at remembering browsers.

Most web agents start cold on every run. They retry the same login wall, rediscover the same public fallback, and spend tokens learning routes that were already found yesterday.

Mycelium turns completed runs into a local memory graph: domains, outcomes, symptoms, routes, and reusable hints that can be retrieved before the next attempt.

// live demo run

Watch a cold run become a primed run.

The first run starts empty, finds a working route, and records the useful part. The second run loads that hint before the agent spends a token in the browser.

01 Cold start

No memory found for the domain.

02 Record

Search fallback worked; save the route.

03 Prime

Load the hint before the next run.

$ myc run linkedin.com "summarize a post"
- no knowledge found - starting fresh
+ saved hint: try search results before deep navigation
$ myc run linkedin.com "summarize a post"
+ 1 hint loaded before the agent starts

// run lifecycle

Prime, run, record.

Mount it around Stagehand, Browser Use, TinyFish, or your own browser loop. The agent still gets a plain task; Mycelium handles the memory before and after.

01Primeload domain hints from the graph
02Runhand the enriched task to an adapter
03Recordstore outcomes, symptoms, and routes
04Retrievesemantic match for the next similar goal

// use cases

The memory agents wish they had.

myc run linkedin.com

Public-page fallbacks

Remember when search results beat deep navigation.

myc inspect checkout.app

Blocked-flow symptoms

Stop replaying paths already marked as login-gated or brittle.

myc history docs.site

Domain memory

Keep successful routes close to the project instead of in a prompt doc.

myc stats

Run intelligence

See hints loaded, hints extracted, and which domains are improving.

npx myc-explorer

Memory dashboard

Open a local UI for domains, runs, hints, patterns, and prompt previews.

adapter: stagehand

Adapter-agnostic runs

Use the same prime and record contract across browser tools.

store: sqlite

Local-first retrieval

Semantic search works from the project graph without a hosted database.

// explorer dashboard

Inspect what your agents remember.

Mycelium Explorer is a local dashboard for the same SQLite graph used by the SDK and CLI. Browse learned domains, compare runs, review extracted hints, inspect patterns, preview primed prompts, and open benchmark results without shipping memory to a hosted service.

// what changes

The second attempt starts with context.

01 Cold run

No domain memory found. Agent explores, fails, retries, and records the result.

02 Hint extraction

Failure patterns and workarounds become reusable facts in the graph.

03 Primed run

Relevant hints are injected before the next browser session starts.

// spec sheet

Small pieces. Plain contracts.

MODE TypeScript SDK
STORE SQLite graph + vectors
DASHBOARD Local Explorer at 127.0.0.1:3333
EMBEDDINGS Local MiniLM by default
ADAPTERS Stagehand · Browser Use · TinyFish

// sdk

Drop it around an agent run.

import { run, stagehandAdapter } from "@mycelium-dev/mycelium"

const result = await run({
  url: "linkedin.com",
  goal: "open a public post and summarize it",
  adapter: stagehandAdapter(),
})

console.log(result.primed.hintsLoaded)
console.log(result.recorded.hintsExtracted)
001

No hosted vector DB required.

Runs, hints, outcomes, and relationships live in a local SQLite graph.

002

LLM paths are optional.

Use deterministic classification by default, then opt into OpenAI extraction when useful.

003

CLI and dashboard included.

Use myc for terminal inspection or myc-explorer to browse memory visually.

// install

Give the next browser run a memory.