#!/bin/bash # version_check.sh API_BASE="https://airsltd-ocngx.hf.space/opencode" AUTH="-u admin:admin123" echo "=== OpenCode 版本诊断 ===" echo "时间: $(date)" echo # 1. 健康检查版本 echo "1. 健康检查版本:" HEALTH_VERSION=$(curl -s -X GET "$API_BASE/global/health" $AUTH | jq -r '.version') echo " 健康检查返回: $HEALTH_VERSION" # 2. 会话中的版本信息 echo "2. 检查会话状态:" SESSION_STATUS=$(curl -s -X GET "$API_BASE/session/status" $AUTH) echo " 会话状态: $SESSION_STATUS" # 3. 创建新会话测试 echo "3. 创建新会话测试:" NEW_SESSION=$(curl -s -X POST "$API_BASE/session" $AUTH -d '{}') NEW_SESSION_ID=$(echo "$NEW_SESSION" | jq -r '.id') echo " 新会话 ID: $NEW_SESSION_ID" echo " 新会话版本: $(echo "$NEW_SESSION" | jq -r '.version')" # 4. 在新会话中询问版本 echo "4. 在新会话中询问版本:" VERSION_QUERY=$(curl -s -X POST "$API_BASE/session/$NEW_SESSION_ID/message" \ -H "Content-Type: application/json" \ $AUTH \ -d '{ "parts": [ { "type": "text", "text": "请告诉我当前 OpenCode 的版本号" } ] }') echo " 版本查询响应: $VERSION_QUERY" # 5. 等待并获取回复 sleep 3 VERSION_REPLY=$(curl -s -X GET "$API_BASE/session/$NEW_SESSION_ID/message" $AUTH) echo " AI 回复的版本: $(echo "$VERSION_REPLY" | jq -r '.[-1].parts[] | select(.type=="text") | .text')" # 6. 检查配置信息 echo "5. 检查配置信息:" CONFIG=$(curl -s -X GET "$API_BASE/config" $AUTH) echo " 配置信息: $CONFIG" # 7. 检查事件流中的版本信息 echo "6. 检查事件流:" echo " 监听事件流 10 秒..." timeout 10s curl -N "$API_BASE/global/event" $AUTH 2>/dev/null | grep -i version || echo " 未检测到版本事件" echo echo "=== 诊断完成 ==="