WECHAT / WECOM / TELEGRAM × NATIVE LOCAL CLI

WeChat and local CLIs,
truly two-way.

More than forwarding a final answer. Inputs, approvals, questions, status, and sessions stay continuous between WeChat, WeCom, or Telegram and your local CLIs, while Codex, Claude Code, OpenCode, and Pi keep running natively on your computer.

View on GitHub ↗
✓ Local execution✓ Native terminals✓ Three channels
Sending taskRouting to the local CLILocal CLI is executingResults, approvals, and status are returning
Remote channels
Local workspace
—GitHub Stars
1.2.3Current version
—Total npm downloads

Quick start

Connect a local CLI in three steps.

Install, configure a channel, then choose either one direct launcher or the daemon. The launch commands are alternatives, not sequential steps.

cli-wechat-bridge — setup
01Install globally$ npm install -g cli-wechat-bridge@latest
02Log in / pair$ wechat-setup
03Choose a launcher$ wechat-codex
Channel
Launch mode

Requires Node.js ≥ 22.13.0 and at least one supported CLI. Pi 0.85.0+ requires Node.js ≥ 22.19.0. Telegram provides global commands since 1.2.3; send one WeChat message after launch to refresh the context token; Codex ≥ 0.162 can attach the current conversation.

Read the complete setup guide ↗

Beyond final-answer forwarding

Two-way through the entire task.

Your phone is the remote entry point; the native terminal remains the primary workspace. Start from either side and continue in the same local session.

01

Remote input and results

Send natural language or commands from WeChat, WeCom, or Telegram, run them in the local CLI, and receive results in the same conversation.

02

Phone and terminal continuity

The native CLI stays visible and usable, ready for you to continue from the current context when you return.

03

Approvals and questions

Route supported approval, clarification, and selection requests to your phone instead of waiting at the terminal.

04

Status and session control

Switch CLIs with /codex, /claude, /opencode, and /pi; inspect status, stop tasks, or resume sessions with /status, /stop, and /resume.

Two-layer architecture

Channels provide reach. The Bridge preserves native behavior.

Messages enter the current workspace through a daemon or direct launcher, then reach the matching adapter. Each adapter uses the CLI's native communication path instead of replacing it with another hosted chatbot. Regular Codex bridging supports 0.149.x–0.161.x; attaching the current conversation needs Codex 0.162+ with its shared daemon.

01 · Channel
WeChat iLink
WeCom Smart Bot
Telegram Bot API
02 · Workspace bridge
Daemon / direct launcher
Turn & session routing
Approvals / local companion
03 · Native CLI
Codex · WebSocket RPC
Claude Code · PTY + Hook
OpenCode · HTTP + SSE (1.18 / 2.0)
Pi · TUI extension
Read the architecture ↗

Trust and boundaries

A remote entry point, not a hosted workspace.

The Bridge runs on your computer with your local user permissions. It connects existing local CLIs without moving your project into a web workspace.

Review permissions and adapters ↗
01

Work stays local

The workspace, CLI processes, and session state remain on your computer; channels carry messages and media.

02

Bound channel identity

Personal WeChat uses the logged-in account; WeCom pairs an operator with configured bot credentials; Telegram accepts only the paired operator.

03

Native permissions

Codex and Claude Code retain their CLI permission semantics. Pi runs as a fully approved local agent.

04

Visible boundaries

A daemon is bound to its startup directory, and you can observe, take over, or stop sessions locally.

Real runs

Diagrams explain the system. Real captures prove it works.

Existing captures remain as supporting evidence. Hover to pause and click to view the original.

Let the task leave the screen,
not your local workflow.

Open GitHub ↗