Feature Map

Built for WeChat AI routing, not demo theatrics.

WeClaw keeps the feature set tight around a real operator loop: connect WeChat, discover agents, choose the right transport, preserve media, and keep outbound control in reach.

Supported Agents

ClaudeCodexGeminiKimiCursorOpenCodeOpenClaw

The upstream README describes three transport modes and shows explicit routing for Claude, Codex, Gemini, Kimi, Cursor, OpenCode, and OpenClaw.

Agent Modes

ACP when available, sensible fallbacks when it is not.

Mode selection is one of the product's strongest differentiators, so the site should make the tradeoffs legible instead of hiding them behind marketing fog.

ACP

Preferred

A long-running subprocess connected over stdio JSON-RPC for the fastest response path and reusable sessions.

ACP is the first choice whenever the agent exposes it because it avoids spawning a fresh process on every message and keeps conversational state warm.

Examples

Claude, Codex, Gemini, Kimi, Cursor, OpenCode, OpenClaw

CLI

Fallback

A new process per message with optional session resume, useful when ACP is unavailable or you only have the command-line tool.

CLI mode is practical for portable setups and works especially well when the agent supports a resume flag or lightweight invocation model.

Examples

claude -p, codex exec

HTTP

Gateway

An OpenAI-compatible chat completions endpoint for environments where an HTTP bridge is a better operational fit than local binaries.

This is documented as the HTTP fallback path and especially relevant for OpenClaw-style gateways or self-hosted agent front doors.

Examples

OpenClaw HTTP fallback

Core Features

Six product pillars, one routing model.

This section translates README facts into clearer product language while preserving the technical specifics an evaluator actually needs.

Routing

Route each request to the right agent

Keep a default agent for normal traffic, override a single prompt with `/codex` or `/claude`, and switch thread defaults without leaving WeChat.

  • Slash commands route a single request, like `/codex` or `/claude`.
  • Aliases such as `/cc` and `/cx` keep typing short inside the chat box.
  • Default agent selection is persisted to config and survives restarts.

Transport

Prefer persistent ACP when it exists

When ACP is available, WeClaw keeps a persistent JSON-RPC bridge alive so agent processes and session state stay warm.

  • ACP is the fastest mode because it avoids a fresh process per message.
  • Mode selection is automatic when ACP and CLI are both present.
  • Claude, Codex, Gemini, Kimi, Cursor, OpenCode, and OpenClaw fit this model.

Fallback

Drop to CLI or HTTP without losing the flow

If ACP is not available, WeClaw still routes messages through CLI invocation or an OpenAI-compatible HTTP chat endpoint.

  • CLI mode can resume compatible sessions using agent-specific flags.
  • HTTP mode covers OpenClaw-style endpoints when local binaries are not the right fit.
  • Transport choice stays explicit in the config file instead of hiding behind magic.

Media

Send back messages people can actually read

WeClaw flattens agent markdown into WeChat-safe text, turns image URLs into uploads, and keeps files as files instead of broken links.

  • Markdown is converted to plain text for better chat readability.
  • Image URLs from agent replies can be downloaded and sent as actual image messages.
  • Common media types include images, videos, and arbitrary files.

Outbound

Push text or media without waiting

Operators can send text or media even when the user has not just messaged, either from the CLI or from a local HTTP endpoint.

  • `weclaw send` pushes outbound text, image, or file payloads from the terminal.
  • The local HTTP API runs on `127.0.0.1:18011` while WeClaw is active.
  • Outbound flow works for message-driven automations and handoffs.

Operations

Keep the bridge explicit and inspectable

Config lives in `~/.weclaw/config.json`, default-agent selection is explicit, and environment overrides stay visible where they matter.

  • Environment overrides handle default agent and OpenClaw gateway values.
  • CLI permission flags are documented for operators who need them.
  • Background mode, logs, launchd, and systemd keep deployment practical.

Command Surface

Commands are small, memorable, and operator-friendly.

WeClaw keeps the message grammar simple: use a default agent, route to an alias, or send operational commands for status and switching.

hello

Send a message to the current default agent without prefixing an explicit route.

/codex write a sorting function

Route one request to Codex without changing the default agent for the rest of the thread.

/cc explain this diff

Use the Claude alias when you want a shorter, chat-friendly route inside the message box.

/claude

Switch the default agent to Claude and persist that choice in local config.

/status

Check the active default agent and connection state.

weclaw send --to "[email protected]" --text "Hello from weclaw"

Send a proactive outbound message without waiting for the user to speak first.

Config sample

~/.weclaw/config.json

01{02  "default_agent": "claude",03  "agents": {04    "claude": {05      "type": "acp",06      "command": "/usr/local/bin/claude-agent-acp",07      "model": "sonnet"08    },09    "codex": {10      "type": "acp",11      "command": "/usr/local/bin/codex-acp"12    },13    "openclaw": {14      "type": "http",15      "endpoint": "https://api.example.com/v1/chat/completions",16      "api_key": "sk-xxx",17      "model": "openclaw:main"18    }19  }20}

Permission flags when needed

The README explicitly calls out CLI flags such as Claude's permission skip and Codex's git repo bypass so operators can avoid blocking approval prompts inside WeChat.

Proactive delivery built in

Use `weclaw send` for operator-triggered outbound messaging or hit the local HTTP endpoint while `weclaw start` is running.