Go 实现 /api/v1/analysis 契约、Demo/Live Worker、DeerFlow SSE;含设计文档与冒烟脚本。 Co-authored-by: Cursor <cursoragent@cursor.com>
22 lines
1013 B
Bash
Executable File
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
|