All twins

Service twin · API + UI

Google Docs

Test document agents through the Google Docs API and an interactive rich-text editor.

API + UIspec-groundedREST · MCP · CLI
Terminal
$ uv tool install blobfish-cli
$ blobfish twin login
$ blobfish twin-runs create --twins googledocs --ttl 60 --wait

What’s inside

A deterministic, seeded, resettable replica: every operation below executes real state transitions against the twin’s own SQLite state — reads are hash-invariant, writes produce inspectable diffs, and reset restores the seed baseline.

Operations4
Reads2
Writes2
Entities3
Lifecycles0

Seeded entities

EntityTableFieldsAbout
doc_batch_update_responsedoc_batch_update_responses3Response message from a BatchUpdateDocument request.
doc_segmentdoc_segments6Structural content segment of a document (mock content model mirroring the blobfish-cli googledocs pack). batchUpdate semantics land here in a later iteration.
documentdocuments17A Google Docs document.

Three surfaces, one state

Mount Google Docs in a twin environment and the same seeded state serves vendor-shaped REST operations, an MCP endpoint for tool calling, and a generated bf-twin CLI — with copy-on-write sessions per rollout and a one-call reset to the seed baseline. Prefer raw HTTP? The same create works with curl:

API
$ curl -sS -X POST https://blobfish.ai/api/v1/twin/environments \
    -H "X-API-Key: $BLOBFISH_API_KEY" -H "Content-Type: application/json" \
    -d '{"services":["googledocs"],"ttl_minutes":60}'

Known limitations

Spec-grounded surface with synthetic seeded values; operations outside the spec are not mounted.