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
这样就可以使用了,看见交互事件了。
常见的问题:
-
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
-
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
-
分别开俩个终端启动命令
前端
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版本也不支持查看详细的对话内容,这就很尴尬,大家如果有好的建议可以在评论区打出来。
夜雨聆风