Skip to main content

deliberaide-cli

deliberaide-cli is a stateful command-line harness for the DeliberAIde v2 API. It wraps the running FastAPI server over HTTP and WebSockets, keeps a saved profile, and exposes every discovered route through generated command groups.

What it supports

  • One-shot commands for the current HTTP route surface
  • One-shot commands for the current WebSocket route surface
  • Interactive shell mode when you run deliberaide-cli with no subcommand
  • Browser-based CLI sign-in through the DeliberAIde web app
  • Saved base URLs, cookies, and default IDs per profile
  • Machine-readable output with --json
  • Binary downloads with --download

Install

From the repository root:

python -m pip install -e .\agent-harness

If you prefer a project virtual environment, run the same command with that Python executable instead.

Basic usage

deliberaide-cli --help
deliberaide-cli routes list
deliberaide-cli auth login
deliberaide-cli users get-current-user-info
deliberaide-cli context set org_id 11111111-1111-1111-1111-111111111111
deliberaide-cli projects create-project --name "Pilot workspace"

Sign in from the browser

By default, auth login starts a CLI approval session, opens your browser, and waits for approval:

deliberaide-cli --base-url http://127.0.0.1:8000 auth login

If the browser does not open automatically, copy the URL printed in the terminal into any browser on the same machine. After you sign in and approve the request, the CLI saves the returned cookies in your active profile.

You can still fall back to direct credentials when needed:

deliberaide-cli --base-url http://127.0.0.1:8000 auth login --email you@example.com --password secret

JSON request bodies

Use direct field flags for simple object bodies:

deliberaide-cli projects create-project --name "Pilot workspace" --description "CLI-created"

Use raw JSON for richer payloads:

deliberaide-cli projects create-project --body '{"name":"Pilot workspace","target_language":"en"}'

Or load JSON from a file:

deliberaide-cli projects create-project --body-file .\payload.json

Co-Pilot turns

The web app talks to the Co-Pilot over the WebSocket /api/v1/ws/copilot, not over the blocking POST /copilot/conversations/{id}/messages. copilot chat does the same: it sends one copilot_message frame carrying the web client's runtime_context (selected workflow, discussion scope), streams the server's progress frames, keeps the connection alive with pings, and returns the final message when the turn ends. Turns can take several minutes.

# new conversation on a discussion; streams frames, prints the final answer
deliberaide-cli copilot chat --discussion-id <uuid> --x-organisation-id <uuid> --text "..."

# continue an existing conversation; scope and workflow are restored from it
deliberaide-cli --json copilot chat --conversation-id <uuid> --text "..." --no-stream

# show the frame that would be sent, without sending it
deliberaide-cli copilot chat --conversation-id <uuid> --text "..." --dry-run

# a turn started with the blocking POST timed out client-side: poll for the answer
deliberaide-cli copilot wait --conversation-id <uuid>

Object-typed body fields such as --runtime-context accept JSON text or @file.

Multipart uploads

deliberaide-cli upload upload-audio --file .\meeting.mp3 --discussion-id 22222222-2222-2222-2222-222222222222 --config '{"language":"en"}'
deliberaide-cli upload upload-bulk --files .\a.wav --files .\b.wav --session-id 33333333-3333-3333-3333-333333333333

Binary responses

deliberaide-cli qr get-session-qr-codes-zip --session-id 44444444-4444-4444-4444-444444444444 --download .\session-qr.zip

Profiles and saved defaults

deliberaide-cli profile show
deliberaide-cli profile set-base-url http://127.0.0.1:8000
deliberaide-cli context set discussion_id 55555555-5555-5555-5555-555555555555
deliberaide-cli context show
deliberaide-cli context undo

Interactive shell

Run with no subcommand to enter the shell:

deliberaide-cli

Inside the shell, enter the same commands you would run normally, for example:

routes list
auth login
users get-current-user-info
exit

Tests

python -m pytest .\agent-harness\deliberaide_cli\tests -v

Metadata

Release files for deliberaide-cli 0.1.7

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for deliberaide-cli 0.1.7
File Size Uploaded Provenance Actions
deliberaide_cli-0.1.7.tar.gz 97.7 kB Without provenance Details for deliberaide_cli-0.1.7.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for deliberaide-cli 0.1.7
File Interpreter ABI Platform Actions
deliberaide_cli-0.1.7-py3-none-any.whl Python 3 none any Details for deliberaide_cli-0.1.7-py3-none-any.whl

Total release size: 202.5 kB

Release files / deliberaide_cli-0.1.7.tar.gz

Download URL deliberaide_cli-0.1.7.tar.gz
Size 97.7 kB
Tags Source
SHA-256 checksum
How to use checksums
6dbddd0cdc3b66cc254939d37d627b52af2a19fa33fa7a4522e59b7564d8e00f
BLAKE2b-256 checksum
How to use checksums
a9627b6172d19c5a27b4eac00f5a3a7f6d91bc0ab5b7d8f0ce20ea1789d0a068
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.9

Release files / deliberaide_cli-0.1.7-py3-none-any.whl

Download URL deliberaide_cli-0.1.7-py3-none-any.whl
Size 104.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3211dc9e4391b764df8ecaf4da7b4b5d2bf5d50b8652884d677d8a713b278b69
BLAKE2b-256 checksum
How to use checksums
3c1309b9f47ba3fd4c90f0375e206eb41da187b4e9915a59e4f0ce8db3a65305
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.9

Security for deliberaide-cli 0.1.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page