中文 | English
Help AI coding agents use Huawei Cloud safely and accurately — a single integration that gives agents cloud knowledge, CLI tooling, and safety guardrails.
Supports OpenCode, Codex, CodeArts Agent, WorkBuddy, DeepSeek Harness (DSH), OfficeAce, Hermes, OpenClaw, and AtomCode.
- Node.js >= 22
China mainland users: If you experience slow downloads or connection issues with the default npm registry, configure the Huawei Cloud npm mirror:
npm config set registry https://mirrors.huaweicloud.com/repository/npm/Restore the default registry:
npm config delete registryMirror lag: npm mirrors (npmmirror, mirrors.huaweicloud.com) may lag behind the official registry for hours after a new release. If install fails with
ETARGETor you get an older version, install via the official registry instead:npx --yes --registry=https://registry.npmjs.org huaweicloud-devkit install --target <target>
If
--targetis omitted, the installer auto-detects agents on your machine:
- None detected: interactive terminals ask what you want (install to one explicit target / install to all / wire up a generic MCP agent); non-interactive shells error out with the supported target list.
- One detected: installs directly to it.
- Multiple detected: interactive terminals show a multi-select chooser; non-interactive shells error and point at
--target <agent>/--target all. For a one-shot full setup, runnpx --yes huaweicloud-devkit install --target all(Codex is skipped when its CLI is missing).
The commands below are global (they act on every agent):
npx --yes huaweicloud-devkit version # print CLI version and installed plugin versions per agent
npx --yes huaweicloud-devkit uninstall --target all --clean-global # also remove KooCLI + OBS confignpx --yes huaweicloud-devkit install --target opencodeRestart the session after installation.
npx --yes huaweicloud-devkit doctor --target opencode
npx --yes huaweicloud-devkit status --target opencode
npx --yes huaweicloud-devkit update --target opencode
npx --yes huaweicloud-devkit uninstall --target opencode
rm -rf ~/.npm/_npx/ # Linux/macOS; Windows: rmdir /s /q %LOCALAPPDATA%\npm-cache\_npxnpx --yes huaweicloud-devkit install --target codexRestart the Codex session after installation.
codex plugin list # verify huaweicloud-devkit@huaweicloud-devkit is installed and enabled
npx --yes huaweicloud-devkit doctor --target codex
npx --yes huaweicloud-devkit status --target codex
npx --yes huaweicloud-devkit update --target codex
npx --yes huaweicloud-devkit uninstall --target codexThen mention @huaweicloud-devkit in Codex or describe your Huawei Cloud task directly.
Requires Codex CLI — the
codexcommand must be in PATH. If Codex is installed via WindowsApps (Microsoft Store), use--target codex-desktopinstead. Runcodex --versionto verify CLI availability.
Use this target when the Codex CLI is unavailable or when Codex is installed through WindowsApps on Windows.
npx --yes huaweicloud-devkit install --target codex-desktopRestart the Codex Desktop session after installation.
npx --yes huaweicloud-devkit doctor --target codex-desktop
npx --yes huaweicloud-devkit status --target codex-desktop
npx --yes huaweicloud-devkit update --target codex-desktop
npx --yes huaweicloud-devkit uninstall --target codex-desktopThen mention @huaweicloud-devkit in a new Codex Desktop task or describe your Huawei Cloud task directly.
npx --yes huaweicloud-devkit install --target codeartsRestart the session after installation.
npx --yes huaweicloud-devkit doctor --target codearts
npx --yes huaweicloud-devkit status --target codearts
npx --yes huaweicloud-devkit update --target codearts
npx --yes huaweicloud-devkit uninstall --target codeartsSandbox mode: CodeArts defaults to sandbox mode which blocks KooCLI.
install-hclouddetects this and shows how to resolve it — install KooCLI outside the sandbox terminal, or disable sandbox mode in CodeArts settings (Settings → Chats → Agents Terminal Command Running Mode → Auto Running).
npx --yes huaweicloud-devkit install --target codearts-workRestart the session after installation.
npx --yes huaweicloud-devkit doctor --target codearts-work
npx --yes huaweicloud-devkit status --target codearts-work
npx --yes huaweicloud-devkit update --target codearts-work
npx --yes huaweicloud-devkit uninstall --target codearts-workCodeArts Work (CodeArts Space, appId:
com.codearts.work) uses user-level config at%USERPROFILE%\.codeartswork\. No project-level.codeartsworkdirectory is created.
npx --yes huaweicloud-devkit install --target workbuddyRestart the session after installation.
npx --yes huaweicloud-devkit doctor --target workbuddy
npx --yes huaweicloud-devkit status --target workbuddy
npx --yes huaweicloud-devkit update --target workbuddy
npx --yes huaweicloud-devkit uninstall --target workbuddynpx --yes huaweicloud-devkit install --target dshRestart the DSH session after installation.
npx --yes huaweicloud-devkit doctor --target dsh
npx --yes huaweicloud-devkit status --target dsh
npx --yes huaweicloud-devkit update --target dsh
npx --yes huaweicloud-devkit uninstall --target dshDSH V1 reuses the existing MCP server through
@deepseek-ai/dsh-mcp-client. If the installer reports that the client is not detected, run:npx @deepseek-ai/dsh plugin --profile web add @deepseek-ai/dsh-mcp-client.
npx --yes huaweicloud-devkit install --target officeaceRestart OfficeAce after installation.
npx --yes huaweicloud-devkit doctor --target officeace
npx --yes huaweicloud-devkit status --target officeace
npx --yes huaweicloud-devkit update --target officeace
npx --yes huaweicloud-devkit uninstall --target officeacenpx --yes huaweicloud-devkit install --target hermesRestart the Hermes session after installation.
npx --yes huaweicloud-devkit doctor --target hermes
npx --yes huaweicloud-devkit status --target hermes
npx --yes huaweicloud-devkit update --target hermes
npx --yes huaweicloud-devkit uninstall --target hermesUninstall notes: On Linux, run
rm -rf ~/.npm/_npx/* && npm cache clean --forceafter uninstall to ensure a clean slate. On Windows, close all Hermes sessions first to release file locks, then after uninstall check%LOCALAPPDATA%\hermes\config.yamlfor YAML corruption and manually remove%LOCALAPPDATA%\hermes\huaweicloud-pluginsif any files remain. Safety hooks: The installer configures Hermes shell hooks (config.yaml→hooks.pre_tool_call) to intercept unsafe terminal commands such as credential file reads, environment variable dumps, and unapprovedhcloudwrite operations. Hermes shows a consent prompt the first time; approve it or sethooks_auto_accept: trueinconfig.yamlto auto-accept. MCP Python SDK: The installer automatically installs themcpPython package required by Hermes for MCP tool discovery. If you see[FAIL] Hermes MCP Python SDKindoctor, runpip3 install mcpmanually. Windows: See docs/hermes-windows.md for known issues and workarounds.
# Recommended (ClawHub)
openclaw plugins install clawhub:huaweicloud-devkit
openclaw plugins uninstall huaweicloud-devkit
openclaw plugins update huaweicloud-devkitRestart OpenClaw after installation. If prompted for security risk acknowledgment, add --acknowledge-clawhub-risk.
# Or via npx
npx --yes huaweicloud-devkit install --target openclaw
npx --yes huaweicloud-devkit status --target openclaw
npx --yes huaweicloud-devkit update --target openclaw
npx --yes huaweicloud-devkit uninstall --target openclaw
rm -rf ~/.npm/_npx/ # Linux/macOS; Windows: rmdir /s /q %LOCALAPPDATA%\npm-cache\_npxnpx --yes huaweicloud-devkit install --target atomcodeRestart the AtomCode session after installation.
npx --yes huaweicloud-devkit doctor --target atomcode
npx --yes huaweicloud-devkit status --target atomcode
npx --yes huaweicloud-devkit update --target atomcode
npx --yes huaweicloud-devkit uninstall --target atomcodeAny agent that supports MCP can use the standard config:
{
"mcpServers": {
"huaweicloud-devkit": {
"command": "npx",
"args": ["-y", "-p", "huaweicloud-devkit", "huaweicloud-devkit-mcp"]
}
}
}No installation required — npx handles everything.
For manual MCP registrations like this, do not put credentials in the config.
HW_ACCESS_KEY/HW_SECRET_KEYare reserved for platform/CI-injected accounts (e.g. a DevSpace-managed default account) — configure your own account vianpx huaweicloud-devkit auth init(the single entry point), and switch accounts at runtime with thehuaweicloud_auth_init/huaweicloud_auth_switchMCP tools. Seeplugins/huaweicloud-core/skills/huaweicloud-cli-and-auth/SKILL.mdfor the full credential-resolution priority.
If your agent supports type: "remote" (Streamable HTTP) instead of stdio, start the devkit remote MCP server locally first:
npx --yes huaweicloud-devkit-mcp --transport remoteIt listens on 127.0.0.1:9528 by default. Then connect with a remote config (opencode example):
Use
--port <port>if 9528 is taken and updateurlaccordingly; add--host 0.0.0.0for LAN access. The remote server has no built-in auth — do not expose it anonymously to the public internet.
npx --yes huaweicloud-devkit install-hcloudnpx --yes huaweicloud-devkit auth initSynchronizes AK/SK to KooCLI, OBS, and sandbox APIs in one step — this is the single entry point. Never hard-code AK/SK into agent or shell config.
Account switching at runtime (within an agent session): use the MCP tools huaweicloud_auth_init (in-memory, highest priority) or huaweicloud_auth_switch (actions: temporary / persist / clear). In sandbox/DevSpace environments where a default account is injected via HW_ACCESS_KEY/HW_SECRET_KEY, a plain auth init will not override it — use huaweicloud_auth_switch action=persist to make the session account win.
Credential resolution priority (highest first):
| # | Source | Set by |
|---|---|---|
| 1 | Runtime (session) credentials | huaweicloud_auth_init / huaweicloud_auth_switch action=temporary |
| 2 | S1 global file with configuredBySession: true |
huaweicloud_auth_switch action=persist |
| 3 | Environment variables (HW_ACCESS_KEY/HW_SECRET_KEY) |
platform/DevSpace-injected default account |
| 4 | CodeArts / CodeArts Work | .codeartsdoer/mcp/mcp_settings.json / .codeartswork/mcp/mcp_settings.json |
| 5 | S1 global file (no session flag) | auth init |
| 6 | KooCLI profile | ~/.hcloud/config.json (KooCLI commands only) |
Security: never put your own AK/SK into the MCP config
envfield — they'd be stored in plaintext and could leak if the config file is committed to git.envis for platform/CI injection only.
Full details: plugins/huaweicloud-core/skills/huaweicloud-cli-and-auth/SKILL.md.
npx --yes huaweicloud-devkit install --target allnpx --yes huaweicloud-devkit@latest version
npx --yes huaweicloud-devkit@latest update --target allupdate is incremental — it refreshes installed files without touching your
config. Always keep @latest so npm fetches the newest version instead of a
locally cached older one.
npx --yes huaweicloud-devkit proxy init # configure proxy (interactive)
npx --yes huaweicloud-devkit proxy show # show effective proxy settings
npx --yes huaweicloud-devkit proxy clear # remove proxy configurationConfigures HTTP/HTTPS proxy for connections to Huawei Cloud services (e.g. enterprise intranet environments). Settings are saved to ~/.config/huaweicloud/proxy.json.
Environment variables HTTPS_PROXY, HTTP_PROXY, and NO_PROXY take precedence over the file configuration — use proxy show to inspect the effective settings.
HuaweiCloud DevKit collects anonymous telemetry to understand usage patterns and improve the plugin. Telemetry is enabled by default.
- Installation ID — a SHA-256 hash derived from a machine fingerprint (hostname + MAC address + OS type + home directory). The raw values are never sent or stored.
- User hash — a server-generated user identifier hash (produced by the Huawei Cloud backend
check-user/generatorUserIDHashAPI). It is cached locally and sent with every event; it is not derived from any local PII. - Plugin version — the installed
huaweicloud-devkitversion. - Agent harness — which AI coding agent is running (e.g.
opencode,codex,codearts). - Agent version — the agent's version string.
- OS type and version — e.g.
Linux,Darwin,Windows_NT. - Capability — how the event was triggered:
mcp(MCP tool invocation) orcli(CLI command), derived from the event key. - Event type — what happened, e.g.
plugin:install,plugin:first_use,dau:active_today(daily active),tool:<tool_name>,skill:retrieve,sandbox:connect. - Event value — a short sanitized string (max 255 chars, newlines/tabs stripped). For tool events this is typically
1; for skill retrieval it is the skill name.
- No AK/SK, access keys, or any credentials
- No user input, prompts, or code content
- No IP addresses
- No personally identifiable information (PII)
- No file paths or project names
Events are queued in memory and sent in batches (up to 100 events per batch) via HTTP POST to Huawei Cloud's telemetry endpoint every 60 seconds. Transmission respects your proxy configuration. Failed requests are retried up to 3 times, then dropped.
Set the environment variable:
export HUAWEICLOUD_DEVKIT_TELEMETRY=offWhen set to off, no telemetry events are collected or transmitted.
To log telemetry activity for troubleshooting:
export HUAWEICLOUD_DEVKIT_DEBUG=trueDebug logs are written to the plugin's telemetry/telemetry-debug.log file.
- Guided cloud operations — agents get step-by-step guidance for 20+ commonly used Huawei Cloud services (ECS, OBS, VPC, RDS, GaussDB, FunctionGraph, APIG, CCE, and more)
- Safety-first execution — all write operations require explicit user approval; credentials and secrets are automatically redacted from output
- Pre-execution risk checks — public exposure, credential leaks, and destructive operations are caught before they run
- Regional awareness — auto-discovers available regions and checks service availability before creating resources
- Sandbox (DevStation) — temporary cloud runtime for web app deployment with instant public URL preview
ECS, OBS, VPC, IAM, RDS, GaussDB, FunctionGraph, APIG, CCE, SMN/DMS, ModelArts, Cloud Eye, CTS, DEW, Billing, CBR, WAF/AAD, DDS/DCS, Deployment, and Getting Started guides.
Above is the pre-wired guidance list; the remaining 200+ Huawei Cloud services are still reachable via KooCLI / API / SDK routing (see capability-discovery and cli-and-auth meta-skills).
- Architecture
- Safety Model
- Hook Rule Model
- DeepSeek Harness Integration
- Changelog
- KooCLI official docs
This project is licensed under the Apache-2.0 License. See LICENSE.
{ "mcp": { "huaweicloud-devkit": { "type": "remote", "url": "http://localhost:9528", "enabled": true, }, }, }