qwencloud-text
[QwenCloud] Generate text, have conversations, write code, reason, and call functions with Qwen models. TRIGGER when: user asks to chat with Qwen, generate text, write code with Qwen, use Qwen function calling, or explicitly invokes this skill by name (e.g. use qwencloud-text). DO NOT TRIGGER when:
By qwencloud · 1,321 installs
npx skills add qwencloud/qwencloud-ai --skill qwencloud-text
Source repository · Upstream listing
Qwen Text Chat (OpenAI Compatible)
Generate text, conduct conversations, write code, and invoke tools using Qwen models through the OpenAI compatible API.
This skill is part of qwencloud/qwencloud ai .
Skill directory
Use this skill's internal files to execute and learn. Load reference files on demand when the default path fails or you
need details.
Location Purpose
scripts/text.py Default execution — chat/completions request, streaming, output save
references/execution guide.md Fallback: curl, Python SDK, function calling, thinking mode
references/api guide.md API supplement and full code examples
references/prompt guide.md Prompt engineering: CO STAR framework, CoT, few shot, task steps
references/sources.md Official documentation URLs (manual lookup only)
Security
NEVER output any API key or credential in plaintext. Always use variable references ( $QWENCLOUD API KEY in shell,
os.environ["QWENCLOUD API KEY"] in Python). The scripts accept QWENCLOUD API KEY , then QWEN API KEY , then
DASHSCOPE API KEY . Any check or detection of credentials must be non plaintext : report
only status (e.g. "set" / "not set", "valid" / "invalid"), never the value. Never display contents of .env or config
files that may contain secrets.
When the API key is not configured, NEVER ask the user to provide it directly. Instead, help create a .env file with a placeholder ( QWENCLOUD API KEY=sk your key here ) and instruct the user to replace it with their actual key from the [QwenCloud Console](https://home.qwencloud.com/api keys). Only write the actual key value if the user explicitly requests it.
Key Compatibility
Scripts support both standard QwenCloud API keys ( sk ... ) and Token Plan keys ( sk sp ... ). Token Plan keys are automatically routed to the Token Plan endpoint — see the [Token Plan model catalog](https://alioth intl.alicdn.com/skills info/models/references/qwencloud token plan models.md) for supported models. If CDN access fails, use the [local fallback](cdn/references/qwencloud token plan models.md).
Token Plan: do not use curl; always use the bundled Python script.
Coding Plan keys (also sk sp prefix but purchased via Coding Plan subscription) are for interactive coding tools only and will fail on these scripts. If qwencloud ops auth is installed, see its references/codingplan.md for details on key types, endpoint mapping, and error codes.
Detect the API key type without exposing the key:
Output Meaning
token plan Token Plan key detected ( sk sp prefix)
payg Standard PAYG key detected
not set No API key found in environment
Model Selection
🚫 CRITICAL — Never override user specified parameters. If the user explicitly specifies a model (in prompt or request JSON), you MUST use exactly that model. Do NOT:
Replace it with a "better suited" or newer model (e.g., swapping the user's qwen3.7 max for a thinking model because the task "looks like reasoning")
Add parameters the user did not ask for ( enable thinking , enable search , style hints)
"Optimize" any explicit user choice
Selection guidance below applies only when the user has NOT specified a model .
Before selecting, recommending, or defaulting a model, fetch and read the current [QwenCloud text model catalog](https://alioth intl.alicdn.com/skills info/models/references/qwencloud text models.md). It contains recent Qwen general purpose models, basic model information, recommendations, and the default model. For coding, translation, or third party families, consult qwencloud model selector or the QwenCloud CLI. If CDN access fails, use the [local fallback](cdn/references/qwencloud text models.md).
1. User specified a model → MANDATORY: use that exact model — do not substitute, do not "optimize", do not add unrequested parameters.
2. Consult the qwencloud model selector skill when model choice depends on requirement, scenario, or pricing.
3. No signal, clear task → use the default from the model catalog.
⚠️ Important : The model catalog is a point in time snapshot and may be outdated. Model availability
changes frequently. Always check the [official model list](https://www.qwencloud.com/models)
for the authoritative, up to date catalog before making model decisions.
Model details : For more information about a specific model, direct the user to its detail page: https://www.qwencloud.com/models/<model name (replace <model name with the exact model ID, e.g. qwen3.6 plus → https://www.qwencloud.com/models/qwen3.6 plus). NEVER modify or guess the model name in the URL.
Dynamic model queries : If the qwencloud model selector skill or QwenCloud CLI ( qwencloud models info <model ) is available, use it for real time model data. CLI requires authentication — see the qwencloud usage skill for login flow.
Execution
Prerequisites
API Key : Check QWENCLOUD API KEY , QWEN API KEY , then DASHSCOPE API KEY using a non plaintext check only (e.g. in shell:
[ n "$QWENCLOUD API KEY" ] ; report only "set" or "not set", never the key value). If not set: run the
qwencloud ops auth skill if available; otherwise guide the user to obtain a key from [QwenCloud Console](https://home.qwencloud.com/api keys) and set it via .env file
( echo 'QWENCLOUD API KEY=sk your key here' .env in project root or current directory) or environment variable.
The script searches for .env in the current working directory and the project root. Skills may be installed independently — do
not assume qwencloud ops auth is present.
Note : The script auto loads .env from the current directory and the project root (in addition to any exported environment
variable). A shell check showing $QWENCLOUD API KEY as "not set" does NOT mean the script will fail — it may still find the
key in .env . Treat the shell check as informational only; the authoritative test is simply running the script (it exits with
a clear error if no key is found anywhere).
Python 3.9+ (stdlib only, no pip install needed for script execution)
Environment Check
Before first execution, verify Python is available:
If python3 is not found, try python version or py 3 version . If Python is unavailable or below 3.9,
PAYG may use Path 2 (curl) ; Token Plan must install Python 3.9+ instead.
Default: Run Script
Script path : Scripts are in the scripts/ subdirectory of this skill's directory (the directory containing this
SKILL.md). You MUST first locate this skill's installation directory, then ALWAYS use the full absolute path to execute
scripts. Do NOT assume scripts are in the current working directory. Do NOT use cd to switch directories before
execution.
Execution note: Run all scripts in the foreground — wait for stdout; do not background.
Discovery: Run python3 <this skill dir /scripts/text.py help first to see all available arguments.
For streaming (recommended for interactive use):
Argument Description
request '{...}' JSON request body
file path.json Load request from file (alternative to request )
stream Enable streaming output
output path Save response JSON to path (file if .json suffix, otherwise directory); use distinct filenames across calls to avoid overwriting
print response Print response to stdout
model ID Override model (also settable in request JSON)
Verify Result
Exit code 0 + output contains valid JSON with choices field → success
Non zero exit, HTTP error, empty response, or JSON with "code" / "message" error → fail
If agent cannot read exit codes, scan output for error patterns ( Error , Traceback , 401 , 403 )
Post execution check : When output is used, verify the response JSON file exists and contains choices
MANDATORY — stderr signal check : After confirming the result, scan the command's stderr output for
[ACTION REQUIRED] or [UPDATE AVAILABLE] . If either signal is present, you MUST follow the instructions
in [Update Check]( update check mandatory post execution) below before responding to the user.
On Failure
If the script fails, match the error output against the diagnostic table below to determine the resolution. If no match,
read [execution guide.md](references/execution guide.md) for alternative paths: curl commands (Path 2), Python SDK code
generation (Path 3), and autonomous resolution (Path 5).
If Python is not available at all → PAYG may use Path 2 (curl); Token Plan must install Python 3.9+
in [execution guide.md](references/execution guide.md).
Error Pattern Diagnosis Resolution
command not found: python3 Python not on PATH Try python or py 3 ; install Python 3.9+ if missing
Python 3.9+ required Script version check failed Upgrade Python to 3.9+
SyntaxError near type hints Python < 3.9 Upgrade Python to 3.9+
QWENCLOUD API KEY/QWEN API KEY/DASHSCOPE API KEY not found Missing API key Obtain key from [QwenCloud Console](https://home.qwencloud.com/api keys); add to .env : echo 'QWENCLOUD API KEY=sk ...' .env ; or run qwencloud ops auth if available
HTTP 401 Invalid or mismatched key Run qwencloud ops auth (non plaintext check only); verify key is valid
SSL: CERTIFICATE VERIFY FAILED SSL cert issue (proxy/corporate) macOS: run Install Certificates.command ; else set SSL CERT FILE env var
URLError / ConnectionError Network unreachable Check internet; set HTTPS PROXY if behind proxy
HTTP 429 Rate limited Wait and retry with backoff
HTTP 5xx Server error Retry with backoff
PermissionError Can't write output Use output to specify writable directory
Quick Reference
Request Fields
Field Type Description
prompt / messages string \ array User input or message list
model string Model ID (e.g. qwen3.7 plus )
system string System prompt (optional)
temperature float 0–2, controls randomness
max tokens int Max output tokens
tools array Function definitions for tool calling