Skip to content

Open source · Drive any agent

xacpxYour agents, in any chat

Drive Codex, Claude Code & Gemini sessions from WeChat, Feishu, Yuanbao — no terminal required.

$npm i -g @ganglion/xacpx
$xacpx login
$xacpx start
Controlling an agent from a chat thread

Works with — runs in

Codex Claude Code Gemini Cursor Copilot OpenCode Droid Qwen Kimi OpenClaw Pi iFlow Kilocode Kiro Qoder Trae
WeChat
Feishu
YuanbaoYuanbao
See it work

Drive a whole session from one thread

Start it, prompt it, check on it — without ever opening a terminal.

  1. 01

    Start a session

    One command binds an agent to a workspace.

  2. 02

    Send a prompt

    Any non-slash message goes straight to the agent.

  3. 03

    Stay in control

    /status, /cancel, /use — switch live, anytime.

How it works

One message, through the whole pipeline

xacpx bridges a chat message to an acpx agent session running on your machine.

Logical session

xacpx-managed: alias, agent, workspace, per-user chat context.

maps to

Transport session

acpx-managed: the real named acpx session on the backend.

More power

More than message relay

Multi-agent orchestration

Delegate work across a fleet of agents

A coordinator fans sub-tasks out to workers and gathers results back through the external MCP surface.

Orchestration →
Scheduled tasks

Queue prompts to fire later

Queue prompts with /later — relative or absolute times, in a temporary or a bound session.

Scheduled tasks →
Extensible channels

Plug any chat platform into the core

WeChat is built in; Feishu and Yuanbao are official plugins — third-party channels follow the same interface, no core changes.

Build a channel →

What is xacpx?

xacpx is a chat-channel console for remotely controlling acpx agent sessions. It acts as a bridge between your chat application and the agent CLI running on your machine, letting you start, switch, and cancel agent work without leaving your phone.

You can use xacpx to drive Codex, Claude Code, Gemini, OpenCode, and any other agent that acpx supports — all from a familiar messaging interface.

When to use it

xacpx is the right tool when you want lightweight, on-the-go access to long-running agent sessions. Common scenarios include:

  • Monitoring or redirecting an agent while you are away from your desk.
  • Managing several parallel sessions across different projects from a single chat thread.
  • Delegating sub-tasks to other agents without opening a terminal.

If your workflow is entirely local and terminal-based, you do not need xacpx — it adds value specifically through the chat channel layer.

Core workflow

The typical sequence is four steps:

  1. Start the background daemonxacpx start
  2. Create or switch a session/ss codex -d /path/to/project or /use <alias>
  3. Send plain text prompts — any message that does not start with / is forwarded to the current session
  4. Check status or cancel/status, /cancel

Session model. xacpx maintains two distinct layers of session state. A logical session is xacpx-managed: it holds an alias, the chosen agent, a workspace binding, and the per-user chat context. A transport session is the actual named acpx session running on the backend. /session new (or the shorthand /ss) creates both at once. /session attach creates only the logical session and binds it to a transport session that already exists — useful when you have an acpx session running independently and want to hook xacpx's chat layer on top of it without disturbing the existing conversation.

Supported channels

xacpx ships with WeChat as the built-in default channel. Additional channels are distributed as official plugin packages:

ChannelPackage
WeChat (built-in)
Feishu@ganglion/xacpx-channel-feishu
Yuanbao@ganglion/xacpx-channel-yuanbao

Third-party channels follow the same plugin interface. Install a channel plugin with xacpx plugin add <package>, configure it with xacpx channel add <name>, then restart the daemon.

Next steps

Released under the MIT License.