moki 1174fffbf7 文档修改 2 日 前
..
README.md 1174fffbf7 文档修改 2 日 前
index.ts 710129ac16 去掉sse方式,改用hooks方式 2 日 前
package.json 710129ac16 去掉sse方式,改用hooks方式 2 日 前
status-light.ts 710129ac16 去掉sse方式,改用hooks方式 2 日 前

README.md

OpenCode Status Light Plugin

OpenCode 插件,用于将状态事件发送到 AI Status Light 服务。

功能

  • 监听会话状态变化(空闲、工作中、错误)
  • 监听工具执行事件
  • 监听权限请求
  • 通过 HTTP 发送事件到 AI Status Light 服务

安装

方式一:使用安装脚本(推荐)

# 在项目根目录执行
./hooks/install.sh --opencode

方式二:手动安装

# 复制插件到全局目录
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

    {
    "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