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.1.tar.gz (12.2 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.1-py3-none-any.whl (13.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: deskclaw_client-0.2.1.tar.gz
  • Upload date:
  • Size: 12.2 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.1.tar.gz
Algorithm Hash digest
SHA256 5869b63b15c694bab6752cefd7dbde2b593e33cc702ad752c19adfa0f003aa58
MD5 c603665d302de126908702ba40f202f4
BLAKE2b-256 dd9511e8f1c3da9c668429fa9c2147cc724bf63fa87942b24dd2ad0323eb335c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for deskclaw_client-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 2e1ed492069505aecc8d47e9fd0ba236150d458e2da501e0b056842dafdfdabc
MD5 4607d3fa5cf485aa6718437543ccfcf9
BLAKE2b-256 3030ae83fc4eecdc9c7a353aca2e3bb2781191af9ca9ca77330499bb1c0ea103

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