# OpenCode Status Light Plugin OpenCode 插件,用于将状态事件发送到 AI Status Light 服务。 ## 功能 - 监听会话状态变化(空闲、工作中、错误) - 监听工具执行事件 - 监听权限请求 - 通过 HTTP 发送事件到 AI Status Light 服务 ## 安装 ### 方式一:使用安装脚本(推荐) ```bash # 在项目根目录执行 ./hooks/install.sh --opencode ``` ### 方式二:手动安装 ```bash # 复制插件到全局目录 cp opencode-plugin/status-light.ts ~/.config/opencode/plugins/ # 创建配置文件 cat > ~/.config/opencode/status-light.json << EOF { "serviceUrl": "http://localhost:8045" } EOF ``` ## 配置 ### 配置文件 配置文件位置: - 全局:`~/.config/opencode/status-light.json` - 项目级:`.opencode/status-light.json` ```json { "serviceUrl": "http://localhost:8045" } ``` ### 环境变量 | 变量名 | 说明 | 默认值 | |--------|------|--------| | `STATUS_LIGHT_URL` | 服务地址 | `http://localhost:8080` | 优先级:环境变量 > 项目级配置 > 全局配置 > 默认值 ## 事件映射 | OpenCode 事件 | 发送的 code | |---------------|-------------| | session.idle | idle | | session.status (type) | 对应的 type 值 | | message.part.updated (tool) | using_tool 或 tool 状态 | | message.part.updated (reasoning) | reasoning | | permission.asked | permission | | session.error | error | ## 服务端接收 插件通过 HTTP POST 发送事件到服务: ``` POST /api/event Content-Type: application/json { "code": "busy", "timestamp": "2026-06-27T14:30:00Z" } ``` ## 许可证 MIT