article
README
🚀 Go 进程 inspector
Go 进程 inspector 是一个强大的工具,用于检查和分析运行中的 Go 进程。它能提供 goroutine 状态、内存统计信息和二进制信息,帮助开发者深入了解进程运行情况。
🚀 快速开始
你可以通过以下命令进行安装:
go install github.com/monsterxx03/gospy@latest
CLI 接口使用示例
# 交互式终端 UI
sudo gospy top --pid <进程 ID>
# HTTP API 服务器
sudo gospy serve --port 8974
# 获取进程摘要
sudo gospy summary --pid <进程 ID>
# 在 JSON 格式下获取进程摘要
sudo gospy summary --pid <进程 ID> --json
摘要命令选项说明
--pid/-p- 目标进程 ID(必需)--bin/-b- 可执行文件路径(可选)--json/-j- 以 JSON 格式输出结果
API 端点使用
GET /goroutines?pid=<PID>- 列出所有 goroutineGET /memstats?pid=<PID>- 获取内存统计信息GET /runtime?pid=<PID>- 获取运行时版本信息
MCP 服务器使用
MCP 服务器提供了一个 SSE(Server-Sent Events)端点。要启用:
>>> sudo gospy serve --enable-mcp --port 8974
启动 API 服务器,监听端口 8974
端点:
GET /runtime?pid=<PID> - 获取运行时信息
GET /goroutines?pid=<PID> - 获取 goroutine 列表
GET /memstats?pid=<PID> - 获取内存统计
GET /mcp/sse - MCP SSE 端点
可用的 MCP 工具:
goroutines- 转储 Go 进程中的 goroutinegomemstats- 转储内存统计信息goruntime- 获取运行时信息pgrep- 根据进程名称查找 PID
配置在光标中

终端 UI 控制说明
q- 退出r- 刷新数据s- 暂停/恢复 top 视图/- 搜索/过滤 goroutine
终端 UI 截图展示

✨ 主要特性
- 查看详细的 goroutine 信息(状态、调度信息)
- 分析进程内存统计
- 支持跨平台(Linux 和 macOS)
- 终端 UI 提供交互式检查
- HTTP API 实现程序化访问(sse 端点用于 MCP 服务器)
📦 安装指南
通过以下命令可以完成安装:
go install github.com/monsterxx03/gospy@latest
如果你想从源代码构建,可按以下步骤操作:
git clone https://github.com/monsterxx03/gospy.git
cd gospy
make
💻 使用示例
基础用法
# 交互式终端 UI
sudo gospy top --pid <进程 ID>
高级用法
# 以 JSON 格式获取进程摘要
sudo gospy summary --pid <进程 ID> --json
🔧 技术细节
要求
- Go 1.20+ 版本
- Linux 或 macOS(仅限 Apple Silicon)
- 根权限(读取进程内存所需)
根权限说明
gospy 需要根权限来:
- 读取进程内存 (/proc//mem on Linux)
- 访问 macOS 的 Mach API
使用 sudo 运行:
sudo gospy top --pid <进程 ID>
对于开发/调试,可能需要:
- 先构建二进制文件:
make - 使用 sudo 运行:
sudo ./gospy [命令]
📄 许可证
本项目采用 MIT 许可证,有关详细信息,请参阅 LICENSE 文件。
致谢
版本 0.7.0 完全从头开始重写,并由 aider 完成,编写了 >90% 的代码。其他协助来自:
- DeepSeek(R1 + V3 模型)- AI 编码助手
总 AI 计算成本:~$2 美元
扫码联系在线客服