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。

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

相关推荐
fuquxiaoguang6 小时前
中间件的“价值重估”:传统同质化竞争终结,AI智能编排时代开启
人工智能·中间件
触底反弹7 小时前
🔥 前端也能玩转 AI 流式输出!从二进制流到打字机效果,一篇讲透
javascript·人工智能·node.js
腾渊信息科技公司7 小时前
工业数据运维痛点根治方案:基于AI Agent的产线自动化台账系统落地
运维·人工智能·自动化·个人开发·ai编程
西安老张(AIGC&ComfyUI)7 小时前
第030章:ComfyUI视频制作LTX-2.3模型文生视频工作流详解(三)
人工智能·aigc·comfyui
苦猿的大模型日记7 小时前
Day25 | 模型量化横评 GPTQ vs AWQ vs GGUF vs INT8——同一个 Qwen3-8B 压四遍,谁还活着
人工智能
benchmark_cc7 小时前
如何用 Python + QuantDash 快速构建高胜率“配对交易(Pairs Trading)”策略?
开发语言·人工智能·python·pandas·量化交易·quantdash
深海鱼肝油ya7 小时前
小说自动生成系统(二)
人工智能·大模型·agent·智能体·自动化编程·小说生成系统
通问AI8 小时前
Apple Intelligence 国行备案深度技术解析:阿里千问如何被集成到苹果端侧AI架构
人工智能·架构
视***间8 小时前
算力赋能零售与创意新生态:视程空间Pandora,解锁线下场景智能化无限可能
人工智能·边缘计算·智慧零售·ai算力·视程空间·创意开发
冬奇Lab8 小时前
MCP 系列(08):企业治理——Registry、路由与可观测性
人工智能·llm·mcp