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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f1913fb3cce4df7780928ef569176d4004e28bd0bd0ca8d6de9d7e93239dc520
|
|
| MD5 |
c7507781cdb615db7d1b5650be1e6487
|
|
| BLAKE2b-256 |
b49ea9c5e72710e8f70b14fd94362533093e3f53f1282657ee04b8339ea38747
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5f5354219b7b43f3748f1d4c3e3749c0b9ca3e2c468e7aabba490355d5d93d51
|
|
| MD5 |
b734060d829dc52ceae8efd10f01c423
|
|
| BLAKE2b-256 |
2e11bb7067104985e077438ae61daf8f2246663885e25229f7ea27526592e09d
|