npm-based Dating API command-line wrapper for direct AI/Agent invocation.
Install dependencies locally in this directory:
Global installation (development machine):
npm install -g dating-cli
dating-cli --helpDefault config file path: ~/.dating-cli/config.json
dating-cli config showAfter successful task create|get|update|stop, the latest task state is automatically saved:
lastTask(object containingtaskId/taskName/status/matchStatus/resultVersion/operation/updatedAt)lastTaskIdlastTaskStatuslastTaskMatchStatuslastTaskOperationlastTaskUpdatedAt
Auth state is also persisted automatically:
register/loginalways savetoken/tokenHead/memberId/usernamelogoutalways clears local auth fields and writes the config
Environment variables are also supported:
DATING_API_TOKENDATING_API_TOKEN_HEADDATING_API_CONFIG
dating-cli registerTo try a specific username first:
dating-cli register --username alicedating-cli login --username demo_user --password demo_passdating-cli logoutdating-cli upload "./photos/me-1.jpg" "./photos/me-2.jpg"This command uploads each file via POST /minio/upload, then automatically calls PUT /member-profile with photoUrls array.
Returned URLs are in top-level photoUrls.
dating-cli profile update \
--gender Male \
--character-text "gentle,introverted" \
--hobby-text "sports" \
--ability-text "basketball" \
--city Shanghai \
--photo-url "https://cdn.example.com/photos/me-1.jpg" \
--photo-url "https://cdn.example.com/photos/me-2.jpg" \
--email "amy@example.com" \
--whatsapp "85260000000"For profile images, prefer dating-cli upload <filePaths...> to upload and update photoUrls in one step.
dating-cli task create \
--task-name "Find female match" \
--preferred-gender-filter '{"eq":"Female"}' \
--preferred-city-filter '{"eq":"Shanghai"}' \
--preferred-height-filter '{"gte":165,"lte":180}' \
--intention "serious relationship" \
--intention-embedding-min-score 0.70If --*-embedding-min-score is omitted on task create, backend default is 0.1.
Update by taskId:
dating-cli task update 12 \
--task-name "Updated criteria" \
--preferred-gender-filter '{"eq":"Female"}' \
--preferred-city-filter '{"eq":"Hangzhou"}' \
--intention "long-term relationship"dating-cli check 12Check a specific page (10 candidates per page):
dating-cli check 12 --page 2dating-cli check 12Re-check when unmatched
dating-cli reveal-contact 201dating-cli review 201 --rating 5 --comment "Great communication"dating-cli registerdating-cli logindating-cli logoutdating-cli config path|show|set-token|clear-tokendating-cli upload <filePaths...>dating-cli profile updatedating-cli task create|get|update|stopdating-cli checkdating-cli reveal-contactdating-cli reviewdating-cli admin violation-reviewdating-cli admin ranking-getdating-cli admin ranking-set
dating-clinow uses direct command-line parameters only.--json/--json-file/--criteria-json/--criteria-fileare no longer supported.- Task criteria filter options use GraphQL filter JSON object strings (for example
--preferred-gender-filter '{"eq":"female"}'). - Use
--helpon each command to view all supported direct options.
Default output is JSON for easy parsing by upstream AI.
Error response:
{
"ok": false,
"error": {
"message": "...",
"status": 500,
"payload": {}
}
}