Playbook
Azure 端到端运维剧本
一套跑通生产基线的完整路径:Azure profile、模型路由、通道、网关、安全策略、观测与回归门禁。
关键注意:Azure base URL 应该是
https://<resource>.openai.azure.com/openai/v1,不要再拼第二个 /v1。
步骤 0:环境前置
mosaic --version
mosaic --project-state directory --ensure --check-writable
export AZURE_OPENAI_BASE_URL="https://<resource>.openai.azure.com/openai/v1"
export AZURE_OPENAI_API_KEY="<your_key>"
# 可选:一条命令直接执行完整剧本
cd cli
./scripts/azure_ops_playbook.sh --profile az-openai --run-regression
# 机器可读 summary 输出
./scripts/azure_ops_playbook.sh \
--profile az-openai \
--json-summary \
--summary-out reports/azure-playbook-summary.json
步骤 1:创建 Azure profile
mosaic --project-state --profile az-openai setup \
--base-url "$AZURE_OPENAI_BASE_URL" \
--api-key-env AZURE_OPENAI_API_KEY \
--model gpt-4o-mini
mosaic --project-state --profile az-openai configure --show
步骤 2:验证模型可见性与路由
mosaic --project-state --profile az-openai models list
mosaic --project-state --profile az-openai models status
mosaic --project-state --profile az-openai models aliases set fast gpt-4o-mini
mosaic --project-state --profile az-openai models fallbacks add gpt-4.1-mini
mosaic --project-state --profile az-openai models aliases list
mosaic --project-state --profile az-openai models fallbacks list
步骤 3:核心 ask/chat/session 链路
mosaic --project-state --profile az-openai ask "hello from azure profile"
mosaic --project-state --profile az-openai chat
mosaic --project-state --profile az-openai session list
步骤 4:配置 channels
# terminal 通道(建议必须有)
mosaic --project-state channels add --name local-terminal --kind terminal
# 可选 Slack webhook 通道
mosaic --project-state channels add \
--name team-slack \
--kind slack_webhook \
--endpoint https://hooks.slack.com/services/XXX/YYY/ZZZ
# 可选 Telegram bot 通道
export MOSAIC_TELEGRAM_BOT_TOKEN=<bot_token>
mosaic --project-state channels add \
--name team-telegram \
--kind telegram_bot \
--chat-id <chat_id> \
--token-env MOSAIC_TELEGRAM_BOT_TOKEN
mosaic --project-state channels list
mosaic --project-state channels status
步骤 5:验证通道投递
mosaic --project-state channels test <channel_id>
mosaic --project-state channels send <channel_id> --text "azure playbook send ok"
mosaic --project-state channels logs --channel <channel_id> --tail 20
步骤 6:运行 gateway 生命周期
mosaic --project-state gateway install --host 127.0.0.1 --port 8787
mosaic --project-state gateway start
mosaic --project-state gateway probe
mosaic --project-state gateway call status --params '{"detail":true}'
mosaic --project-state gateway health --verbose
步骤 7:应用安全策略基线
mosaic --project-state approvals set confirm
mosaic --project-state approvals allowlist add "git status"
mosaic --project-state sandbox set standard
mosaic --project-state safety check --command "git status"
mosaic --project-state safety check --command "curl https://example.com"
步骤 8:建立可观测基线
mosaic --project-state status
mosaic --project-state health
mosaic --project-state doctor
mosaic --project-state logs --tail 120
mosaic --project-state dashboard
mosaic --project-state safety report --audit-tail 50 --compare-window 24h
步骤 9:发版前回归门禁
cd cli
./scripts/run_regression_suite.sh
# 可选:用 Azure profile 做真实冒烟
LIVE=1 \
BASE_URL="$AZURE_OPENAI_BASE_URL" \
API_KEY_ENV=AZURE_OPENAI_API_KEY \
MODEL=gpt-4o-mini \
./scripts/tutorial_regression.sh --profile az-openai
验收清单
- Azure profile 通过
setup/models list/ask。 - 至少一个 channel 通过
test + send。 - Gateway
probe + call健康。 - 策略基线生效:
approvals=confirm+sandbox=standard。 - 回归脚本无关键失败。