日志排障本应围绕问题本身展开,但实际操作常常被琐事切碎:在控制台里反复切换页面、先猜测再定位日志组和日志流、把时间范围、关键词和筛选条件手工拼成查询,最后还要把零散结果整理成可交接的结论。对于同时维护多个区域、项目或服务的团队,这些步骤既耗时,也容易遗漏上下文。

Huawei LTS Skill + MCP 将这段流程接入 Claude Code、OpenCode、Codex 和 Cursor:客户端理解自然语言任务,Skill 将任务约束为可审计的 LTS 工作流,MCP Server 再通过官方 SDK 调用华为云 LTS API。它的目标是降低发现资源、检索日志和整理证据的操作成本,而不是替代华为云 LTS 的权限体系,也不是替代现有监控平台、告警策略或运维流程。

本文只介绍工具的安装思路、能力边界和排障方法;不包含也不声称执行过任何真实云端查询、日志结果或故障结论。

适用读者

  • 希望在编程 Agent 中快速接入华为云 LTS 的开发者、运维工程师和 SRE;
  • 第一次接触 Skill 或 MCP,想弄清客户端、工具服务与云 API 如何分工的读者;
  • 需要将日志检索、告警检查、采集审计等任务纳入更清晰协作流程的团队。

为什么日志排障需要一条更短的路径

一次“最近 30 分钟为什么 5xx 增多”的调查,通常至少涉及四类工作:确认区域与项目、定位日志组和日志流、构造时间与关键词条件、归纳命中内容并给出下一步。单靠控制台并非不能完成,但在跨服务排查时,页面切换和重复录入会吞掉大量注意力;而把这些细节交给没有边界的自动化,又会带来误改资源和泄露敏感信息的风险。

这个项目把“先发现、再检索、后总结”的只读链路变成 Agent 可调用的工具工作流。对于需要写入的操作,它不会把“能调用”误解为“应当立即执行”:LTS 账号权限仍由华为云控制,监控与告警体系仍由团队负责;工具只在被授予的权限范围内工作。

架构与调用链

下面的主链路刻画一次请求从人到云服务的边界,不把客户端内部推理或云端实现细节混入图中。

用户

Claude Code / OpenCode / Codex / Cursor

Huawei LTS Skill

huawei-lts MCP Server

Huawei Cloud Python SDK

华为云 LTS API

各层职责

客户端(Claude Code、OpenCode、Codex 或 Cursor)负责加载本地 Skill 与 MCP 配置,承接用户的自然语言请求,并在需要时展示可调用工具与执行反馈。它不是云权限的替代品,也不应在对话中接收真实 AK/SK。

Huawei LTS Skill 负责把意图路由为安全的工作流:先补齐区域与项目等上下文,发现当前会话暴露的真实工具名,优先选择范围最小的读取操作。它还规定写操作的确认边界和结果表达方式。

huawei-lts MCP Server 是本地 stdio 工具服务,提供 LTS 操作及其参数模型,并将客户端的工具调用转交给 SDK。它不自行扩大账号权限,也不应编造任何云端结果。

Huawei Cloud Python SDK 负责与华为云服务通信所需的签名和 API 调用封装。项目依赖官方 Python SDK,而不是直接拼接未受约束的 HTTP 请求。

华为云 LTS API 是最终的云服务接口,按所配置账号在目标区域、项目中的授权范围执行请求。资源可见性和允许的操作以 LTS 权限体系为准。

当前能力概览与安全定位

本文所基于的版本提供 92 项 LTS 操作。这些能力可按任务意图归纳为五类:

类别 可覆盖的典型任务
日志 发现日志组与日志流、检索日志、查看直方图或上下文、查询结构化日志
告警 检查关键词/SQL 告警规则、活动或历史告警、通知主题与模板
转储/采集 检查转储任务、OBS 转储、接入配置、主机组与日志采集状态
模板/仪表盘 管理结构化模板、查询条件与收藏项,管理仪表盘、查看图表及相关映射
消费组/游标 查看或管理消费组、分片、按时间查询游标与更新检查点

