Mosaic CLI 文档 EN

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
  • 回归脚本无关键失败。