惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Blog — PlanetScale
Blog — PlanetScale
小众软件
小众软件
F
Fortinet All Blogs
博客园 - 叶小钗
博客园_首页
D
DataBreaches.Net
Apple Machine Learning Research
Apple Machine Learning Research
U
Unit 42
爱范儿
爱范儿
aimingoo的专栏
aimingoo的专栏
博客园 - Franky
Martin Fowler
Martin Fowler
酷 壳 – CoolShell
酷 壳 – CoolShell
The Cloudflare Blog
A
About on SuperTechFans
Google DeepMind News
Google DeepMind News
Microsoft Security Blog
Microsoft Security Blog
IT之家
IT之家
M
MIT News - Artificial intelligence
有赞技术团队
有赞技术团队
博客园 - 【当耐特】
S
SegmentFault 最新的问题
Hugging Face - Blog
Hugging Face - Blog

Recent Commits to openclaw:main

test: merge chat side-result checks · openclaw/openclaw@ddd2c2a test: merge cron history checks · openclaw/openclaw@f7eb746 test: merge responsive navigation shell checks · openclaw/openclaw@c2e4b47 docs(changelog): add codex oauth fixes · openclaw/openclaw@628e6cd test: merge navigation routing cases · openclaw/openclaw@5d8cecb Tests: mock channel registry bundled fallback · openclaw/openclaw@2b08233 Secrets: avoid broad web search discovery for single plugin config · openclaw/openclaw@a464f59 test: merge config view browser checks · openclaw/openclaw@20cf511 fix(status): align oauth health with runtime · openclaw/openclaw@eed7116 feat: add macOS screen snapshots for monitor preview (#67954) thanks … · openclaw/openclaw@f377db1 fix: report shared auth scopes in hello-ok (#67810) thanks @BunsDev · openclaw/openclaw@0b6c39b Auto-reply: avoid eager bundled route fallback · openclaw/openclaw@3ea1bf4 Tests: narrow session binding contract setup · openclaw/openclaw@54e4e16 fix(macOS): enable undo/redo in webchat composer text input (#34962) · openclaw/openclaw@00951dc Tests: speed up channel setup promotion · openclaw/openclaw@82b529a Docs: refresh agent instructions · openclaw/openclaw@5775fe2 fix(auth): serialize OAuth refresh across agents to fix #26322 (#67876) · openclaw/openclaw@8e79080 test: allow ollama public surface boundary test · openclaw/openclaw@7d4f1a6 Docs: add test performance guardrails · openclaw/openclaw@89706d3 Tests: restore context-engine usage proof · openclaw/openclaw@e4c4f95 Tests: slim context engine runtime coverage · openclaw/openclaw@74c198f ci: retry failed custom checkouts · openclaw/openclaw@0ee5baf test: trim duplicate provider auth onboarding cases · openclaw/openclaw@1ffc02e matrix: fix sessions_spawn --thread subagent session spawning (#67643) · openclaw/openclaw@1ce2596 test: reduce auth choice fixture churn · openclaw/openclaw@857b9cd test: mock health status config boundaries · openclaw/openclaw@9d5ab4a test: mock onboard config io boundary · openclaw/openclaw@299694d test: mock legacy state plugin boundaries · openclaw/openclaw@2713089 test: mock channel install boundaries · openclaw/openclaw@b945248 test: mock doctor preview channel boundaries · openclaw/openclaw@b1a3ad4
fix(ci): support Anthropic OAuth release validation · ope...
vincentkoc · 2026-06-16 · via Recent Commits to openclaw:main

@@ -229,6 +229,8 @@ on:

229229

required: false

230230

ANTHROPIC_API_TOKEN:

231231

required: false

232+

ANTHROPIC_OAUTH_TOKEN:

233+

required: false

232234

FACTORY_API_KEY:

233235

required: false

234236

BYTEPLUS_API_KEY:

@@ -519,6 +521,7 @@ jobs:

519521

env:

520522

OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}

521523

ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}

524+

ANTHROPIC_OAUTH_TOKEN: ${{ secrets.ANTHROPIC_OAUTH_TOKEN }}

522525

OPENCLAW_LIVE_CACHE_TEST: "1"

523526

OPENCLAW_LIVE_TEST: "1"

524527

steps:

@@ -541,10 +544,13 @@ jobs:

541544

echo "Missing OPENAI_API_KEY secret for live-cache validation." >&2

542545

exit 1

543546

fi

544-

if [[ -z "${ANTHROPIC_API_KEY:-}" ]]; then

545-

echo "Missing ANTHROPIC_API_KEY secret for live-cache validation." >&2

547+

if [[ -z "${ANTHROPIC_OAUTH_TOKEN:-}" && -z "${ANTHROPIC_API_KEY:-}" ]]; then

548+

echo "Missing ANTHROPIC_OAUTH_TOKEN or ANTHROPIC_API_KEY secret for live-cache validation." >&2

546549

exit 1

547550

fi

551+

if [[ -n "${ANTHROPIC_OAUTH_TOKEN:-}" ]]; then