“92 项”描述的是已暴露的工具能力范围,不代表 Agent 会默认自动执行全部操作。Skill 的安全策略是只读优先:默认优先使用 List*Show* 进行检查与取证;对于更新、删除、启停以及批量创建,必须先说明目标资源、区域/项目、计划变更和可能影响,并等待用户明确确认。完成写入后,还应以读取操作回查最终状态。

这层约束与最小权限原则相互配合:为账号分配完成任务所需的最小 LTS 权限,日志摘要应脱敏,避免默认倾倒大段原始响应。这样,Agent 可以帮助缩短排障路径,但关键变更仍始终留在清晰、可确认的人工决策点上。

接下来如何阅读本文

后续章节将依次完成安装准备、四端配置、凭证安全、日志排障示例、升级卸载和常见问题排查。贯穿全文的原则不变:先用只读操作确认事实,再基于证据提出建议;若确需改变云端资源,先让用户了解影响并明确确认。

安装前准备:把运行环境和云端权限分开检查

安装脚本面向 macOS/Linux。开始前请确认本机已经具备 Python 3.10+、Git 与 uv,并确认将用于 LTS 的华为云凭证已被授予与实际操作相符的 LTS 权限。Python 和 uv 分别用于创建、锁定项目的隔离运行时;Git 用于取得可审查的源码;而 LTS 权限决定 MCP 在云端能看见和能执行什么。安装成功不等于获得额外云权限。

将仓库克隆到当前用户目录后进入项目:

git clone https://github.com/jkrandom-sudo/huawei-lts-skill.git ~/huawei-lts-skill
cd ~/huawei-lts-skill

下文以 Codex 为例,因此使用 --platforms codex;该选项只安装 Codex 所需的 Skill 和 MCP 配置,不会替其他客户端写入配置。

选择运行时安装目录

安装器会将项目运行时部署到安装目录,并在其中创建隔离的 .venv。默认安装到 ~/.local/share/huawei-lts-skill

./install.sh --platforms codex

若希望将运行时放在用户目录下另一个位置,可显式指定:

./install.sh --platforms codex --install-dir ~/tools/huawei-lts-skill

也可以使用当前用户可写的绝对路径,例如面向主机级统一部署的目录:

./install.sh --platforms codex --install-dir /srv/huawei-lts-skill

兼容的环境变量也可指定目录:

HUAWEI_LTS_INSTALL_DIR=~/tools/huawei-lts-skill ./install.sh --platforms codex

目录优先级从高到低是 --install-dirHUAWEI_LTS_INSTALL_DIR、默认目录。因此,当命令行和环境变量同时存在时,以命令行指定的位置为准;这让一次性部署能明确覆盖会话环境,避免安装目标含糊不清。

为什么安装器对目录很严格

安装器能识别 ~、以 ~/ 开头的路径,以及当前用户可写的绝对路径,并会先将 ~ 解析为用户主目录,再检查最终目录。~/tools/huawei-lts-skill 是可用形式;但单独的 ~ 会解析为用户主目录本身,因此作为最终安装目录被拒绝。相对路径 ./runtime 也会被拒绝:它依赖执行时所在目录,容易把运行时意外写入源码树或其他位置;需要时请改用 ~/runtime 或绝对路径。

出于保护文件系统的目的,安装器也会拒绝 /、用户主目录本身,以及没有本项目所有权标记的非空目录。前两者范围过大,错误部署或后续清理都可能波及无关文件;后一限制则避免把已有目录当作本项目运行时而覆盖其中内容。只有带有本项目安装标记的既有目录才会被视为可更新的安装目录。

若选择 /srv/huawei-lts-skill 这类用户目录外的位置,请先使目标或其最近的现有父目录可由当前用户写入。安装器不会自动使用 sudo,也不应通过给整个安装命令附加 sudo 来绕开权限检查:这样会把运行时、配置备份和后续更新混入 root 所有权,增加维护和误操作风险。

安装完成后会看到什么

安装完成时,安装器会输出运行时目录,以及每个所选客户端的 Skill 与 MCP 配置位置。对于 Codex,输出对应的 Skill 位置为 ~/.agents/skills/huawei-lts,MCP 配置为 ~/.codex/config.toml;随后在本机配置中替换 HUAWEI_* 占位符并重启客户端。

