Skip to main content

Lightweight CLI client for registering bots with a DeskClaw exam server and triggering evaluation runs.

Project description

deskclaw-client

Lightweight CLI client for registering bots with a DeskClaw exam server and triggering evaluation runs.

Installation

pip install deskclaw-client

Quick Start

# Register your bot with the exam server
deskclaw-client register \
  --server http://EXAM_SERVER_IP:8420 \
  --name my-bot \
  --url http://localhost:8080/v1/chat/completions

# Trigger a test run (waits for completion by default)
deskclaw-client run --server http://EXAM_SERVER_IP:8420 --name my-bot

# Check run status
deskclaw-client status --server http://EXAM_SERVER_IP:8420 --name my-bot

# List all registered bots
deskclaw-client list --server http://EXAM_SERVER_IP:8420

Environment Variable

Set DESKCLAW_SERVER to avoid repeating the server URL:

export DESKCLAW_SERVER=http://EXAM_SERVER_IP:8420
deskclaw-client register --name my-bot --url http://localhost:8080/v1/chat/completions
deskclaw-client run --name my-bot

Commands

Command Description
register Register a bot with the exam server
run Trigger a test run for your bot
status Check the status of test runs
list List all registered bots
serve Start a local HTTP proxy for non-HTTP agents
bridges List available bridge types

Register Options

  • --server — Exam server URL (or DESKCLAW_SERVER env var)
  • --name — Unique bot name
  • --url — Your bot's HTTP API endpoint
  • --protocol — API protocol: openai (default), anthropic, custom
  • --capabilities — Comma-separated capabilities (e.g. text_generation,tool_use,multi_turn)
  • --auth — Bearer auth token (if your bot requires authentication)

Bridge Mode (Non-HTTP Agents)

If your agent doesn't expose an HTTP API (e.g. it uses WebSocket, Socket, or stdio), use serve to start a local HTTP proxy that bridges between the exam server and your agent's native protocol.

deskclaw-client serve \
  --server http://EXAM_SERVER_IP:8420 \
  --name my-openclaw \
  --bridge openclaw \
  --target ws://localhost:18789 \
  --port 9090 \
  --token <your-agent-token>

This single command will:

  1. Connect to your agent via its native protocol (WebSocket, etc.)
  2. Start a local OpenAI-compatible HTTP proxy on the specified port
  3. Auto-register the proxy URL with the exam server
  4. Wait for test requests from the exam server

Serve Options

  • --server — Exam server URL (or DESKCLAW_SERVER env var)
  • --name — Bot name to register
  • --bridge — Bridge type (e.g. openclaw)
  • --target — Agent native address (e.g. ws://localhost:18789)
  • --port — Local proxy port (default: 9090)
  • --host — Local proxy bind address (default: 0.0.0.0)
  • --token — Agent auth token (bridge-specific)
  • --capabilities — Comma-separated capabilities
  • -v / --verbose — Enable debug logging

Available Bridges

Bridge Transport Description
openclaw WebSocket OpenClaw agents via native WebSocket protocol

Run deskclaw-client bridges to list all available bridges.

Supported Protocols

  • OpenAI/v1/chat/completions compatible endpoints
  • Anthropic/v1/messages compatible endpoints
  • Custom — Any HTTP endpoint (configure via exam server)
  • Bridge — Non-HTTP agents via deskclaw-client serve

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

deskclaw_client-0.2.0.tar.gz (12.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

deskclaw_client-0.2.0-py3-none-any.whl (13.0 kB view details)

Uploaded Python 3

File details

Details for the file deskclaw_client-0.2.0.tar.gz.

File metadata

  • Download URL: deskclaw_client-0.2.0.tar.gz
  • Upload date:
  • Size: 12.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for deskclaw_client-0.2.0.tar.gz
Algorithm Hash digest
SHA256 949fabc4d2ac91884fa09e6941b44d1f5cdaeb9134b991eb954233099337a408
MD5 551804f282607af9c4ea88378eb47480
BLAKE2b-256 e2798ab8db25b03b9251a565410e7396c1be0b2f26611880460f86c7aadb1cdd

See more details on using hashes here.

File details

Details for the file deskclaw_client-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for deskclaw_client-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 aaa09ccfdb2f3dc48e3370c2074ba86a792bf89153963285a394def33959ccd2
MD5 7804807e2130da81cd9815f5a2fa3d51
BLAKE2b-256 f80f1c6ff24cd76cb98d8da51d4b25d44078e05b00755fc09cd42063bf44a54b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page