552+

echo "ANTHROPIC_API_KEY=" >> "$GITHUB_ENV"

553+

fi

548554549555

- name: Verify live prompt cache floors

550556

run: |

@@ -680,6 +686,7 @@ jobs:

680686

OPENAI_BASE_URL: ${{ secrets.OPENAI_BASE_URL }}

681687

ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}

682688

ANTHROPIC_API_TOKEN: ${{ secrets.ANTHROPIC_API_TOKEN }}

689+

ANTHROPIC_OAUTH_TOKEN: ${{ secrets.ANTHROPIC_OAUTH_TOKEN }}

683690

ANTHROPIC_API_KEY_OLD: ${{ secrets.ANTHROPIC_API_KEY_OLD }}

684691

FACTORY_API_KEY: ${{ secrets.FACTORY_API_KEY }}

685692

BYTEPLUS_API_KEY: ${{ secrets.BYTEPLUS_API_KEY }}

@@ -944,6 +951,7 @@ jobs:

944951

OPENAI_BASE_URL: ${{ secrets.OPENAI_BASE_URL }}

945952

ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}

946953

ANTHROPIC_API_TOKEN: ${{ secrets.ANTHROPIC_API_TOKEN }}

954+

ANTHROPIC_OAUTH_TOKEN: ${{ secrets.ANTHROPIC_OAUTH_TOKEN }}

947955

ANTHROPIC_API_KEY_OLD: ${{ secrets.ANTHROPIC_API_KEY_OLD }}

948956

FACTORY_API_KEY: ${{ secrets.FACTORY_API_KEY }}

949957

BYTEPLUS_API_KEY: ${{ secrets.BYTEPLUS_API_KEY }}

@@ -1655,6 +1663,7 @@ jobs:

16551663

OPENAI_BASE_URL: ${{ secrets.OPENAI_BASE_URL }}

16561664

ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}

16571665

ANTHROPIC_API_TOKEN: ${{ secrets.ANTHROPIC_API_TOKEN }}

1666+

ANTHROPIC_OAUTH_TOKEN: ${{ secrets.ANTHROPIC_OAUTH_TOKEN }}

16581667

ANTHROPIC_API_KEY_OLD: ${{ secrets.ANTHROPIC_API_KEY_OLD }}

16591668

BYTEPLUS_API_KEY: ${{ secrets.BYTEPLUS_API_KEY }}

16601669

CEREBRAS_API_KEY: ${{ secrets.CEREBRAS_API_KEY }}

@@ -1746,7 +1755,7 @@ jobs:

17461755

}

1747175617481757

case "${LIVE_MODEL_PROVIDERS}" in

1749-

anthropic) require_any Anthropic ANTHROPIC_API_KEY ANTHROPIC_API_KEY_OLD ANTHROPIC_API_TOKEN ;;

1758+

anthropic) require_any Anthropic ANTHROPIC_OAUTH_TOKEN ANTHROPIC_API_KEY ANTHROPIC_API_KEY_OLD ANTHROPIC_API_TOKEN ;;

17501759

google) require_any Google GEMINI_API_KEY GOOGLE_API_KEY ;;

17511760

minimax) require_any MiniMax MINIMAX_API_KEY ;;

17521761

moonshot) require_any Moonshot MOONSHOT_API_KEY KIMI_API_KEY ;;

@@ -1778,6 +1787,7 @@ jobs:

17781787

OPENAI_BASE_URL: ${{ secrets.OPENAI_BASE_URL }}

17791788

ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}

17801789

ANTHROPIC_API_TOKEN: ${{ secrets.ANTHROPIC_API_TOKEN }}

1790+

ANTHROPIC_OAUTH_TOKEN: ${{ secrets.ANTHROPIC_OAUTH_TOKEN }}

17811791

ANTHROPIC_API_KEY_OLD: ${{ secrets.ANTHROPIC_API_KEY_OLD }}

17821792

BYTEPLUS_API_KEY: ${{ secrets.BYTEPLUS_API_KEY }}

17831793

CEREBRAS_API_KEY: ${{ secrets.CEREBRAS_API_KEY }}

@@ -1921,7 +1931,7 @@ jobs:

19211931

IFS=',' read -r -a providers <<<"${OPENCLAW_LIVE_PROVIDERS}"

19221932

for provider in "${providers[@]}"; do

19231933

case "$provider" in

1924-

anthropic) require_any Anthropic ANTHROPIC_API_KEY ANTHROPIC_API_KEY_OLD ANTHROPIC_API_TOKEN ;;

1934+

anthropic) require_any Anthropic ANTHROPIC_OAUTH_TOKEN ANTHROPIC_API_KEY ANTHROPIC_API_KEY_OLD ANTHROPIC_API_TOKEN ;;

19251935

google) require_any Google GEMINI_API_KEY GOOGLE_API_KEY ;;

19261936

minimax) require_any MiniMax MINIMAX_API_KEY ;;

19271937

moonshot) require_any Moonshot MOONSHOT_API_KEY KIMI_API_KEY ;;

@@ -2140,6 +2150,7 @@ jobs:

21402150

OPENAI_BASE_URL: ${{ secrets.OPENAI_BASE_URL }}

21412151

ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}

21422152

ANTHROPIC_API_TOKEN: ${{ secrets.ANTHROPIC_API_TOKEN }}

2153+

ANTHROPIC_OAUTH_TOKEN: ${{ secrets.ANTHROPIC_OAUTH_TOKEN }}

21432154

ANTHROPIC_API_KEY_OLD: ${{ secrets.ANTHROPIC_API_KEY_OLD }}

21442155

BYTEPLUS_API_KEY: ${{ secrets.BYTEPLUS_API_KEY }}

21452156

CEREBRAS_API_KEY: ${{ secrets.CEREBRAS_API_KEY }}

@@ -2222,7 +2233,11 @@ jobs:

22222233

case "${{ matrix.suite_id }}" in

22232234

live-cli-backend-docker)

22242235

echo "OPENCLAW_LIVE_CLI_BACKEND_MODEL=claude-cli/claude-sonnet-4-6" >> "$GITHUB_ENV"

2225-

echo "OPENCLAW_LIVE_CLI_BACKEND_AUTH=api-key" >> "$GITHUB_ENV"

2236+

if [[ -n "${OPENCLAW_CLAUDE_CREDENTIALS_JSON:-}" || -n "${CLAUDE_CODE_OAUTH_TOKEN:-}" ]]; then

2237+

echo "OPENCLAW_LIVE_CLI_BACKEND_AUTH=subscription" >> "$GITHUB_ENV"

2238+

else

2239+

echo "OPENCLAW_LIVE_CLI_BACKEND_AUTH=api-key" >> "$GITHUB_ENV"

2240+

fi

22262241

echo "OPENCLAW_LIVE_CLI_BACKEND_DEBUG=1" >> "$GITHUB_ENV"

22272242

echo "OPENCLAW_CLI_BACKEND_LOG_OUTPUT=1" >> "$GITHUB_ENV"

22282243

echo "OPENCLAW_TEST_CONSOLE=1" >> "$GITHUB_ENV"

@@ -2356,6 +2371,7 @@ jobs:

23562371

OPENAI_BASE_URL: ${{ secrets.OPENAI_BASE_URL }}

23572372

ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}

23582373

ANTHROPIC_API_TOKEN: ${{ secrets.ANTHROPIC_API_TOKEN }}

2374+

ANTHROPIC_OAUTH_TOKEN: ${{ secrets.ANTHROPIC_OAUTH_TOKEN }}

23592375

ANTHROPIC_API_KEY_OLD: ${{ secrets.ANTHROPIC_API_KEY_OLD }}

23602376

BYTEPLUS_API_KEY: ${{ secrets.BYTEPLUS_API_KEY }}

23612377

CEREBRAS_API_KEY: ${{ secrets.CEREBRAS_API_KEY }}

@@ -2447,7 +2463,11 @@ jobs:

24472463

case "${{ matrix.suite_id }}" in

24482464

live-cli-backend-docker)

24492465

echo "OPENCLAW_LIVE_CLI_BACKEND_MODEL=claude-cli/claude-sonnet-4-6" >> "$GITHUB_ENV"

2450-

echo "OPENCLAW_LIVE_CLI_BACKEND_AUTH=api-key" >> "$GITHUB_ENV"

2466+

if [[ -n "${OPENCLAW_CLAUDE_CREDENTIALS_JSON:-}" || -n "${CLAUDE_CODE_OAUTH_TOKEN:-}" ]]; then

2467+

echo "OPENCLAW_LIVE_CLI_BACKEND_AUTH=subscription" >> "$GITHUB_ENV"

2468+

else

2469+

echo "OPENCLAW_LIVE_CLI_BACKEND_AUTH=api-key" >> "$GITHUB_ENV"

2470+

fi

24512471

echo "OPENCLAW_LIVE_CLI_BACKEND_DEBUG=1" >> "$GITHUB_ENV"

24522472

echo "OPENCLAW_CLI_BACKEND_LOG_OUTPUT=1" >> "$GITHUB_ENV"

24532473

echo "OPENCLAW_TEST_CONSOLE=1" >> "$GITHUB_ENV"

@@ -2568,6 +2588,7 @@ jobs:

25682588

OPENAI_BASE_URL: ${{ secrets.OPENAI_BASE_URL }}

25692589

ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}

25702590

ANTHROPIC_API_TOKEN: ${{ secrets.ANTHROPIC_API_TOKEN }}

2591+

ANTHROPIC_OAUTH_TOKEN: ${{ secrets.ANTHROPIC_OAUTH_TOKEN }}

25712592

ANTHROPIC_API_KEY_OLD: ${{ secrets.ANTHROPIC_API_KEY_OLD }}

25722593

BYTEPLUS_API_KEY: ${{ secrets.BYTEPLUS_API_KEY }}

25732594

CEREBRAS_API_KEY: ${{ secrets.CEREBRAS_API_KEY }}