Agent Skillsnearai/ironclaw › local-test

local-test

GitHub

提供基于 Docker 和 Chrome MCP 的本地测试技能,用于构建、运行及自动化验证 IronClaw Web Gateway。支持多种 LLM 后端配置及多实例测试,辅助开发者在本地环境快速验证功能与 UI。

docs/internal/archived-skills/local-test/SKILL.md nearai/ironclaw

Trigger Scenarios

需要本地构建并运行测试容器 使用 Chrome MCP 进行浏览器自动化测试 配置不同 LLM 后端进行本地验证

Install

npx skills add nearai/ironclaw --skill local-test -g -y
More Options

Non-standard path

npx skills add https://github.com/nearai/ironclaw/tree/main/docs/internal/archived-skills/local-test -g -y

Use without installing

npx skills use nearai/ironclaw@local-test

指定 Agent (Claude Code)

npx skills add nearai/ironclaw --skill local-test -a claude-code -g -y

安装 repo 全部 skill

npx skills add nearai/ironclaw --all -g -y

预览 repo 内 skill

npx skills add nearai/ironclaw --list

SKILL.md

Frontmatter
{
    "name": "local-test",
    "version": "0.1.0",
    "activation": {
        "keywords": [
            "test locally",
            "local test",
            "docker test",
            "test my changes",
            "test in docker",
            "test web gateway",
            "spin up test",
            "test container"
        ],
        "patterns": [
            "test.*local",
            "docker.*test",
            "spin.*up.*test",
            "test.*changes.*docker"
        ],
        "max_context_tokens": 3000
    },
    "description": "Build, run, and test IronClaw locally using Docker containers and Chrome MCP browser automation."
}

Local Testing with Docker + Chrome MCP

Use this skill to build, run, and test IronClaw web gateway changes locally using Dockerfile.test and Chrome MCP browser automation tools.

Quick Start

# Build the test image (libsql-only, no PostgreSQL needed)
docker build --platform linux/amd64 -f Dockerfile.test -t ironclaw-test .

# Run on port 3003 (default)
docker run --rm -p 3003:3003 \
  -e ONBOARD_COMPLETED=true \
  -e CLI_ENABLED=false \
  -e NEARAI_API_KEY=<key> \
  ironclaw-test

# Open in browser
# http://localhost:3003/?token=test

Building the Image

The test Dockerfile uses a two-stage build: Rust compilation with --features libsql (no PostgreSQL dependency), then a minimal Debian runtime image.

docker build --platform linux/amd64 -f Dockerfile.test -t ironclaw-test .

Build takes ~5-10 minutes on first run (cached subsequent builds are faster). The --platform linux/amd64 flag avoids QEMU warnings on Apple Silicon but can be omitted if targeting native architecture.

Running Containers

Required Environment Variables

Variable Purpose Default in Dockerfile
ONBOARD_COMPLETED=true Skip onboarding wizard (exits immediately otherwise) not set
CLI_ENABLED=false Disable TUI/REPL (causes EOF shutdown otherwise) not set

LLM Backend Configuration

Pick ONE of these configurations:

NEAR AI (API key mode):

docker run --rm -p 3003:3003 \
  -e ONBOARD_COMPLETED=true \
  -e CLI_ENABLED=false \
  -e NEARAI_API_KEY=<your-key> \
  ironclaw-test

NEAR AI (session token mode):

docker run --rm -p 3003:3003 \
  -e ONBOARD_COMPLETED=true \
  -e CLI_ENABLED=false \
  -e NEARAI_SESSION_TOKEN=<sess_xxx> \
  -e NEARAI_BASE_URL=https://private.near.ai \
  ironclaw-test

OpenAI:

docker run --rm -p 3003:3003 \
  -e ONBOARD_COMPLETED=true \
  -e CLI_ENABLED=false \
  -e LLM_BACKEND=openai \
  -e OPENAI_API_KEY=<your-key> \
  ironclaw-test

Anthropic:

docker run --rm -p 3003:3003 \
  -e ONBOARD_COMPLETED=true \
  -e CLI_ENABLED=false \
  -e LLM_BACKEND=anthropic \
  -e ANTHROPIC_API_KEY=<your-key> \
  ironclaw-test

Dummy run (no LLM, just test the UI loads):

docker run --rm -p 3003:3003 \
  -e ONBOARD_COMPLETED=true \
  -e CLI_ENABLED=false \
  -e NEARAI_API_KEY=dummy \
  ironclaw-test

Common Overrides

Variable Purpose Example
GATEWAY_PORT Change the listen port 3003 (default)
GATEWAY_AUTH_TOKEN Auth token for API test (default)
NEARAI_MODEL Override LLM model claude-3-5-sonnet-20241022
RUST_LOG Logging verbosity ironclaw=debug
ROUTINES_ENABLED Enable routines true/false
SKILLS_ENABLED Enable skills system true (default)

Multi-Instance Testing

Run multiple containers on different host ports:

docker run --rm -d --name ic-test-a -p 3003:3003 -e ONBOARD_COMPLETED=true -e CLI_ENABLED=false -e NEARAI_API_KEY=dummy ironclaw-test
docker run --rm -d --name ic-test-b -p 3004:3003 -e ONBOARD_COMPLETED=true -e CLI_ENABLED=false -e NEARAI_API_KEY=dummy ironclaw-test

