Agent Platforms

paperclip

Paperclip — Berget's agent platform (tasks, documents, agent orchestration)

@r8s/paperclip

paperclipagentsdocumentsautomation

Components (1)

01

Paperclip

Paperclip — Berget's agent platform (tasks, documents, agent orchestration).

import { Platform } from '@r8s/recipes'
import { Paperclip } from '@r8s/paperclip'

export default (
  <Platform secrets={{ backend: 'openbao', mount: 'kv', path: 'apps' }}>
    <Paperclip name="paperclip" host="paperclip.example.com" agents={{ sandboxReplicas: 3 }} />
  </Platform>
)
namestringOptional

Resource name (defaults to 'paperclip')

namespacestringOptional

Kubernetes namespace (defaults to 'default')

versionstringOptional

Container image tag (defaults to 'latest' — pin a version in production)

hoststringRequired

Public hostname for the web app and API (required)

replicasnumberOptional

Number of app replicas (defaults to 2)

dbStoragestringOptional

Storage size for the Postgres cluster (defaults to '10Gi')

websocketsbooleanOptional

Enable websockets for live task and agent updates (defaults to false)

agents{ sandboxReplicas?: number, resources?: { requests?: { cpu?: string, memory?: string }, limits?: { cpu?: string, memory?: string } } }Optional

Sandbox agent workers. Workers run the same image with a command override (paperclip agent --sandbox) and share the model API key and database credentials via secretKeyRef. They run with a hardened securityContext (non-root, no privilege escalation, RuntimeDefault seccomp, all capabilities dropped) by default.

secretsNamestringOptional

Name of an existing Secret containing key modelApiKey. Paperclip uses this key to call LLM providers on behalf of agents. Required unless a secrets backend (openbao/vault) is configured on the surrounding Platform — the backend then provisions the key automatically. Plaintext keys are not supported.

resources{ requests?: { cpu?: string, memory?: string }, limits?: { cpu?: string, memory?: string } }Optional

Requested app resources

tls{ secretName: string, clusterIssuer: string }Optional

TLS configuration (defaults to letsencrypt-prod cluster issuer)