# tapes.dev > AI-friendly documentation for tapes.dev ## Recommended agent setup Agents work best against tapes with the `tapes` skill installed. It answers to "check the tapes" and searches past sessions by meaning, so an agent recovers earlier work instead of asking for it again. npx skills add papercomputeco/skills --skill tapes - Guide: https://tapes.dev/docs/guides/check-the-tapes/ - Source: https://github.com/papercomputeco/skills/tree/main/skills/tapes ## Pages - [See what your coding agents actually did.](https://tapes.dev/) - Record every LLM call your coding agents make, into a Postgres you own. Search sessions, track cost, replay runs. No SDK. Open source. - [tapes documentation](https://tapes.dev/docs/) - Reference for the tapes server and its clients, synced from the repos that own each component. ### docs - [HTTP APIs](https://tapes.dev/docs/apis/) - The read API and the private ingest API — their routes, their seals, and the trust boundary between them. - [Architecture](https://tapes.dev/docs/architecture/) - How Tapes separates the immutable capture log from the derived session, trace, and span read model. - [Running a cassette locally](https://tapes.dev/docs/cassette-walkthrough/) - Walk the hello-world cassette end to end on one machine, from compose up to driving its methods with the client. - [Cassettes](https://tapes.dev/docs/cassettes/) - The manifest, admission rules, and deployment responsibilities for a service that extends the Tapes read API. - [CLI reference](https://tapes.dev/docs/cli/) - The server's commands, the split between tapes and tapesctl, and how to prove the capture ratchet. - [Configuration](https://tapes.dev/docs/configuration/) - How the server resolves its .tapes/ directory and settings, and how the client resolves its one server URL. - [Inspecting and exporting data](https://tapes.dev/docs/data/) - Read captured sessions from the client, the built-in browser UI, an export bundle, or the HTTP read API directly. - [Local development](https://tapes.dev/docs/development/) - Prerequisites, the Make-based build and test workflow, where the docs live, and how the OpenAPI seals work. - [Export cassette](https://tapes.dev/docs/export/) - The Export cassette reference. - [Guides](https://tapes.dev/docs/guides/) - Journeys across tapes components, written on this site and walked end to end before publish. - [Installation and local setup](https://tapes.dev/docs/installation/) - Install the server and the client, bootstrap the local PostgreSQL and Ollama dependencies, and start Tapes. - [Agent integrations](https://tapes.dev/docs/integrations/) - The harnesses Tapes captures, which lane each one uses, and how to point a generic provider client at the transparent proxy. - [Tapes](https://tapes.dev/docs/introduction/) - What Tapes captures, and a quickstart that takes you from install to a real captured session. - [MCP](https://tapes.dev/docs/mcp/) - The read API's Model Context Protocol endpoint and the cassette tools it aggregates. - [pgtapes](https://tapes.dev/docs/pgtapes/) - The pgtapes reference. - [Search cassette](https://tapes.dev/docs/search/) - The Search cassette reference. - [Skills cassette](https://tapes.dev/docs/skills/) - The Skills cassette reference. - [tapes-crates](https://tapes.dev/docs/tapes-crates/) - The tapes-crates reference. - [tapesctl](https://tapes.dev/docs/tapesctl/) - The tapesctl reference. - [Telemetry](https://tapes.dev/docs/telemetry/) - What the server's CLI reports to PostHog, how to disable it, and why the client reports nothing. ### export - [API reference](https://tapes.dev/docs/export/api/) - The two export endpoints, their query parameters, response shape, download filenames, and status codes. - [Deploying](https://tapes.dev/docs/export/deploying/) - The image, its configuration, the database grant the cassette needs, and how to point a running tapes at it. - [Development](https://tapes.dev/docs/export/development/) - Build and test from a checkout, and what the test suite pins about the manifest. - [Export cassette](https://tapes.dev/docs/export/introduction/) - Exports tapes sessions as JSONL, one line per session, at either full-span or turn-header granularity. ### guides - [Check the tapes from your agent](https://tapes.dev/docs/guides/check-the-tapes/) - Install the tapes skill so an agent searches past sessions on its own when you say "check the tapes". - [Capture a Claude Code session](https://tapes.dev/docs/guides/claudecode/) - Launch Claude Code under the tapes capture proxy, ship every turn to the server, and read the session back. - [Capture a Codex session](https://tapes.dev/docs/guides/codex/) - Launch the Codex CLI under the capture proxy, or capture the self-launching ChatGPT desktop app through lifecycle hooks. - [Run the open-core stack with Docker Compose](https://tapes.dev/docs/guides/docker-compose/) - Start tapes, PostgreSQL, Ollama, and the skills, search, and export cassettes from the source repository. - [Capture local Ollama traffic](https://tapes.dev/docs/guides/ollama/) - Put the tapes proxy in front of a local Ollama server and capture whatever an Ollama-compatible client sends through it. - [Search captured sessions by meaning](https://tapes.dev/docs/guides/search/) - Find past agent work semantically — from the client, over the read API, and piped straight into skill generation. - [Turn captured sessions into skills](https://tapes.dev/docs/guides/skills/) - Extract a reusable skill from real sessions with an LLM, review it, and install it into an agent's skills directory. ### pgtapes - [Build and publish](https://tapes.dev/docs/pgtapes/building/) - Build the image locally with Docker, and publish multi-platform images with Buildx. - [What is in the image](https://tapes.dev/docs/pgtapes/image/) - The base image, extension versions, and the entrypoint and configuration mechanisms the build adds on top of it. - [pgtapes](https://tapes.dev/docs/pgtapes/introduction/) - The PostgreSQL image the tapes server runs on — a CloudNativePG base with pg_duckdb and pgvector built in. - [Run the image](https://tapes.dev/docs/pgtapes/running/) - Start the image with docker run or under the CloudNativePG operator, and what each path does and does not configure for you. - [Image tags](https://tapes.dev/docs/pgtapes/tags/) - The tag scheme, why CloudNativePG constrains it, and which tags on the registry to use and which to avoid. ### search - [API reference](https://tapes.dev/docs/search/api/) - The span search endpoint, the MCP tool over the same operation, the result shape, and status codes. - [Deploying](https://tapes.dev/docs/search/deploying/) - The image, its configuration, the embedding providers it supports, and the database objects a deployment must provision. - [Development](https://tapes.dev/docs/search/development/) - Build and test from a checkout, how the module relates to tapes, and what the test suite pins. - [Embedding](https://tapes.dev/docs/search/embedding/) - The embed pass that keeps the span projection searchable — how it selects work, how it handles failure, and the metrics it exposes. - [Search cassette](https://tapes.dev/docs/search/introduction/) - Semantic span search over the tapes read model, with the embedding pass that keeps it current. ### skills - [API reference](https://tapes.dev/docs/skills/api/) - Stable skills, immutable revisions, visibility, latest resolution, and asynchronous generation. - [Deploying](https://tapes.dev/docs/skills/deploying/) - Image identity, tenant-local dependencies, worker configuration, and durable storage. - [Development](https://tapes.dev/docs/skills/development/) - Build and test from a checkout, and what the test suite pins about the manifest. - [Skills cassette](https://tapes.dev/docs/skills/introduction/) - Stable skills, immutable private/public revisions, exact evaluation, and durable asynchronous generation. ### tapes-crates - [Adding a harness](https://tapes.dev/docs/tapes-crates/adding-a-harness/) - Teaching the crates about a new coding agent — the registry declaration, the launch recipe decision, the bar a new attribution lane must clear, and what breaks when the registry changes. - [The harness regression matrix](https://tapes.dev/docs/tapes-crates/harness-matrix/) - The CI tier that launches each real harness binary through a mock provider and a mock ingest, and asserts on what actually crossed the wire. - [tapes-crates](https://tapes.dev/docs/tapes-crates/introduction/) - The client-side Rust crates for tapes — the crate map, the boundary each crate owns, and how to take them from crates.io. - [Releasing](https://tapes.dev/docs/tapes-crates/releasing/) - How the three crates reach crates.io — dependency order, the tag scheme, what the release workflow checks, and the two-lock hold on the upload. - [tapes-capture](https://tapes.dev/docs/tapes-crates/tapes-capture/) - The capture protocol crate — the X-Tapes-* envelope and its budgets, the gateway environment contract with its two sub-protocols, and the peer-trust primitives. - [tapes-client](https://tapes.dev/docs/tapes-crates/tapes-client/) - The read client — one core contract sealed at build time, a deployment's cassettes discovered at start, one transport seam, and a credential hook instead of a transport. - [tapes-harnesses](https://tapes.dev/docs/tapes-crates/tapes-harnesses/) - The harness-knowledge crate — the registry and its five axes, the three capture mechanisms, launch recipes, plugin artifacts, attribution lanes, and transcript discovery. ### tapesctl - [How capture works](https://tapes.dev/docs/tapesctl/capture/) - The two capture lanes, which harness uses which mechanism, what attribution means, and why the session id start prints is not the one read commands take. - [Cassettes](https://tapes.dev/docs/tapesctl/cassettes/) - The command surface your tapes deployment serves, discovered at runtime — how it is generated, how it is cached, and how to call it. - [Command reference](https://tapes.dev/docs/tapesctl/commands/) - Every tapesctl command with its flags, environment equivalents, exit codes, and error families. - [Configuration](https://tapes.dev/docs/tapesctl/configuration/) - How tapesctl resolves a server URL, the config.toml schema, and every file and directory it reads or writes. - [tapesctl](https://tapes.dev/docs/tapesctl/introduction/) - The command-line client for tapes — what it does, the two server ports it talks to, and a first capture and read. - [Troubleshooting](https://tapes.dev/docs/tapesctl/troubleshooting/) - The failures that actually happen — a capture that landed nowhere, a session id that 404s, a missing server URL, and plugin conflicts. *Auto-generated documentation index*