Weles documentation

Give your agents a reliable path through the internet.

Weles turns approved browser work into versioned trajectories. It combines patched Chromium and Firefox builds, managed sessions, explicit authorization boundaries, and retained evidence so agents can complete real web workflows without rediscovering every journey.

01 — Access

Connect an approved deployment

Weles is an operated service. An approved deployment provides an endpoint, an organization identifier, and an organization-scoped token. Keep these values in your service environment; do not place tokens in requests, prompts, or logs.

export WELES_API_BASE=<deployment-endpoint>
export WISENT_ORGANIZATION_ID=<organization-uuid>
export WELES_TOKEN=<organization-scoped-token>

Access begins through the Weles site or an enterprise implementation call. Both the executor and the public client source are MIT-licensed, but a source checkout does not include a hosted endpoint, approved trajectories, managed credentials, evidence retention, or an SLA.

02 — Client

Submit an authorized workflow

Use the public Weles client to bind each request to an exact origin and action. The client-side allowlists make caller intent explicit; the service independently enforces its own policy.

import { WelesClient } from '@wisent-ai/weles-client';

const client = new WelesClient({
  endpoint: process.env.WELES_API_BASE,
  bearer: process.env.WELES_TOKEN,
  organizationId: process.env.WISENT_ORGANIZATION_ID,
  allowedOrigins: ['https://console.example.com'],
  allowedActions: ['export-approved-report'],
});

const accepted = await client.submit({
  origin: 'https://console.example.com',
  action: 'export-approved-report',
  input: { report: 'monthly' },
  credentialRefs: ['customer-console-account'],
  evidencePolicy: 'receipt',
  justification: 'Export authorized by the account owner.',
}, { idempotencyKey: 'caller-retained-operation-id' });

Use an idempotency key

Retain one operation ID per intended action so retries do not create duplicate browser work.

Name the authorization

Every submission includes a human-readable justification. Technical success does not establish permission to automate a target.

03 — Lifecycle

From admission to a terminal state

  1. 1

    Admit

    Weles checks the organization, origin, action, credential references, and request policy before adding work to the action log.

  2. 2

    Claim

    A worker on an approved host leases the task. One idempotency key identifies the caller's intended operation.

  3. 3

    Execute

    The worker resolves a reviewed trajectory and a verified browser release. Draft discovery may map a journey, but it does not authorize production execution.

  4. 4

    Close

    The action reaches an explicit terminal state. Configured deployments can also issue a signed receipt and evidence digest for offline verification.

Credentials resolve through scoped Skarbiec grants. Plaintext credentials never belong in the submitted input.

04 — Outcomes

Understand and verify what happened

Every production run closes with a terminal action-log state. Depending on deployment policy, retained evidence can include screenshots, video, DOM captures, logs, and a signed receipt. The client can verify a signed outcome and evidence digest without reading worker logs.

  • Trace the exact point where a run failed.
  • Replay approved keeper sessions and trajectories.
  • Verify signed outcomes offline when receipts are enabled.
  • Keep evidence retention and redaction bound to organization policy.

05 — Boundaries

Keep browser work inside explicit limits

  • Exact allowlists. Production admission is constrained by organization, origin, and action.
  • Scoped credentials. Requests carry credential references, not secrets; credentials follow the Skarbiec lifecycle.
  • Reviewed trajectories. Discovery and production execution are separate. A discovered path is not automatically authorized.
  • Private reports. Report vulnerabilities through a private GitHub Security Advisory. Never attach credentials, trajectories, recordings, or target details to a public issue.

06 — Status

Current compatibility contract

Client
The public Weles client source defines the 0.1.0 minimum contract. An operator provisions the hosted endpoint and its service agreement.
API
Versioned task, cancellation, status, and receipt schemas expose stable current aliases.
Executor
The worker ships as immutable worker-v* artifacts promoted through candidate, development, canary, and production rings.
Browsers
Chromium and Firefox launch only when the local receipt matches the exact Stado release coordinate and checksum selected for the worker.

For discussion and integration help, join the Wisent Discord. Report operational defects in the Weles issue tracker with the action-log row ID, worker instance ID, and release coordinate—never recordings or credentials.