Summary
交互式测试和探索蓝鲸 CLI(bk-cli)命令。当用户希望测试 bk-cli、探索蓝鲸平台 API、验证 bk-cli 功能,或对蓝鲸各系统(cmdb、gse、job、sops、nodeman、devops 等)执行只读命令时,使用此 skill。触发短语包括"测试 bk-cli"、"test…
tencentblueking/bk-cli · Archived
交互式测试和探索蓝鲸 CLI(bk-cli)命令。当用户希望测试 bk-cli、探索蓝鲸平台 API、验证 bk-cli 功能,或对蓝鲸各系统(cmdb、gse、job、sops、nodeman、devops 等)执行只读命令时,使用此 skill。触发短语?
npx skills add tencentblueking/bk-cli --skill test-bk-cli
交互式测试和探索蓝鲸 CLI(bk-cli)命令。当用户希望测试 bk-cli、探索蓝鲸平台 API、验证 bk-cli 功能,或对蓝鲸各系统(cmdb、gse、job、sops、nodeman、devops 等)执行只读命令时,使用此 skill。触发短语包括"测试 bk-cli"、"test…
This repository is archived — consider an actively maintained alternative.
当任务涉及 bk-cli 的通用使用规则时使用,尤?
7 installs当需要通过 `bk-cli bcs` 调用 BCS API 时使用;当前主要覆盖 `bk-cli bcs cluster_manager` 下的集群…
7 installs当需要通过 `bk-cli apigateway` 发现 BlueKing API Gateway 中所有?
7 installs当需要通过 `bk-cli api` 对任意 BlueKing API Gateway 发起原始 HTTP 调用时使用,尤?
7 installsRelated neighbors and high-traction skills in the same topics — useful to compare before installing.
Browser automation CLI for AI agents. Use when the user needs to interact with websites, includ…
810.4K installsDebug Azure production issues on Azure using AppLens, Azure Monitor, resource health, and safe …
568.9K installsPre-deployment validation for Azure readiness. Run deep checks on configuration, infrastructure…
567.7K installsConfigure Azure API Management as an AI Gateway for AI models, MCP tools, and agents. WHEN: sem…
566.3K installsAzure VM/VMSS router. WHEN: create / provision / deploy / spin-up VM, recommend VM size, compar…
510K installsPostgres best practices maintained by Supabase, for Postgres running anywhere. Load this skill …
391.6K installsOther skills from tencentblueking/bk-cli · top by installs.
npx skills add tencentblueking/bk-cli
Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.
master
Files included with this skill beyond the listing page.
SKILL.md
8,613 B
SUMMARY.md
420 B
本 skill 指导对 bk-cli(蓝鲸平台命令行工具)进行系统性、安全的探索。目标是测试所有可用的只读命令,绝不修改任何现有配置,绝不执行破坏性命令。
执行任何命令前,先与用户确认以下两点:
bk-cli version 或 bk-cli -h 能正常执行。若任一条件不满足,停下来引导用户修复后再继续。
测试 help、version、update、completion 这类内置命令,验证 CLI 基本可用性。
bk-cli -h # 获取完整子命令列表,作为后续阶段的依据
bk-cli version # 查看版本信息
bk-cli update -h # 查看 update 用法(不执行实际更新)
bk-cli completion -h # 查看 completion 用法(不执行安装)
注意:update 和 completion 只查看 -h,不实际执行,避免修改本地环境。
先分别查看帮助,然后按完整流程测试 context 和 auth 的各项子命令。
bk-cli context -h
bk-cli auth -h
本阶段通过创建一个临时 context 来完整测试所有子命令,测试结束后清理干净,不影响用户原有的 default context。
执行前先从 default context 获取 bkapiurl_tmpl(bk-cli context list),新 context 使用相同的 URL。认证参数使用以下固定测试值,无需询问用户:
test-ctxtestbkapp_codetestbkapp_secrettestbk_token# 1. 创建临时 context
bk-cli context create test-ctx --bk_api_url_tmpl="<default 的 url_tmpl>"
# 2. 切换到新 context
bk-cli context use test-ctx
# 3. 在新 context 下登录
bk-cli auth login --bk_app_code="test_bk_app_code" --bk_app_secret="test_bk_app_secret" --bk_token="test_bk_token"
# 4. 查看认证状态(应已认证)
bk-cli auth status
# 5. 登出
bk-cli auth logout
# 6. 再次查看认证状态(应未认证)
bk-cli auth status
# 7. 重新登录(恢复认证)
bk-cli auth login --bk_app_code="test_bk_app_code" --bk_app_secret="test_bk_app_secret" --bk_token="test_bk_token"
# 8. 列出所有 context(确认新 context 存在且 active)
bk-cli context list
# 9. 切回 default context
bk-cli context use default
# 10. 删除临时 context(清理)
bk-cli context delete test-ctx
流程结束后验证:bk-cli context list 中不再有 test-ctx,active 仍为 default。
测试 api 和 apigateway 命令,了解可用的网关和接口。
bk-cli apigatewaybk-cli apigateway -h # 查看子命令
bk-cli apigateway list_gateways # 列出所有网关
bk-cli apigateway list_gateway_apis --gateway_name <name> # 列出网关下的所有接口
bk-cli apigateway retrieve_gateway_api_details --gateway_name <name> --api_name <api> # 查看接口详情
bk-cli apibk-cli api 是原始 HTTP 客户端,本阶段结合 apigateway 一起测试:通过 apigateway 查询某个系统命令对应的真实 API 路径,再用 bk-cli api 直接调用验证。
测试流程示例:
# 1. 查询某网关下某个命令的真实 API 路径
bk-cli apigateway retrieve_gateway_api_details --gateway_name bk-apigateway --api_name v2_open_list_gateways
# 2. 从返回结果中提取 path、method
# 例如得到:GET /api/v2/open/gateways/
# 3. 用 bk-cli api 直接调用,可附加过滤参数
bk-cli api bk-apigateway GET "/api/v2/open/gateways/?name=bk-iam"
选取 2~3 个有代表性的只读接口(GET/POST)进行验证即可,不需要穷举所有接口。bk-cli api 仅在本阶段使用,第四阶段测试系统子命令时禁止用它绕过。
对每个系统子命令(cmdb、gse、job、sops、nodeman、devops 等)按以下步骤操作:
bk-cli <system> -h ——获取完整子命令列表。get、list、search、find、query、retrieve。跳过 create、delete、update、transfer、operate、start、push、fastexecute、install* 等。bk-cli <system> <command> -h ——了解所需参数。bk-cli <system> <command> 并展示原始输出。若命令失败,如实上报错误,等待用户指示。尽量从已有命令结果中推导参数,减少对用户的打扰:
searchbusiness 后,得到 bkbiz_id。listbizhosts 后,得到主机 IP 和 bkagentid。searchset 后,得到 bksetid,可用于 searchmodule。getjobinstancestatus 后,得到 stepinstance_id,可用于日志查询。只有真正无法推导的参数(如用户自己作业历史中的 jobinstanceid、devops 的 project_id)才询问用户。
当 API 网关返回 403(X-Bkapi-Error-Code: 1640301,消息:App has no permission):
立即停止。 不要尝试其他路径,不要重试。告知用户:
"遇到了 403 权限不足。需要在 API 网关管理后台给应用
<bkappcode>授权访问<gateway_name>网关的权限。
请前往:API 网关 → 网关管理 →<gatewayname>→ 权限管理 → 应用权限 → 添加<bkapp_code>。
完成授权后告诉我,我会重新执行。"
bkappcode 和 gateway_name 可从 403 响应头和错误消息中获取。
当业务系统返回 403(如 bkerrorcode: 9900403,IAM 权限错误):
立即停止。 告知用户:
"遇到了业务权限不足(IAM 9900403)。需要在权限中心给应用
<bkappcode>申请<systemname>系统的<actionname>权限。
请前往:蓝鲸权限中心 → 申请权限 → 选择系统<systemname>→ 操作<actionname>。"
以下规则不得违反:
create、delete、update(系统子命令中)、transfer、install、start、operate、push、fast_execute、revoke、retry。default 并删除临时 context;禁止对 default context 执行任何修改或删除操作。bk-cli <system> <command>——禁止用 bk-cli api 绕过系统子命令,无论遇到任何错误都不例外。-h 输出发现可用命令和参数。--dry-run——除非用户明确要求预览命令。每个命令测试后展示:
info/data 数组超过 10 条,截断为前 3 条并注明总数)。每个阶段或系统测试结束后,给出汇总表:
| 命令 | 状态 | 备注 |
|---|---|---|
| search_business | ✅ | 返回 1 条业务 |
| listbizhosts | ✅ | 共 52 台主机 |
| listhostswithout_biz | ❌ IAM 403 | 需要 viewresourcepool_host 权限 |
收到 403:App has no permission [bk_app_code=bk_apigw_test, gateway=bk-sops]
→ 立即停止,告知用户:
"遇到了 403。请在 API 网关后台给 bk_apigw_test 授权 bk-sops 网关权限后告诉我,我重新执行。"