值得特别检查的是 MCP 配置中的 command:即使输入安装目录时使用了 ~,安装器写入的也是已解析的绝对路径,例如 /absolute/path/to/huawei-lts-skill/.venv/bin/huawei-lts-mcp,而非包含 ~ 的字面路径。这样客户端启动 MCP 时不依赖各自的 shell 展开规则,路径解析更稳定、也更易核验。

四端 Skill 与 MCP 配置:同一运行时,不同客户端位置

四个客户端共用同一个本地运行时和同一组 LTS 凭证占位符,但各自读取 Skill 和 MCP 配置的位置不同。下表中的 ~ 均表示当前用户的主目录;它适合用于阅读和定位文件。MCP 的 command 则必须是实际解析后的绝对路径,不能把示例中的 ~ 原样写进去。

Client Skill MCP configuration
Claude Code ~/.claude/skills/huawei-lts ~/.claude.json
OpenCode ~/.config/opencode/skills/huawei-lts ~/.config/opencode/opencode.json
Codex ~/.agents/skills/huawei-lts ~/.codex/config.toml
Cursor ~/.cursor/skills/huawei-lts ~/.cursor/mcp.json

最省心的方式是从源码目录运行相应安装命令。安装器会部署本地运行时、复制所选客户端的 Skill、写入或合并 huawei-lts MCP 配置条目,并备份已有配置;其他已有服务不应被替换。

Claude Code

安装 Claude Code:

./install.sh --platforms claude

Skill 安装在 ~/.claude/skills/huawei-lts,MCP 配置文件是 ~/.claude.json。该文件的完整服务条目结构如下;请仅在本机将四个占位符替换为自己的值,切勿把真实 AK/SK 粘贴到聊天或提交到版本库。

{
  "mcpServers": {
    "huawei-lts": {
      "command": "/absolute/path/to/huawei-lts-skill/.venv/bin/huawei-lts-mcp",
      "args": [],
      "env": {
        "HUAWEI_ACCESS_KEY": "REPLACE_WITH_YOUR_AK",
        "HUAWEI_SECRET_KEY": "REPLACE_WITH_YOUR_SK",
        "HUAWEI_REGION": "REPLACE_WITH_YOUR_REGION",
        "HUAWEI_PROJECT_ID": "REPLACE_WITH_YOUR_PROJECT_ID"
      }
    }
  }
}

保存配置并重启 Claude Code 后,验证服务是否已被识别:

claude mcp get huawei-lts

OpenCode

安装 OpenCode:

./install.sh --platforms opencode

Skill 安装在 ~/.config/opencode/skills/huawei-lts,MCP 配置文件是 ~/.config/opencode/opencode.json。OpenCode 使用 $schema 与顶层 mcp,并将本地命令写为单元素数组:

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "huawei-lts": {
      "type": "local",
      "command": [
        "/absolute/path/to/huawei-lts-skill/.venv/bin/huawei-lts-mcp"
      ],
      "enabled": true,
      "environment": {
        "HUAWEI_ACCESS_KEY": "REPLACE_WITH_YOUR_AK",
        "HUAWEI_SECRET_KEY": "REPLACE_WITH_YOUR_SK",
        "HUAWEI_REGION": "REPLACE_WITH_YOUR_REGION",
        "HUAWEI_PROJECT_ID": "REPLACE_WITH_YOUR_PROJECT_ID"
      }
    }
  }
}

在本机填写凭证后重启 OpenCode,再检查 MCP 列表:

opencode mcp list

Codex

安装 Codex:

./install.sh --platforms codex

Skill 安装在 ~/.agents/skills/huawei-lts,MCP 配置文件是 ~/.codex/config.toml。TOML 中的服务名使用表名 [mcp_servers.huawei-lts],凭证放在其 env 子表:

[mcp_servers.huawei-lts]
command = "/absolute/path/to/huawei-lts-skill/.venv/bin/huawei-lts-mcp"
args = []
enabled = true

