Files
eightbf-analysis-go/scripts/smoke-demo.sh
T
gozerosandCursor 0c45b86d67 chore: 初始化 eightbf-analysis-go(对齐 Java 会商作业服务)
Go 实现 /api/v1/analysis 契约、Demo/Live Worker、DeerFlow SSE;含设计文档与冒烟脚本。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-11-03 00:13:46 +08:00

22 lines
1013 B
Bash
Executable File

#!/usr/bin/env bash
# 对本机已启动的 Go 服务做 demo 冒烟(默认 :18097)。
# 注意:勿与 Java 实例同时抢同一库的 queued。
set -euo pipefail
BASE="${BASE:-http://127.0.0.1:18097/api/v1/analysis}"
echo "== health =="
curl -sS "$BASE/health" | tee /tmp/eba-smoke-health.json
echo
CREATE=$(curl -sS -X POST "$BASE/jobs" -H 'Content-Type: application/json' \
-d '{"taskId":"smoke-'"$(date +%s)"'","title":"smoke","manualIntervention":true,"agents":[{"id":"a1","name":"甲"},{"id":"a2","name":"乙"}]}')
JOB=$(echo "$CREATE" | python3 -c 'import sys,json;print(json.load(sys.stdin)["data"]["id"])')
echo "job=$JOB"
for i in $(seq 1 40); do
J=$(curl -sS "$BASE/jobs/$JOB")
ST=$(echo "$J" | python3 -c 'import sys,json;print(json.load(sys.stdin)["data"]["status"])')
PCT=$(echo "$J" | python3 -c 'import sys,json;print(json.load(sys.stdin)["data"].get("progress",{}).get("percent",0))')
echo "tick=$i status=$ST percent=$PCT"
[ "$ST" = "done" ] && break
sleep 0.5
done
echo OK