🦞 ArthasClaw:用自然语言诊断 JVM 的 AI 助手,告别繁琐的 Arthas 命令
你还在背 Arthas 命令?试试用「人话」和 JVM 对话。

前言
做过 Java 开发的同学一定对这些场景不陌生:
- 线上 CPU 飙高,SSH 上服务器后却忘了
thread -n 3怎么拼 - 想查某个方法的调用链,翻了半天 Arthas 文档才拼出
trace命令 - 新人接手运维,面对 Arthas 的几十个命令一脸懵
如果能直接用中文问"哪个线程占 CPU 最高",工具自动帮你执行呢?
这就是 ArthasClaw 要解决的问题。
ArthasClaw 是什么?
ArthasClaw 是一个 基于 Arthas 的 JVM AI 诊断助手 ,它通过 MCP(Model Context Protocol)协议将 Arthas 的强大诊断能力与 LLM 结合,让你用自然语言就能完成 JVM 诊断。
简单说:你负责提问,AI 负责执行 Arthas 命令并分析结果。
为什么不用通用 Agent?
你可能会问:Claude Code、Trae 这些通用 AI 编程工具也能调用 Arthas 啊,为什么还要单独做一个?
| 对比项 | 通用 Agent | ArthasClaw |
|---|---|---|
| 环境依赖 | 需要 Node.js 22+ 或 Python 3.11+ | 只需 Java 8+ |
| 部署位置 | 本地开发机,远程连接服务器 | 直接跑在目标服务器上 |
| 通信方式 | 网络请求,可能超时/不可达 | 本地 MCP 调用,快且稳定 |
| 专业程度 | 通用模型,需要提示词引导 | 针对 JVM 诊断场景优化 |
一句话总结:ArthasClaw 更轻、更快、更专。
它能直接装在任何跑 Java 应用的服务器上,一键启动,不需要额外的运行时环境。
快速体验
一键安装
bash
curl -sL https://raw.githubusercontent.com/JiajunBernoulli/ArthasClaw/main/start.sh | sh
脚本会自动完成:
- 从 Maven Central 下载 JAR 包
- 检查并提示配置 OpenAI API Key
- 列出服务器上的 Java 进程供选择
- 启动 TUI 交互界面
交互演示
启动后,你就可以用自然语言提问了:

arthasclaw> MathGame 这个类有哪些方法?
arthasclaw> 帮我查一下哪个线程 CPU 占用最高
arthasclaw> 检查是否存在死锁
AI 会自动选择合适的 Arthas 命令执行,分析结果,并用人类可读的语言告诉你结论。
核心架构
ArthasClaw 的设计非常优雅,核心只有五个组件:
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ BotArthas │────▶│ McpClient │────▶│ LoopAgent │
│ (注入引擎) │ │ (MCP 连接) │ │ (编排引擎) │
└─────────────┘ └─────────────┘ └─────────────┘
│ │
┌──────┴──────┐ ┌──────┴──────┐
│McpToolHandler│ │ChatResponse │
│ (工具发现) │ │ Handler │
└─────────────┘ │ (思考处理) │
└─────────────┘
- BotArthas:自动下载并注入 Arthas 到目标 JVM 进程
- McpClient:通过 MCP 协议连接 Arthas 暴露的 HTTP 接口
- LoopAgent:编排 AI 对话流程,协调各组件工作
- McpToolHandler:自动发现 Arthas 提供的诊断工具
- ChatResponseHandler:处理 LLM 响应,管理工具调用链
这就是 MCP 协议的魅力------不需要重新实现诊断工具,只需要通过标准协议连接已有的强大工具(Arthas)。
技能系统:可复用的诊断经验
ArthasClaw 支持**技能(Skill)**机制,你可以把特定的诊断经验封装成可复用的模板。
内置技能示例:死锁分析器
yaml
---
name: deadlock-analyzer
description: 检测和分析线程死锁
tools:
- thread
- thread -b
- stack
---
你是一个 Java 线程死锁分析专家。
分析线程问题时:
1. 使用 `thread -b` 查找阻塞线程
2. 使用 `thread` 查看整体线程状态
3. 提供可操作的解决方案
安装后,只需说"检查死锁",AI 就会按照技能定义的流程自动执行诊断。
技能管理命令
/skill install <url|path> # 安装技能
/skill list # 列出已安装技能
/skill enable <name> # 启用技能
/skill disable <name> # 禁用技能
你可以从社区获取技能,也可以自己编写,把团队的诊断经验沉淀下来。
适用场景
- 线上排障:CPU 飙高、内存泄漏、死锁检测,用自然语言快速定位
- 新人上手:不需要背 Arthas 命令,直接问"这个类有哪些方法"
- 性能分析:方法调用链追踪、耗时统计,AI 自动分析结果
- 团队协作:通过技能系统共享诊断经验,降低知识门槛
总结
ArthasClaw 不是要替代 Arthas,而是让 Arthas 变得更好用。它把"记命令 → 敲命令 → 看输出 → 分析结果"的流程简化成了"问问题 → 拿答案"。
如果你是 Java 开发者,尤其经常需要排查线上问题,强烈建议试试。
项目地址:https://github.com/JiajunBernoulli/ArthasClaw
一键体验:
bash
curl -sL https://raw.githubusercontent.com/JiajunBernoulli/ArthasClaw/main/start.sh | sh
ArthasClaw 是一个开源项目,欢迎 Star、Issue 和 PR。
如果这篇文章对你有帮助,欢迎点赞 👍 收藏 ⭐ 评论 💬 三连支持!在这里插入图片描述