[mcp_servers.huawei-lts.env]
HUAWEI_ACCESS_KEY = "REPLACE_WITH_YOUR_AK"
HUAWEI_SECRET_KEY = "REPLACE_WITH_YOUR_SK"
HUAWEI_REGION = "REPLACE_WITH_YOUR_REGION"
HUAWEI_PROJECT_ID = "REPLACE_WITH_YOUR_PROJECT_ID"

在本机完成替换并重启 Codex 后,运行:

codex mcp list

Cursor

安装 Cursor:

./install.sh --platforms cursor

Skill 安装在 ~/.cursor/skills/huawei-lts,MCP 配置文件是 ~/.cursor/mcp.json。Cursor 与 Claude Code 都使用顶层 mcpServers,但它们是两份独立的本地配置文件:

{
  "mcpServers": {
    "huawei-lts": {
      "command": "/absolute/path/to/huawei-lts-skill/.venv/bin/huawei-lts-mcp",
      "args": [],
      "env": {
        "HUAWEI_ACCESS_KEY": "REPLACE_WITH_YOUR_AK",
        "HUAWEI_SECRET_KEY": "REPLACE_WITH_YOUR_SK",
        "HUAWEI_REGION": "REPLACE_WITH_YOUR_REGION",
        "HUAWEI_PROJECT_ID": "REPLACE_WITH_YOUR_PROJECT_ID"
      }
    }
  }
}

在本机填写凭证并重启 Cursor 后,运行:

cursor-agent mcp list

配置完成后的共同检查

无论使用哪一端,真实凭证只应保留在受控的本地客户端配置及其可能包含旧内容的 .bak.* 备份中;不要通过对话、截图、日志或 Git 传递它们。安装器备份的是完整既有配置,因此 .bak.* 也可能含有真实 AK/SK:请检查活动配置和所有 .bak.* 文件的访问权限,并在适用时将访问限制为当前用户。按组织的数据保留与安全处置政策保留或安全移除旧备份;若怀疑已暴露凭证,应立即按组织流程轮换。每次编辑配置后都要重启对应客户端,使其重新读取 MCP 设置。若命令未识别服务,先确认 command 指向存在的绝对可执行文件 /absolute/path/to/huawei-lts-skill/.venv/bin/huawei-lts-mcp 的实际安装位置,再检查四个 HUAWEI_* 项是否仍为占位符或是否填写到了错误的配置文件。

实战:应用间歇性 5xx 的最近 30 分钟排障

假设应用出现间歇性 5xx,需要分析最近 30 分钟的错误日志。这个场景的重点不是先猜某个日志流或直接拉取全部原始日志,而是把范围逐步收窄,并让每一个事实都可追溯。以下流程只使用读取操作;真实工具返回取决于当前云环境、账号权限以及实际日志保留情况,本文不展示也不虚构任何查询结果。

  1. **发现资源。**先列出当前区域和项目下的候选日志组,再列出候选日志组中的日志流,记录选定资源的名称和 ID。若服务名或环境不明确,应先向提问者确认,而不是凭名称猜测目标。
  2. **确认查询范围。**在检索前复述并确认区域、项目、目标日志组、目标日志流,以及“最近 30 分钟”的起止时间。为避免歧义,工具查询应使用对应的 UTC 毫秒时间范围;范围较大或错误发生时点未知时,可先看直方图,再查看代表性上下文。
  3. **检索并按需翻页。**以最小可用范围检索 5xx、HTTP 状态字段或异常关键词;如果响应带有分页信息,应沿用返回的分页位置继续读取,不能反复从第一页开始。只获取能支持判断的代表性上下文,不默认导出完整原始载荷。
  4. **聚合事实。**统计命中的状态码、异常类型、时间分布与涉及的日志流;把“工具返回的计数、字段和值”写为事实。若某个日志流没有命中,也应明确它在已确认时间范围内没有命中,而不要据此断言整个应用没有错误。
  5. **脱敏结论与下一步。**代表性记录只保留排障所需字段,并脱敏密码、令牌、Cookie、授权头、个人信息及业务敏感值。把基于现象提出的可能原因单列为推断,例如“某异常类型集中出现,建议进一步核对上游依赖”,不要把推断写成已经证实的根因。

