Skip to content

DevTools ​

vue-llm/devtools 会在 Vue DevTools 中添加一个 LLM 标签页。无需 console.log,即可查看你的应用向模型发送了什么、模型耗时多久以及用了多少 token。

安装配置 ​

bash
npm i -D @vue/devtools-api
ts
// main.ts
import { createApp } from 'vue'
import { LLMDevtools } from 'vue-llm/devtools'
import App from './App.vue'

const app = createApp(App)
if (import.meta.env.DEV) app.use(LLMDevtools)
app.mount('#app')

在 Nuxt 中无需这样做:在开发环境下,只要 @vue/devtools-api 可用,模块就会自动为你安装该插件。可以通过 vueLlm: { devtools: false } 禁用。

支持 Vue DevTools 浏览器扩展、独立应用以及 vite-plugin-vue-devtools。

检查器 ​

LLM 标签页会列出所有活跃的 useChat、useCompletion 和 useObject,并标注其状态和模型。选中其中一个即可查看:

区块内容
state状态、提供方、模型、最近一次错误
usage请求数、错误数、提示词与补全 token 数、最近一次首 token 时间、耗时以及 tokens/s
messages聊天历史记录,包括工具调用、参数和结果
output当前的补全结果或部分对象

将鼠标悬停在某个会话上可以执行操作:stop 停止生成,clear 清空消息。

为组合式函数传入 id 以区分不同的会话:

ts
useChat({ id: 'support-chat', provider, model: 'gpt-4o' })

时间线 ​

每个请求在时间线上都是一个分组:

request       openai · gpt-4o
first token   340 ms
tool: get_weather   {"city":"Oslo"}
finish        tool-calls · 910 ms · 512 tokens · 48 tok/s

错误和被中止的请求会被高亮显示。选中某个事件即可查看发送的消息、工具参数和结果以及用量。

录制

Vue DevTools 7+ 只有在开启录制后才会记录插件的时间线。打开 LLM → Timeline,然后点击右上角的录制开关。

选项 ​

ts
app.use(LLMDevtools, { logMessages: false })
选项默认值说明
logMessagestrue将完整的消息历史附加到 request 事件上。设为 false 则只记录数量。

开销 ​

不使用该插件时,组合式函数会跳过所有埋点:不包装流、不产生事件,也不创建额外的对象。@vue/devtools-api 是一个可选的 peer 依赖,并且只有 vue-llm/devtools 会导入它,因此未使用该插件的生产构建不会包含它。

基于 MIT 许可发布。