Chrome MCP Testing Workflow

Use the Claude for Chrome browser automation tools to test the web UI.

Step 1: Get Browser Context

mcp__claude-in-chrome__tabs_context_mcp

Always start here to see current tabs and get fresh tab IDs.

Step 2: Open the Gateway

mcp__claude-in-chrome__tabs_create_mcp  url=http://localhost:3003/?token=test

Step 3: Verify the Page

mcp__claude-in-chrome__read_page

Check for:

  • "Connected" indicator in top-right
  • All tabs visible: Chat, Memory, Jobs, Routines, Extensions, Skills

Step 4: Take Screenshots

mcp__claude-in-chrome__computer  action=screenshot

Step 5: Test Mobile Viewport

mcp__claude-in-chrome__resize_window  width=375  height=812
mcp__claude-in-chrome__computer  action=screenshot

Reset to desktop:

mcp__claude-in-chrome__resize_window  width=1280  height=800

Step 6: Run JavaScript Checks

mcp__claude-in-chrome__javascript_tool  script="document.querySelector('.connection-status')?.textContent"

Step 7: Test Interactions

Click tabs, send messages, search skills — use computer tool with action=click and coordinate-based clicks, or use find + form_input for text entry.

Cleanup

# Stop a specific container
docker stop ic-test-a

# Stop all test containers
docker ps --filter ancestor=ironclaw-test -q | xargs -r docker stop

# Remove the test image
docker rmi ironclaw-test

Troubleshooting

Container exits immediately

  • Missing ONBOARD_COMPLETED=true: The onboarding wizard tries to read stdin, gets EOF, and exits.
  • Missing CLI_ENABLED=false: The REPL channel reads stdin, gets EOF, and shuts down the agent.

"Model not found" or LLM errors

  • Check that your API key/token is valid and the model name is correct.
  • For NEAR AI session token mode, you also need NEARAI_BASE_URL=https://private.near.ai.

Platform mismatch warnings on Apple Silicon

  • The --platform linux/amd64 flag causes QEMU emulation warnings — these are harmless.
  • Alternatively, omit the flag and build natively if your dependencies support ARM64.

Port already in use

  • The dev server defaults to port 3001; the test Dockerfile defaults to 3003 to avoid conflicts.
  • Use a different host port: -p 3005:3003.

Cannot connect from browser

  • Verify GATEWAY_HOST=0.0.0.0 (set by default in Dockerfile).
  • Check the container logs: docker logs <container-id>.
  • Make sure you include the token query param: ?token=test.

Version History

  • 5380a32 Current 2026-08-20 07:09

Same Skill Collection

.claude/skills/architecture-video/SKILL.md
.claude/skills/ironclaw-reborn-architecture-review/SKILL.md
.claude/skills/ironclaw-reborn-orientation/SKILL.md
.claude/skills/ironclaw-reborn-skill-maintainer/SKILL.md
.claude/skills/ironclaw-reborn-testing/SKILL.md
.claude/skills/mintlify-docs/SKILL.md
.claude/skills/railway-test/SKILL.md
.claude/skills/reborn-extension-surfaces/SKILL.md
.claude/skills/reborn-feature/SKILL.md
.claude/skills/thermo-nuclear-code-quality-review/SKILL.md
docs/internal/archived-skills/ceo-setup/SKILL.md
docs/internal/archived-skills/code-review/SKILL.md
docs/internal/archived-skills/commitment-setup/SKILL.md
docs/internal/archived-skills/content-creator-setup/SKILL.md
docs/internal/archived-skills/developer-setup/SKILL.md
docs/internal/archived-skills/github-workflow/SKILL.md
docs/internal/archived-skills/github/SKILL.md
docs/internal/archived-skills/linear/SKILL.md
docs/internal/archived-skills/llm-council/SKILL.md
docs/internal/archived-skills/new-project/SKILL.md
docs/internal/archived-skills/parallel-pr-review/SKILL.md
docs/internal/archived-skills/plan-mode/SKILL.md
docs/internal/archived-skills/portfolio/SKILL.md
docs/internal/archived-skills/project-setup/SKILL.md
docs/internal/archived-skills/trader-setup/SKILL.md
docs/internal/archived-skills/web-ui-test/SKILL.md
skills/coding/SKILL.md
skills/commitment-digest/SKILL.md
skills/commitment-triage/SKILL.md
skills/decision-capture/SKILL.md
skills/delegation-tracker/SKILL.md
skills/delegation/SKILL.md
skills/idea-parking/SKILL.md
skills/product-prioritization/SKILL.md
skills/qa-review/SKILL.md
skills/review-checklist/SKILL.md
skills/review-readiness/SKILL.md
skills/routine-advisor/SKILL.md
skills/security-review/SKILL.md
skills/tech-debt-tracker/SKILL.md
skills/commit/SKILL.md

Metadata

Files
0
Version
5380a32
Hash
ecf08044
Indexed
2026-08-20 07:09

inicio - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-08-22 06:15
浙ICP备14020137号-1 $mapa de visitantes$