若必须在文档或工单中说明日志形态,可使用下列脱敏的示意行;它们仅用于说明汇总格式,不是实际查询结果:

示例(非实际查询结果):时间=…;status_code=5xx;exception_type=…;request_id=已脱敏

可直接粘贴的排障提示词

请使用 huawei-lts 对“应用出现间歇性 5xx”执行只读排障,不要创建、更新、删除、启停资源,也不要修改消费组检查点。

目标是分析最近 30 分钟的错误日志。请先在已配置的区域和项目中列出候选日志组及其日志流;在检索前向我确认目标区域、项目、日志组、日志流和最近 30 分钟的实际起止时间。得到确认后,再以最小必要时间范围检索;如时间分布不清楚,先查看直方图,并正确跟随分页信息。

请按状态码和异常类型汇总命中情况,说明涉及的时间段和日志流。仅展示经脱敏的代表性样例:不得输出 AK/SK、密码、令牌、Cookie、授权头、个人信息或完整原始日志。结果请分为“事实(来自工具返回)”和“推断/建议(基于事实,需进一步验证)”;若工具不可用、权限不足或参数无效,请如实说明并给出配置或范围核对建议,不要编造结果或盲目重试。

安全边界:让排障可控而非无限授权

凭证和日志都是敏感资产。不要在对话、截图、日志、工单附件或代码仓库中暴露 AK/SK,也不要输出 HUAWEI_ACCESS_KEYHUAWEI_SECRET_KEY 的真实值。安装器生成的完整配置 .bak.* 备份同样可能保存真实 AK/SK,因此应与活动配置一并检查访问权限,并在适用时仅允许当前用户访问;旧备份须按组织政策保留或安全移除。若怀疑活动配置或备份已泄露,立即按组织流程轮换凭证。代表性日志应优先用摘要替代完整载荷,并继续脱敏密码、令牌、Cookie、授权头和个人数据。云端身份应遵循最小权限:只授予完成当前检查或变更所必需的 LTS 权限,并将区域和项目限制在已确认的范围内。

读取检查不等于可以改动资源。对删除、更新、启用/停用、检查点变更和批量创建等写操作,固定采用以下链路:影响说明 → 用户确认 → 执行 → 回读验证。影响说明应列出资源名称或 ID、区域、项目、拟议变更,以及不可逆或可用性影响;用户确认必须针对这一项明确、具体的变更。自然语言中的“帮我处理”“都按最佳实践做”或此前一次确认,都不能解释为对后续资源、其他区域/项目或任意写操作的无限授权。

执行前还应先读取当前状态并展示拟议差异;执行时只做已确认的一项有边界的写入;执行后读取同一资源,报告实际观察到的状态。遇到无效参数或权限不足时,不应盲目重试;限流、超时或瞬时 5xx 也仅能在安全前提下进行有限次数重试。MCP 不可用时,应说明配置检查方向,而不是杜撰工具输出。

进阶场景:从排障延伸到运行保障

下面的场景均用于规划或发起检查,不表示本文已经对任何云资源执行过操作。每项都先以只读方式确认范围与当前状态;若发现需要修改,回到“影响说明 → 用户确认 → 执行 → 回读验证”的链路。

告警规则检查

**目标:**确认关键词和 SQL 告警规则是否覆盖目标日志流,并核对规则状态、严重级别、查询条件与通知去向,再关联活动或历史告警。任何变更前都先展示当前规则与精确差异。

推荐提示词:“请在已确认的区域和项目中只读列出关键词与 SQL 告警规则,再查看相关活动和历史告警;按规则状态、严重级别、查询条件、日志流和通知去向汇总。不要修改规则;请将观察到的事实与优化建议分开。”

转储任务检查

**目标:**列出转储任务,并按源日志组/日志流和目标类型整理,确认数据是否按预期流向下游。对转储任务或目标端的任何调整都属于有影响的写入。

推荐提示词:“请只读检查已确认范围内的 LTS 转储任务,按源日志组、日志流和目标类型汇总,并指出需要进一步核对的配置项。不要创建、更新、删除或启停任务;结果请区分事实与推断。”

