Files
ECC/docs/QWEN-GUIDE.md
T

2.9 KiB

Qwen CLI Adapter Guide

ECC can install its managed command, agent, skill, rule, and MCP surfaces into the Qwen CLI home directory.

Install

From the ECC repository root:

./install.sh --target qwen --profile minimal

Preview a larger install before copying files:

./install.sh --target qwen --profile full --dry-run

The Qwen adapter writes into ~/.qwen/ and records managed file ownership in ~/.qwen/ecc-install-state.json.

Installed Layout

The managed install can populate:

~/.qwen/
  QWEN.md
  agents/
  commands/
  mcp-configs/
  rules/
  skills/
  ecc-install-state.json

The installer preserves the source layout for rules, so language rule sets stay under paths such as ~/.qwen/rules/common/ and ~/.qwen/rules/typescript/.

Updating

Rerun the same install command after pulling ECC updates. The installer uses the install-state file to update ECC-managed files without claiming unrelated user files in ~/.qwen/.

Uninstalling

Use the managed uninstall path rather than deleting the whole Qwen directory:

node scripts/uninstall.js --target qwen

That removes files recorded in ~/.qwen/ecc-install-state.json and leaves unrelated Qwen configuration alone.

Scope

This target is intentionally narrower than stale PR #1352. It ports the maintainable Qwen install-target intent onto the current selective installer and avoids unverified hook-runtime claims until Qwen's hook/event contract is confirmed.

Agent adaptation

Managed Qwen installs adapt canonical agent tools and colors before recording ownership. Claude model tiers become model: inherit, so the configured Qwen session selects its provider. Canonical agent files stay unchanged. The standalone scripts/qwen-adapt-agents.js utility can adapt an explicitly selected, user-owned copy; use the managed installer for ECC-owned files to keep repair and uninstall receipts consistent. Native subagent dispatch still requires verification in the user's configured Qwen runtime.

Qwen Code 0.25.0 treats omitted, null, and empty tools fields in named-agent files as inheriting the parent tool registry. An empty definition list differs from the internal runtime ToolConfig and fork_tools deny-all contracts. See the official named-agent conversion and empty-list validation. ECC rejects an explicitly empty or null source tools field before managed installation writes or standalone batch rewrites, because this adapter cannot represent a deny-all agent through that native field. Use a nonempty explicit allowlist, or omit the field only when parent-tool inheritance is intended. These checks verify adaptation and write prevention; they do not certify native provider execution or sandbox containment.