Control your QingLong (青龙) scheduled task panel via REST API using scripts/ql.sh.
📦 ClawHub: https://clawhub.ai/nnnnzs/qinglong-skills 📖 GitHub: https://github.com/NNNNzs/qinglong-skills
First time setup? See references/setup.md for installation and credential configuration.
Security note: This skill only communicates with the user's own self-hosted QingLong panel using credentials they provide. It does not access any external services or exfiltrate data.
When the user asks to manage their QingLong panel, follow this pattern:
cron list to find its ID.cron log <id> to fetch the latest log and surface the error.bash
scripts/ql.sh cron list # List all
scripts/ql.sh cron get <id> # Get detail
scripts/ql.sh cron create --command "task x.js" --schedule "0 0 * * *" --name "Task"
scripts/ql.sh cron update <id> --name "New Name"
scripts/ql.sh cron delete <id> # Delete (supports multiple IDs)
scripts/ql.sh cron run <id> # Run now
scripts/ql.sh cron stop <id> # Stop
scripts/ql.sh cron enable <id> / disable <id> # Enable / Disable
scripts/ql.sh cron pin <id> / unpin <id> # Pin / Unpin
scripts/ql.sh cron log <id> # View latest log
bash
scripts/ql.sh env list # List all
scripts/ql.sh env list "JD" # Search by keyword
scripts/ql.sh env create --name "KEY" --value "VALUE" --remarks "note"
scripts/ql.sh env update --id <id> --name "KEY" --value "NEW_VALUE"
scripts/ql.sh env delete <id>
scripts/ql.sh env enable <id> / disable <id>
bash
scripts/ql.sh script list # List all
scripts/ql.sh script get --file "test.js" # View content
scripts/ql.sh script save --file "test.js" --content "console.log('hi')"
scripts/ql.sh script run --file "test.js" # Run
scripts/ql.sh script stop --file "test.js" # Stop
scripts/ql.sh script delete --file "test.js" # Delete
bash
scripts/ql.sh dep list # List all
scripts/ql.sh dep install --name "axios" --type 0 # 0=node, 1=linux, 2=python3
scripts/ql.sh dep reinstall <id>
scripts/ql.sh dep delete <id>
bash
scripts/ql.sh sub list / run <id> / stop <id> / enable <id> / disable <id> / delete <id>
bash
scripts/ql.sh system info # System info
scripts/ql.sh system config # System config
scripts/ql.sh system check-update # Check updates
scripts/ql.sh system reload # Reload
scripts/ql.sh system command-run --command "task test.js" # Run command
scripts/ql.sh system auth-reset --username admin --password newpass
bash
scripts/ql.sh token refresh # Force refresh
scripts/ql.sh token show # Show cached
scripts/ql.sh token clear # Clear cache
SymptomLikely causeFix401 UnauthorizedWrong credentialsVerify QINGLONG_CLIENT_ID and QINGLONG_CLIENT_SECRET``Connection refusedPanel unreachableCheck QINGLONG_URL is accessible; try curl $QINGLONG_URL``Scope errorMissing API scopeIn QingLong UI → Application → edit app → add the required scopeToken keeps expiringClock skewThe script auto-refreshes; if it loops, run token clear then retryCommand not foundMissing depsEnsure curl and jq are installed: which curl jq
If a cron job fails silently, fetch its log: scripts/ql.sh cron log <id>
Full API documentation: references/api.md
ResourceBase pathCron Jobs/cronsEnvs/envsScripts/scriptsDependencies/dependenciesSubscriptions/subscriptionsLogs/logsSystem/systemConfig Files/configs