接入配置审计

**目标:**先检查接入配置,再检查关联的主机组与主机,核对采集路径、过滤规则、保留设置和目标日志资源的对应关系;不要因看到异常就直接调整采集配置。

推荐提示词:“请只读审计接入配置及其关联主机组和主机,汇总采集路径、黑白名单、TTL、目标日志组/日志流和可见状态;对敏感字段脱敏。不要改变配置,先列出已确认事实和需要我确认的后续建议。”

消费组与游标排查

**目标:**查看消费组、分片及按时间查询的游标,判断消费者位置是否与预期一致;更新检查点会影响消费位置,必须作为独立写操作确认。

推荐提示词:“请只读检查指定日志组和日志流的消费组、分片与按时间查询的游标,说明可观察到的消费位置和范围限制。不要更新检查点;请将工具事实与可能的滞后原因分开,并对任何后续写操作先给出影响说明。”

验证、升级与卸载:让本地接入可检查、可回退

安装器会部署本地运行时、复制所选客户端的 Skill、写入或合并客户端配置中的 huawei-lts 条目,并为既有完整配置创建备份;它不会替你验证某个云账号是否有权访问资源,也不会产生任何云端日志查询结果。完成安装后,先在本机配置文件中把四个 REPLACE_WITH_YOUR_* 占位符替换为与目标环境相符的值,再重启对应客户端。不要把真实 AK/SK 粘贴到对话、终端录屏、截图或版本库中;也要把 .bak.* 备份视为潜在敏感文件,检查其与活动配置的访问权限,在适用时限制为当前用户,并按组织政策保留或安全移除。怀疑暴露时应按组织流程轮换凭证。

编辑后可用各客户端的本地命令确认 MCP 条目是否被读取;这些命令只检查客户端侧可见性,并不执行 LTS 查询:

claude mcp get huawei-lts
opencode mcp list
codex mcp list
cursor-agent mcp list

还应检查配置里的 command 是否为存在的绝对可执行路径。它应类似 /absolute/path/to/huawei-lts-skill/.venv/bin/huawei-lts-mcp,而不是字面量 ~;前者由安装器解析写入,后者未必会被客户端展开。配置条目可见、命令文件存在且客户端已重启后,再在客户端中发起一个范围明确的只读资源发现请求,例如“列出已配置区域和项目中的日志组”。返回内容取决于实际权限和环境,本文不对结果作任何预设。

升级:先保持源码干净,再重复安装

升级从克隆的仓库目录进行。先检查本地源码没有待处理改动,再使用仅快进方式拉取更新,最后重跑安装器;这样既避免无意覆盖本地改动,也使 Skill、运行时和 MCP 配置按安装器的幂等逻辑更新。

git -C ~/huawei-lts-skill status --short
git -C ~/huawei-lts-skill pull --ff-only
cd ~/huawei-lts-skill
./install.sh --platforms codex

如果最初使用了自定义运行时目录,升级时必须复用同一个 --install-dir,否则会得到另一套运行时,配置与排错都会变得含糊。例如,原来部署在 /srv/huawei-lts-skill 时:

cd ~/huawei-lts-skill
./install.sh --platforms codex --install-dir /srv/huawei-lts-skill

升级后再次检查本地凭证占位符/值、绝对 command 路径和客户端 MCP 列表,然后重启客户端。若 git status --short 有输出,应先理解并处理自己的源码改动;不要以强制覆盖方式跳过这一检查。

卸载:只移除本工具拥有的本地内容

卸载同样从克隆目录执行。可按客户端选择移除,或省略 --platforms 以移除该安装所拥有的全部受支持客户端条目。卸载器依靠安装所有权标记,目标是删除此 Skill、对应 MCP 条目和已部署运行时,不应删除无关的客户端配置或任何华为云资源。

cd ~/huawei-lts-skill
./uninstall.sh --platforms cursor,codex

若使用过自定义目录,必须使用与安装、升级完全一致的目录参数。以下命令是 /srv/huawei-lts-skill 安装的固定卸载示例:

./uninstall.sh --platforms codex --install-dir /srv/huawei-lts-skill

