ai-captures collection.
Nothing is captured unless you enable capture globally or for an API key.
Install
.frogbot/captures. Production deployments should pass a shared, durable storage adapter implementing put, get, delete, and list.
Capture policy
enabled defaults to false. sampleRate accepts a value from 0 to 1 and defaults to 1 for enabled traffic.
When the API keys plugin is also listed, in any order, capture adds capture and captureSampleRate fields to API keys. capture accepts inherit, enabled, or disabled; an explicit key setting overrides the global setting. The plugin does not require the API keys plugin.
Privacy and limits
Incoming HTTP headers are never persisted. SetmaxBodyBytes to reject captures whose serialized request, response, or error envelope exceeds the limit. The default is 10 MiB.
The first release does not scrub fields inside messages, tools, responses, or errors. Treat the blob store as sensitive data and control access separately from ordinary admin access. Pass access to control who can read index rows.
Capture writes run out of band. A storage or index failure is logged but does not fail the AI request. Because the blob and index are separate writes, an interrupted write can leave an unindexed blob. Content is never written to the primary database.
Retention
SetretentionDays to register a daily pruning task. The task deletes each expired blob before deleting its index row. If you omit retentionDays, captures are retained until you delete them.
Export
capturePlugin() adds the export:captures and export:training-data commands to the FrogBot CLI, even when enabled is false. export:captures exports captures as JSON Lines:
requestedAt order. Every flag takes a value, either as the next argument or as --flag=value. Unknown flags and invalid dates fail the command.