ArthasClaw:用自然语言诊断 JVM 的 AI 助手,告别繁琐的 Arthas 命令

🦞 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

脚本会自动完成:

  1. 从 Maven Central 下载 JAR 包
  2. 检查并提示配置 OpenAI API Key
  3. 列出服务器上的 Java 进程供选择
  4. 启动 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。

如果这篇文章对你有帮助,欢迎点赞 👍 收藏 ⭐ 评论 💬 三连支持!在这里插入图片描述

相关推荐
淡海水1 小时前
ComfyUI全面掌握-知识点详解——基础示例:文生图与图生图实操(参数+案例)
大数据·人工智能·算法·comfyui
T_Wang_Lab1 小时前
可计算元认知文本分析:癌症经济学语义基线的构建与边界信号检测
人工智能·知识图谱·数字人文·deepseek百万token
belldeep1 小时前
CSR座席模块 如何结合AI 大模型应用?
人工智能·ai·大模型·csr坐席
后端小肥肠1 小时前
漫画工坊续篇 | Coze+Skill 实现老纪漫画完整制作全流程
人工智能·aigc·agent
收放扳机1 小时前
PCB收放板取放方式对比:吸盘与夹板边的技术差异与选型分析
人工智能·科技·自动化·制造·pcb工艺
小黄人软件1 小时前
写一个最小AI Agent智能体真实能用的示例,分别调用mcp和skill
人工智能
Freak嵌入式1 小时前
WIZnet-EVB-Pico2开始,用MicroPython玩转以太网开发
arm开发·人工智能·python·嵌入式硬件·机器人·嵌入式·micropython
刀法如飞1 小时前
Palantir Ontology 数据结构分析,与ER/OOP/DDD有什么区别?
人工智能·算法·架构
aisifang002 小时前
企业级GPT-Image2实战测评:从生成到生产
大数据·数据库·人工智能