卸载后重启相关客户端并检查其 MCP 列表,确认 huawei-lts 条目已不再由该安装提供。不要手工删除不确定归属的目录或整份客户端配置;保留安装器的所有权判断,才能避免误伤其他 MCP 服务。

常见问题:按“路径、客户端、云端范围”逐层定位

以下清单优先排除本地确定性问题,再检查云端身份范围。每一步都只读取本地文件或客户端状态;没有确认目标前,不需要也不应对云资源进行写操作。

  1. 相对路径被拒绝。./runtime 会依赖当前工作目录,安装器有意拒绝它。请改用 ~/tools/huawei-lts-skill 或当前用户可写的绝对路径,例如 /srv/huawei-lts-skill
  2. **目标目录不可写。**为目标或最近存在的父目录授予当前用户必要的写权限,或选择另一个当前用户可写目录。不要给安装器整体加 sudo,否则后续升级、备份和卸载可能出现所有权混乱。
  3. **MCP 的命令文件不存在。**检查配置中的 command 是否指向所选运行时下实际存在的 .venv/bin/huawei-lts-mcp。若运行时被移动、删除或换了目录,请用原目录参数重新运行安装器,而非随意猜测路径。
  4. **command 中写入了字面量 ~。**有的客户端不会按 shell 规则展开它。不要手改成 ~/.local/...;应让安装器生成解析后的绝对路径,并确认该文件存在。
  5. **客户端未重启。**保存本地凭证或 MCP 配置后,退出并重新启动相应客户端,再运行其 MCP 列表/详情命令。仅刷新会话往往不会重新加载服务配置。
  6. **凭证、区域或项目不匹配。**核对四个 HUAWEI_* 配置项都已在本机替换,且区域与项目 ID 属于同一目标环境;再检查该身份只拥有本次只读检查所需的 LTS 权限。不要把值复制到聊天中以寻求排错。
  7. **Skill 已加载但 MCP Server 未连接。**这两者是独立环节:先确认 Skill 目录存在,再从客户端 MCP 列表或详情确认 huawei-lts 被读取;随后检查绝对 command、可执行文件与客户端重启状态。MCP 未连接时不要把问题误判为日志为空。
  8. **自定义目录前后不一致。**安装、升级和卸载必须复用同一个 --install-dir。例如初次使用 /srv/huawei-lts-skill,之后也应始终传入该路径;换用默认目录会建立或寻找另一套运行时,导致旧条目无法正确更新或卸载。

总结:把 Agent 接入变成可审计的运维习惯

Huawei LTS Skill + MCP 的价值不在于跳过权限、替代控制台或自动替人做决定,而在于把客户端中的自然语言意图连接到有明确参数和边界的 LTS 工具。无论是一次 5xx 排障,还是告警、转储、接入和消费位置检查,都建议坚持下面六项原则:

  1. **先发现资源。**先列出日志组、日志流或相关配置,再选择目标;不要根据名称猜测资源。
  2. **再限定范围。**确认区域、项目、资源标识和时间窗口,尽量以最小范围开始查询。
  3. **优先只读。**默认检查与分析;涉及创建、修改、删除、启停或检查点变更时,先说明影响并获得针对该变更的确认。
  4. **区分事实和推断。**工具返回的计数、字段和状态是事实;根因假设、风险判断和建议必须标为推断,并保留验证路径。
  5. **写后回读验证。**已确认的写操作执行后,重新读取同一资源,报告观察到的状态,而不是假设操作成功。
  6. **凭证不进入对话或版本库。**AK/SK 只应保留在受控的本机客户端配置及其 .bak.* 备份中;检查二者访问权限,在适用时限制为当前用户,按组织政策保留或安全移除备份,并在怀疑暴露时轮换凭证。日志、截图和提交物同样遵循最小披露与脱敏原则。

项目仓库与完整安装说明见 jkrandom-sudo/huawei-lts-skill。在开始任何真实查询前,先完成本地配置核验、确认目标范围,并让最小权限与只读优先成为默认工作方式。

Logo

欢迎加入 MCP 技术社区!与志同道合者携手前行,一同解锁 MCP 技术的无限可能!

更多推荐