乐于分享
好东西不私藏

opencode实时监控插件真实使用

opencode实时监控插件真实使用

最近在使用opencode过程中,完全的黑盒状态,看不见交互的过程,显示的信息太少,就想到加一个插件实现白盒,查看完整的交互过程。

发现了opencode-observability。

opencode-observability 是面向 OpenCode AI 智能体的开源可观测性插件,专为实时监控与可视化设计,帮助开发者全面掌握智能体运行状态与行为细节。它基于 Bun 构建,由插件、后端服务、SQLite 存储与 Vue 可视化面板组成,部署简便,可跨项目追踪所有 OpenCode 会话。

该工具核心能力在于全链路数据采集,覆盖工具执行前后状态、会话生命周期(创建 / 空闲 / 错误 / 终止)、消息交互与权限变更,以及完整的输入输出 JSON 数据。所有事件经插件发送至后端,持久化后通过 WebSocket 实时推送至面板,实现毫秒级状态刷新。

可视化面板提供会话列表、事件流、调用时序与错误统计等视图,支持按项目、时间、状态筛选,快速定位异常会话与工具调用问题。它原生支持 OpenTelemetry 协议,可将链路、指标、日志导出至 Grafana、Datadog 等平台,适配企业级监控体系。

作为轻量级可观测性方案,opencode-observability 无需侵入业务代码,安装后自动全局生效,兼容 Linux、WSL 与 macOS 系统,是本地开发与团队协作环境下,保障 AI 智能体稳定运行、优化资源消耗与排查故障的重要工具。

先说一下opencode-observability的安装过程。

#1. 克隆仓库

git clone https://github.com/danilofalcao/opencode-observability.git
cd opencode-observability

#2. 执行安装脚本(自动装依赖、建配置)

./scripts/setup.sh

目录结构大概是:

opencode-observability/
├── apps/
│   ├── server/   # 后端 API + 数据库
│   └── dashboard/ # Web 看板
├── .env.opencode.observability
└── scripts/
    ├── setup.sh
    └── start-system.sh

配置(一般默认即可,可改端口)

# 编辑服务端配置
vim apps/server/.env

默认内容:

PORT=4000
DB_PATH=./data/events.db

#编辑插件配置

vim .env.opencode.observability
默认:
OPENCODE_OBSERVABILITY_URL=http://localhost:4000

启动监控系统(后端 + 看板)

./scripts/start-system.sh

输出看到下面就可以了:

Server running on http://localhost:4000
Dashboard running on http://localhost:5173

在 OpenCode 启用插件

找到 OpenCode 全局配置文件

 ~/.config/opencode/opencode.json

编辑加入插件

 vim ~/.config/opencode/opencode.json

把插件链接到 OpenCode(关键)

# 假设你放在 ~/opencode-observability
ln -s ~/opencode-observability ~/.config/opencode/plugins/opencode-observability

查看所有交互(最核心)

http://localhost:5173

这样就可以使用了,看见交互事件了。

常见的问题:

  1. q:安装 Bun 时的报错:error: unzip is required to install bun,意思是你的 Ubuntu 系统里缺少 unzip 工具,导致安装脚本无法解压文件。

a:先安装 unzip 依赖,sudo apt update && sudo apt install -y unzip,再重新运行 Bun 安装命令,生效环境变量(刷新 Shell 配置)source ~/.bashrc

  1. q:内网端口访问不到

a: 修改端口监听

nano apps/client/package.json
"scripts": {
"dev""vite --port 5173 --host 0.0.0.0",
"build""vite build",
"preview""vite preview"
}
# 修改配置,把 localhost 改成你的服务器IP

cat > .env.local << EOF
VITE_API_URL=http://192.168.15.158:4000
VITE_WS_URL=ws://192.168.15.158:4000/stream
EOF
  1. 分别开俩个终端启动命令
前端
cd ~/opencode-observability/apps/server
nohup bun run dev > server.log 2>&1 &

后端
cd ~/opencode-observability/apps/client
nohup bun run dev --host 0.0.0.0 --port 5173 > web.log 2>&1 &

opencode

最后总结一下,opencode-observability并不能满足我的需求,可能会满足部分人的需求,它目前只能可视化事件类型,无法查看对话内容。

但它的设计存在关键局限:作为事件采集器,它默认只记录事件骨架(如会话 ID、消息角色、时间戳),不会明文存储完整对话文本,这是出于性能和隐私保护的考量。因此,它不适合作为对话内容查看器,无法满足你查看详细对话的需求。

如果你需要查看完整对话,更推荐使用 OpenCode CLI 模式直接运行,终端会实时显示所有对话和工具调用内容;也可以通过 script 命令记录终端会话,或使用 OpenCode 原生 debug 日志(若版本支持)来获取完整交互信息。

但是部分的opencode版本也不支持查看详细的对话内容,这就很尴尬,大家如果有好的建议可以在评论区打出来。