Skip to main content

CLI harness for MingDAO HAP - Enterprise no-code platform

Project description

hap-cli

CLI harness for MingDAO HAP (明道云) - an enterprise no-code platform (hap).

Installation

pip install hap-cli

Quick Start

1. Login

Option A: Browser login (recommended)

# MingDAO SaaS (default)
hap config login

# Specify server
hap config login mingdao    # MingDAO
hap config login nocoly     # Nocoly
hap config login https://hap.example.com   # Self-hosted

Opens your browser to the MingDAO login page. Token is saved automatically after login.

Option B: Manual token

hap config set \
  --server https://your-mingdao-server.com \
  --token YOUR_MD_PSS_ID_TOKEN

Other auth commands

hap config whoami    # Show current user info
hap config logout    # Clear saved token

2. Find your org and app IDs

hap config orgs                          # list orgs → get Project ID
hap app list --project-id PROJECT_ID     # list apps → get App ID
hap app list-managed --project-id PROJECT_ID  # apps where you are manager

3. List worksheets

hap app worksheets APP_ID

4. Query records

hap record list WORKSHEET_ID --page-size 10

5. JSON output (for automation)

hap --json record list WORKSHEET_ID

Command Groups

Group Description
config Server connection and auth
app Application management
worksheet Worksheet info, fields, views
record Record CRUD (list, get, create, update, delete)
workflow Process lifecycle (create, update, publish, trigger, rollback, config)
node Node management (add, delete, save config, test code/webhook/AI)
instance Approval & todo (approve, reject, forward, sign, batch, history)
role Role management and members
repl Interactive REPL mode

Workflow Management

# Create a workflow
hap workflow create --company-id CID --name "My Flow" --app-id APP_ID

# Add an approval node
hap node add PROCESS_ID --type 4 --name "Manager Approval"

# Configure the node
hap node save PROCESS_ID NODE_ID --type 4 --config '{"accounts":[...]}'

# Test a code node
hap node test-code PROCESS_ID NODE_ID --code "return 1+1"

# Test a webhook node
hap node test-webhook PROCESS_ID NODE_ID --url https://api.example.com

# Publish the workflow
hap workflow publish PROCESS_ID

# Trigger it
hap workflow trigger PROCESS_ID --source-id ROW_ID

# Check version history
hap workflow history PROCESS_ID

# Rollback to previous version
hap workflow rollback PROCESS_ID

# Get/set global config
hap workflow config-get PROCESS_ID
hap workflow config-set PROCESS_ID --config '{"allowRevoke":true}'

Approval & Todo

# Check pending task count
hap instance todo-count

# List pending approval tasks
hap instance todo --type 4

# View instance detail
hap instance get INSTANCE_ID

# Approve
hap instance approve INSTANCE_ID --opinion "Looks good"

# Reject with reason
hap instance reject INSTANCE_ID --opinion "Need revision"

# Forward to another user
hap instance forward INSTANCE_ID --to USER_ID

# Add co-signer
hap instance sign INSTANCE_ID --to USER_ID --before

# Batch approve
hap instance batch --action 4 -s ID1 -s ID2

# View execution history
hap instance history --process-id PROCESS_ID --status 2

REPL Mode

hap repl
hap> record list WORKSHEET_ID
hap> --json workflow list APP_ID
hap> instance todo-count
hap> quit

API Authentication

The CLI uses MingDAO's md_pss_id session token. Use hap config login for browser-based login, or hap config set --token TOKEN to set the token manually.

For private deployments with encrypted API responses, install crypto support:

pip install hap-cli[crypto]

More Examples

# List orgs, then apps
hap config orgs
hap app list --project-id PROJECT_ID
hap app list-managed --project-id PROJECT_ID

# Get worksheet fields
hap worksheet fields WORKSHEET_ID

# Create a record
hap record create WORKSHEET_ID -f "c001=value1" -f "c002=value2"

# Copy a workflow
hap workflow copy PROCESS_ID --name "Copy of Flow"

# Move workflow to another app
hap workflow move PROCESS_ID TARGET_APP_ID

# List code templates
hap node code-templates --keyword "email"

# Test AI node
hap node test-ai PROCESS_ID NODE_ID --prompt "Summarize this" --model gpt-4

# Terminate a stuck instance
hap instance terminate INSTANCE_ID --yes

# Retry a failed instance
hap instance retry INSTANCE_ID

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

hap_cli-0.5.1.tar.gz (83.3 kB view details)

Uploaded Source

Built Distribution

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

hap_cli-0.5.1-py3-none-any.whl (103.4 kB view details)

Uploaded Python 3

File details

Details for the file hap_cli-0.5.1.tar.gz.

File metadata

  • Download URL: hap_cli-0.5.1.tar.gz
  • Upload date:
  • Size: 83.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for hap_cli-0.5.1.tar.gz
Algorithm Hash digest
SHA256 f1913fb3cce4df7780928ef569176d4004e28bd0bd0ca8d6de9d7e93239dc520
MD5 c7507781cdb615db7d1b5650be1e6487
BLAKE2b-256 b49ea9c5e72710e8f70b14fd94362533093e3f53f1282657ee04b8339ea38747

See more details on using hashes here.

File details

Details for the file hap_cli-0.5.1-py3-none-any.whl.

File metadata

  • Download URL: hap_cli-0.5.1-py3-none-any.whl
  • Upload date:
  • Size: 103.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for hap_cli-0.5.1-py3-none-any.whl
Algorithm Hash digest
SHA256 5f5354219b7b43f3748f1d4c3e3749c0b9ca3e2c468e7aabba490355d5d93d51
MD5 b734060d829dc52ceae8efd10f01c423
BLAKE2b-256 2e11bb7067104985e077438ae61daf8f2246663885e25229f7ea27526592e09d

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