Skip to content

ibadoo/llm-msg-analysis

Repository files navigation

llm-msg-analysis

LLM 消息/对话分析工具 — 一个基于 Vue 3 开发的 AI 对话协议可视化分析平台。

在线演示: https://ibadoo.github.io/llm-msg-analysis/

项目背景

在与大语言模型(LLM)交互的过程中,开发者经常需要调试和分析 SSE 流式响应、对话历史和 API 返回结果。不同的 LLM 提供商(Claude、OpenAI、Gemini)使用各自不同的协议格式,这给调试工作带来了不小的挑战。

llm-msg-analysis 旨在提供一个统一的可视化分析平台,帮助开发者快速理解和调试 LLM 的通信协议,支持 SSE 流解析、对话历史还原和 API 响应检查。

功能特性

智能格式检测

工具能够自动识别粘贴内容的格式类型,无需手动选择:

  • SSE 流式文本 — 自动进入 SSE 解析模式
  • 对话历史 JSON — 自动进入对话可视化模式
  • API 响应 JSON — 自动进入响应预览模式

同时自动检测 LLM 提供商(Claude / OpenAI / Gemini),并以不同颜色标识。

多提供商支持

提供商 SSE 流解析 对话历史 API 响应
Claude (Anthropic)
OpenAI (ChatGPT)
Gemini (Google)

SSE 流式响应解析

SSE 流解析界面

将原始 SSE 文本流解析为结构化的事件序列,左侧展示每个事件的类型和数据,右侧实时重构最终消息内容。支持 Claude 的 thinking 块、text 块、tool_use 块等多种内容类型的可视化展示。

对话历史可视化

对话历史界面

将完整的多轮对话 JSON 数据渲染为直观的对话界面,按角色(user / assistant / system)分组显示。支持系统指令折叠、工具定义展示、长内容展开/收起等交互功能。

API 响应预览

API 响应预览

统一展示三种提供商的非流式 API 响应,包括模型信息、停止原因、内容块列表以及 Token 使用统计(input / output / cache)。

Markdown 渲染与原始文本切换

Markdown 切换

所有文本内容支持 Markdown 渲染和原始文本之间的一键切换,方便开发者查看格式化后的效果或检查原始数据。支持全局批量切换。

内置翻译功能

翻译功能

集成实时翻译功能,支持中英文互译。智能检测文本语言,中文内容自动翻译为英文,其他语言自动翻译为中文。

中英文双语界面

界面支持中文和英文两种语言,点击右上角语言按钮即可切换。

快速开始

环境要求

  • Node.js >= 18
  • pnpm 或 npm

安装与运行

# 克隆项目
git clone git@github.com:ibadoo/llm-msg-analysis.git
cd llm-msg-analysis

# 安装依赖
pnpm install
#
npm install

# 启动开发服务器
pnpm dev
#
npm run dev

使用方式

  1. 打开浏览器访问 http://localhost:3000
  2. 在左侧输入区域粘贴 SSE 流文本、对话历史 JSON 或 API 响应 JSON
  3. 工具会自动检测格式并切换到对应的可视化模式
  4. 也可以点击「加载示例」按钮快速体验各提供商的示例数据

技术栈

  • Vue 3 — 前端框架,使用 Composition API + <script setup> 语法
  • TypeScript — 类型安全,严格模式
  • Vite — 构建工具
  • Tailwind CSS — 原子化 CSS 样式方案
  • markdown-it — Markdown 渲染

项目结构

├── App.vue                     # 主应用组件
├── main.ts                     # 应用入口
├── types.ts                    # TypeScript 类型定义
├── i18n.ts                     # 国际化配置
├── components/                 # Vue 组件
│   ├── ChatHistory.vue         # 对话历史
│   ├── MessagePreview.vue      # SSE 消息预览
│   ├── ResponsePreview.vue     # API 响应预览
│   ├── EventItem.vue           # SSE 事件项
│   ├── MarkdownText.vue        # Markdown 渲染
│   └── chat/                   # 对话子组件
├── composables/                # Vue Composables
│   └── useLanguage.ts          # 国际化
├── services/                   # 业务逻辑
│   └── sseParser.ts            # SSE 解析核心
├── utils/                      # 工具函数
│   └── translate.ts            # 翻译服务
└── constants/                  # 常量数据
    └── examples.ts             # 示例数据

部署

GitHub Pages 自动部署

本项目已配置 GitHub Actions,推送代码到 master 分支后会自动构建并部署到 GitHub Pages。

Fork 后部署步骤

  1. Fork 本仓库到你的 GitHub 账号
  2. 进入你的 Fork 仓库 → Settings → Actions → General,确认 Actions 已启用
  3. 进入 Settings → Pages → Source 选择 GitHub Actions
  4. 进入 Actions 标签页,选择 Deploy to GitHub Pages workflow,点击 Run workflow 手动触发
  5. 后续每次推送 master 分支都会自动构建部署

访问地址格式

https://<你的用户名>.github.io/llm-msg-analysis/

例如 Fork 本项目后,你的访问地址为:https://<your-username>.github.io/llm-msg-analysis/

License

MIT

About

LLM 对话协议可视化分析工具 — 支持解析 Claude、OpenAI、Gemini 的 SSE 流、对话历史和 API 响应

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors