用途:验证 computer-use-demo 的改动,面向的是容器内的 Streamlit 应用,而不是 pytest、ruff、pyright 这类 CI 检查。
主要能力:1) 构建并运行镜像;2) 用 Playwright 无头驱动 UI,设置模型、选择工具版本、可选开启 thinking 模式、发送提示词、等待采样循环空闲,然后导出对话记录与每次 HTTP 往返(请求头、JSON、响应 JSON,鉴权头已打码);3) 输出 chat.txt、exchange-NN.txt、02-chat.png、04-http-logs-expanded.png 等证据文件。
使用方式:先构建并启动容器:docker build . -t computer-use-demo:verify;docker run -d --name cu-verify -e ANTHROPIC_API_KEY=$ANTHROPIC_API_KEY -e WIDTH=1024 -e HEIGHT=768 -p 18501:8501 -p 18080:8080 -p 16080:6080 computer-use-demo:verify;再用 curl 轮询 localhost:18501/_stcore/health 等待就绪。冷构建需要数分钟,仅改源码可秒级重建;也可用 docker cp 覆盖源码,但 Streamlit 文件监听不会察觉 docker cp,应重建容器而非 docker restart。驱动 UI 前在任意 venv 中 pip install playwright && python -m playwright install chromium,再运行资料给出的 drive.py 脚本,示例:THINKING=Adaptive python drive.py 18501 claude-sonnet-5 computer_toolset_20260801 "..." out/ 240。环境变量 THINKING=Off|Adaptive|Extended 选择思考模式,TOKEN_EFFICIENT=1 勾选相关 beta 复选框。
适用场景:改动后需要端到端证据时;检查老模型配新工具版本是否返回干净的 400 而非崩溃;切换 Thinking 为 Off;会话中途切换模型。
限制与注意:侧边栏要求 Anthropic 提供方有非空 API 键才渲染聊天;每次 Playwright 运行是全新 Streamlit 会话,HTTP 交换日志只含该次请求,需在同一次运行中抓取;若 shell 设置了 PYTEST_DISABLE_PLUGIN_AUTOLOAD,需 -p pytest_asyncio 或取消该变量。其余收费、平台支持等信息资料未提供。