{"id":48635116,"url":"https://github.com/gadzan/weacpx","last_synced_at":"2026-05-23T22:01:29.100Z","repository":{"id":347310336,"uuid":"1192613325","full_name":"gadzan/weacpx","owner":"gadzan","description":"用微信 ClawBot 远程控制 Codex/Claude Code/Gemini/OpenCode 会话的服务","archived":false,"fork":false,"pushed_at":"2026-05-19T09:05:33.000Z","size":1718,"stargazers_count":6,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-19T11:28:09.663Z","etag":null,"topics":["acpx","claude-code","codex","gemini","opencode","weixin-agent-sdk"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gadzan.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-03-26T11:46:20.000Z","updated_at":"2026-05-19T09:04:37.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/gadzan/weacpx","commit_stats":null,"previous_names":["gadzan/weacpx"],"tags_count":33,"template":false,"template_full_name":null,"purl":"pkg:github/gadzan/weacpx","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gadzan%2Fweacpx","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gadzan%2Fweacpx/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gadzan%2Fweacpx/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gadzan%2Fweacpx/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gadzan","download_url":"https://codeload.github.com/gadzan/weacpx/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gadzan%2Fweacpx/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33413623,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-23T18:09:33.147Z","status":"ssl_error","status_checked_at":"2026-05-23T18:09:31.380Z","response_time":53,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["acpx","claude-code","codex","gemini","opencode","weixin-agent-sdk"],"created_at":"2026-04-09T09:19:40.231Z","updated_at":"2026-05-23T22:01:29.066Z","avatar_url":"https://github.com/gadzan.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# weacpx\n\n\u003e 用微信、飞书或元宝远程驱动 Codex、Claude Code 等 acpx 会话。\n\n[![npm](https://img.shields.io/npm/v/weacpx?style=flat-square)](https://www.npmjs.com/package/weacpx)\n[![Node.js Version](https://img.shields.io/node/v/weacpx?style=flat-square)](https://nodejs.org)\n[![zread](https://img.shields.io/badge/Ask_Zread-_.svg?style=flat-square\u0026color=00b0aa\u0026labelColor=000000\u0026logo=data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTQuOTYxNTYgMS42MDAxSDIuMjQxNTZDMS44ODgxIDEuNjAwMSAxLjYwMTU2IDEuODg2NjQgMS42MDE1NiAyLjI0MDFWNC45NjAxQzEuNjAxNTYgNS4zMTM1NiAxLjg4ODEgNS42MDAxIDIuMjQxNTYgNS42MDAxSDQuOTYxNTZDNS4zMTUwMiA1LjYwMDEgNS42MDE1NiA1LjMxMzU2IDUuNjAxNTYgNC45NjAxVjIuMjQwMUM1LjYwMTU2IDEuODg2NjQgNS4zMTUwMiAxLjYwMDEgNC45NjE1NiAxLjYwMDFaIiBmaWxsPSIjZmZmIi8%2BCjxwYXRoIGQ9Ik00Ljk2MTU2IDEwLjM5OTlIMi4yNDE1NkMxLjg4ODEgMTAuMzk5OSAxLjYwMTU2IDEwLjY4NjQgMS42MDE1NiAxMS4wMzk5VjEzLjc1OTlDMS42MDE1NiAxNC4xMTM0IDEuODg4MSAxNC4zOTk5IDIuMjQxNTYgMTQuMzk5OUg0Ljk2MTU2QzUuMzE1MDIgMTQuMzk5OSA1LjYwMTU2IDE0LjExMzQgNS42MDE1NiAxMy43NTk5VjExLjAzOTlDNS42MDE1NiAxMC42ODY0IDUuMzE1MDIgMTAuMzk5OSA0Ljk2MTU2IDEwLjM5OTlaIiBmaWxsPSIjZmZmIi8%2BCjxwYXRoIGQ9Ik0xMy43NTg0IDEuNjAwMUgxMS4wMzg0QzEwLjY4NSAxLjYwMDEgMTAuMzk4NCAxLjg4NjY0IDEwLjM5ODQgMi4yNDAxVjQuOTYwMUMxMC4zOTg0IDUuMzEzNTYgMTAuNjg1IDUuNjAwMSAxMS4wMzg0IDUuNjAwMUgxMy43NTg0QzE0LjExMTkgNS42MDAxIDE0LjM5ODQgNS42MDE1NiAxNC4zOTg0IDQuOTYwMVYyLjI0MDFDMTQuMzk4NCAxLjg4NjY0IDE0LjExMTkgMS42MDAxIDEzLjc1ODQgMS42MDAxWiIgZmlsbD0iI2ZmZiIvPgo8cGF0aCBkPSJNNCAxMkwxMiA0TDQgMTJaIiBmaWxsPSIjZmZmIi8%2BCjxwYXRoIGQ9Ik00IDEyTDEyIDQiIHN0cm9rZT0iI2ZmZiIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgo8L3N2Zz4K\u0026logoColor=ffffff)](https://zread.ai/gadzan/weacpx)\n[![License](https://img.shields.io/npm/l/weacpx?style=flat-square)](./LICENSE)\n\n![weacpx logo](assets/weacpx.jpg)\n\n## 这是什么\n\n`weacpx` 是一个可以通过微信、飞书或元宝直接控制 Codex / Claude Code / Gemini / OpenCode 等 ACP Agent 的工具。它把聊天消息通过 `acpx` 连接到 Agent CLI 会话上，让你直接在手机里：\n\n- 新建和切换会话\n- 让 Agent 继续在指定项目目录里工作\n- 查看流式回复、最终结果和工具调用摘要\n- 调整权限策略\n- 在需要时做多 Agent 编排\n\n如果你需要临时远程编码或办公，`weacpx` 提供的是一个方便快捷的**远程入口**，让你在微信或飞书里就能随时随地干活。\n\n## 适合谁\n\n`weacpx` 适合轻量临时使用多 Agent 办公的用户。你可以用微信、飞书或元宝盯任务、发指令、看结果，并在同一个聊天里管理多个会话。\n\n\u003e `weacpx` 的会话是跟本地隔离的，它目前还不能使用 CLI 已有的会话，你在 weacpx 也无法看到本地的 CLI 会话记录。\n\n## 5 分钟快速开始\n\n### 前置条件\n\n开始前，你至少需要：\n\n- Node.js 22+ 或 Bun\n- 已可用的 Codex / Claude Code / Gemini / OpenCode 等你要使用的 Agent CLI\n- 一台装了微信、飞书或元宝的手机\n\n\u003e 微信频道基于 `weixin-agent-sdk` 工作，飞书频道使用飞书自建应用凭据，元宝频道使用 `appKey` / `appSecret`；底层 Agent 会话由 `acpx` 驱动。正常情况下，你不需要额外全局安装 `acpx`。\n\n### 安装\n\n```bash\nnpm install -g weacpx --registry=https://registry.npmjs.org\n# 或\nbun add -g weacpx\n```\n\n### 登录微信\n\n```bash\nweacpx login\n```\n\n终端会显示二维码，请继续用微信扫码登录。\n\n如果你想使用飞书或元宝而不是微信，请先看下面的“切换/添加其它频道”。\n\n### 启动服务\n\n```bash\nweacpx start\n```\n\n### 在微信里创建第一个会话\n\n把下面两条消息发到微信：\n\n```text\n/ss codex -d /absolute/path/to/your/repo\n/help\n```\n\n然后直接发普通文本，例如：\n\n```text\nhello\n```\n\n如果一切正常，普通文本会进入当前会话，Agent 的回复会回到微信。\n\n### 切换/添加其它频道\n\n微信是内置默认频道。飞书和元宝以官方插件包分发，第三方频道也走同样的插件流程。如果记不住包名，先看一眼官方插件清单：\n\n```bash\nweacpx plugin known\n# 安装：weacpx plugin add \u003cpackage\u003e\n```\n\n```bash\n# 飞书\nweacpx plugin add @ganglion/weacpx-channel-feishu\nweacpx channel add feishu     # 按提示输入 appId/appSecret\nweacpx restart\n\n# 元宝\nweacpx plugin add @ganglion/weacpx-channel-yuanbao\nweacpx channel add yuanbao    # 按提示输入 appKey/appSecret\nweacpx restart\n```\n\n完整的密钥配置、参数、`enable/disable/rm` 等管理命令见 [docs/channel-management.md](./docs/channel-management.md)。如果你想自己写一个频道插件，见 [docs/plugin-development.md](./docs/plugin-development.md)。\n\n## 你的日常使用流程\n\n最常见的使用顺序只有四步：\n\n1. **启动后台服务**：`weacpx start`\n2. **创建或切换会话**：`/ss ...`、`/use ...`\n3. **直接发普通文本**：让当前会话继续工作\n4. **必要时查看状态或取消当前任务**：`/status`、`/cancel`\n\n### 1) 创建会话\n\n最常用命令：\n\n```text\n/ss codex -d /absolute/path/to/your/repo\n```\n\n它会使用 `codex`，绑定这个工作目录，并自动切换到新会话。\n\n### 2) 发普通消息\n\n非 `/` 开头的文本，都会发送到当前会话。\n\n```text\n修一下最近这个接口超时问题\n```\n\n### 3) 看回复\n\n`weacpx` 支持三种常用回复模式：\n\n- `stream`：流式返回中间文本\n- `final`：只返回最终结果\n- `verbose`：默认，在流式文本之外，额外显示工具调用摘要\n\n例如 `verbose` 模式下，你会看到：\n\n```text\n📖 sed -n '1,220p' README.md\n🔍 rg -n 'session new' src tests\n💻 bun test tests/unit/main.test.ts\n✏️ Edit parse-command.ts\n```\n\n### 4) 切换会话\n\n```text\n/ss\n/use backend:codex\n```\n\n这样你可以在同一个微信聊天里切换不同项目、不同 agent 的会话。\n\n## 常用 CLI 命令\n\n这些命令在电脑终端里运行。\n\n| 命令 | 说明 |\n|------|------|\n| `weacpx login` | 登录微信 |\n| `weacpx logout` | 清除本机保存的微信登录凭证 |\n| `weacpx run` | 前台运行，适合调试 |\n| `weacpx start` | 后台启动服务 |\n| `weacpx status` | 查看后台状态、PID、配置路径、日志路径 |\n| `weacpx stop` | 停止后台实例 |\n| `weacpx restart` | 重启后台实例，让频道配置变更生效 |\n| `weacpx update [--all\\|\u003cname\u003e]` | 检查并更新 weacpx 与已安装插件；安装了插件时会交互式选择更新项 |\n| `weacpx channel list` | 查看已配置的消息频道 |\n| `weacpx plugin known` | 查看官方插件清单（飞书/元宝包名） |\n| `weacpx plugin add @ganglion/weacpx-channel-feishu \u0026\u0026 weacpx channel add feishu` | 安装并添加飞书频道，会提示输入飞书应用凭据 |\n| `weacpx plugin add @ganglion/weacpx-channel-yuanbao \u0026\u0026 weacpx channel add yuanbao` | 安装并添加元宝频道，会提示输入元宝 appKey/appSecret |\n| `weacpx doctor` | 运行环境诊断 |\n| `weacpx version` | 查看当前版本 |\n| `weacpx agent list` | 查看本机已注册的 agent |\n| `weacpx agent add \u003cname\u003e` | 从内置模板添加 agent；已存在且配置不同的同名 agent 不会被覆盖 |\n| `weacpx agent rm \u003cname\u003e` | 删除 agent |\n| `weacpx workspace list` | 查看本机已注册的 workspace |\n| `weacpx workspace add [name] [--raw]` | 把当前目录注册成 workspace；不传 `name` 时使用当前目录名，含特殊字符的名称会被自动规范化 |\n| `weacpx workspace rm \u003cname\u003e` | 删除 workspace |\n\n首次运行 `weacpx start` 或 `weacpx run` 时，如果没有会话、workspace 和插件，CLI 会询问是否把当前目录创建为 workspace，并选择一个内置 agent 模板；服务启动后会通过正常会话创建流程创建初始 acpx 会话。\n\n`workspace` 也可以简写为 `ws`：\n\n```bash\nweacpx ws add\nweacpx ws list\nweacpx ws rm backend\n```\n\n### `workspace` CLI 怎么用\n\n`weacpx workspace` 用来在电脑本机维护 `~/.weacpx/config.json` 里的 `workspaces` 配置。它适合先在终端里注册常用项目目录，然后在微信里用 `--ws \u003cname\u003e` 直接引用。\n\n| 命令 | 说明 |\n|------|------|\n| `weacpx workspace list` | 列出已注册的 workspace 及其路径 |\n| `weacpx workspace add` | 把当前目录注册为 workspace，名称默认取当前目录名（自动规范化） |\n| `weacpx workspace add \u003cname\u003e` | 把当前目录注册为指定名称（含特殊字符时自动规范化） |\n| `weacpx workspace add [name] --raw` | 保留原始名称（含空格等），后续命令需要用引号引用 |\n| `weacpx workspace rm \u003cname\u003e` | 删除指定 workspace |\n\n常见用法：\n\n```bash\ncd /absolute/path/to/backend\nweacpx workspace add backend\n\ncd /absolute/path/to/frontend\nweacpx ws add frontend\n\nweacpx ws list\nweacpx ws rm frontend\n```\n\n注册后，你可以在微信里直接使用：\n\n```text\n/ss codex --ws backend\n/ss new claude --ws frontend\n```\n\n注意：`workspace add` 总是注册**当前终端所在目录**。如果不传名称，会用当前目录名作为 workspace 名称。含空格、中文等字符的名称会被自动规范化为 `[a-zA-Z0-9._-]+`（例如目录 `My Project` 会保存为 `My-Project`），重名时追加 `-2`、`-3`。如需保留原始名称，加 `--raw`；之后 `weacpx workspace rm`、`/ws rm`、`--ws \u003cname\u003e` 都需要用引号引用，例如 `weacpx workspace rm \"My Project\"`。\n\n### `agent` CLI 怎么用\n\n`weacpx agent` 用来在电脑本机维护 `~/.weacpx/config.json` 里的 `agents` 配置；`agents` 是同等别名。\n\n| 命令 | 说明 |\n|------|------|\n| `weacpx agent list` | 列出已注册的 agent |\n| `weacpx agent templates` | 列出可添加的内置模板 |\n| `weacpx agent add \u003cname\u003e` | 从内置模板添加 agent，例如 `kimi`、`opencode` |\n| `weacpx agent rm \u003cname\u003e` | 删除指定 agent |\n\n常见用法：\n\n```bash\nweacpx agent templates\nweacpx agent add kimi\nweacpx agents list\nweacpx agent rm kimi\n```\n\n### `doctor` 怎么用\n\n```bash\nweacpx doctor\nweacpx doctor --verbose\nweacpx doctor --smoke\nweacpx doctor --smoke --agent codex --workspace backend\n```\n\n说明：\n\n- `--verbose` 会展开每项检查的细节\n- `--smoke` 会额外执行一次真实 transport 级别的最小 prompt 检查\n- `--agent` / `--workspace` 只影响 `--smoke`\n- 如果不传 `--smoke`，相关检查会显示为 `SKIP`\n\n## 常用聊天命令\n\n这些命令在微信或飞书聊天里发送。完整命令参考见：[docs/commands.md](./docs/commands.md)。\n\n### Agent 管理\n\n默认配置通常已包含 `codex` 与 `claude`。如果你要使用其它 acpx 支持的 agent，可以先用 `/agent add \u003cname\u003e` 从内置模板添加。\n\n| 命令 | 说明 |\n|------|------|\n| `/agents` | 查看 agent 列表 |\n| `/agent add gemini` | 添加 `Gemini` Agent |\n| `/agent add opencode` | 添加 `OpenCode` Agent |\n| `/agent rm \u003cname\u003e` | 删除 agent |\n\n当前内置模板与 acpx 的 built-in agents 对齐：\n\n```text\ncodex, claude, pi, openclaw, gemini, cursor, copilot, droid,\nfactory-droid, factorydroid, iflow, kilocode, kimi, kiro,\nopencode, qoder, qwen, trae\n```\n\n这些模板只写入 `driver`，实际启动命令交给 acpx 解析；例如 `/agent add kimi` 会保存 `{ \"driver\": \"kimi\" }`。完整命令说明见 [docs/commands.md](./docs/commands.md)，配置字段见 [docs/config-reference.md](./docs/config-reference.md)。\n\n### Workspace 管理\n\n| 命令 | 说明 |\n|------|------|\n| `/workspaces` / `/workspace` / `/ws` | 查看 workspace 列表 |\n| `/ws new \u003cname\u003e -d \u003cpath\u003e [--raw]` | 添加 workspace，`path` 是电脑上的绝对路径，Windows 不用区分正反斜杠；含空格/中文等特殊字符的名称会被自动规范化，--raw 保留原名 |\n| `/workspace rm \u003cname\u003e` | 删除 workspace |\n\n### Session 会话\n\n| 命令 | 说明 |\n|------|------|\n| `/sessions` / `/session` / `/ss` | 查看会话列表 |\n| `/ss \u003cagent\u003e (-d \u003cpath\u003e \\| --ws \u003cname\u003e)` | 创建或复用当前最常用的会话 |\n| `/ss new \u003cagent\u003e (-d \u003cpath\u003e \\| --ws \u003cname\u003e)` | 强制新建会话 |\n| `/use \u003calias\u003e` | 切换当前会话 |\n| `/status` | 查看当前会话状态 |\n| `/mode` / `/mode \u003cid\u003e` | 查看或设置底层 `acpx` mode |\n| `/replymode` | 查看当前回复模式 |\n| `/replymode stream` | 流式回复 |\n| `/replymode verbose` | 流式 + 工具调用摘要 |\n| `/replymode final` | 只返回最终结果 |\n| `/replymode reset` | 回退到全局默认 reply mode |\n| `/session reset` | 重置当前会话上下文 |\n| `/clear` | `/session reset` 的快捷别名 |\n| `/cancel` / `/stop` | 停止当前任务 |\n\n建议你优先记住这三个：\n\n```text\n/ss codex -d /absolute/path/to/repo\n/use \u003calias\u003e\n/cancel\n```\n\n### 定时任务（/later）\n\n让 agent 在未来某个时间自动收到一条消息。任务绑定「创建时的当前会话」，到点后把这条消息作为普通 prompt 发给那个会话。\n\n| 命令 | 说明 |\n|------|------|\n| `/lt \u003c时间\u003e \u003c消息\u003e` | 创建一次性定时任务（`/later` 同义） |\n| `/lt list` | 查看全局待执行任务 |\n| `/lt cancel \u003cid\u003e` | 取消待执行任务 |\n\n最常见例子：\n\n```text\n/lt in 2h 检查 CI 是否通过\n/lt 明天 09:00 看 PR\n/lt list\n```\n\n说明：\n\n- 只支持一次性任务，时间必须在 10 秒之后、7 天之内\n- 时间格式是固定白名单（相对时间 / 今天·明天·后天 / 星期几 + 时刻），不支持自然语言\n- 完整时间格式、任务状态与限制见 [docs/later-command.md](./docs/later-command.md)\n\n### 配置与权限\n\n| 命令 | 说明 |\n|------|------|\n| `/config` | 查看支持通过聊天命令修改的配置路径 |\n| `/config set \u003cpath\u003e \u003cvalue\u003e` | 修改一个白名单配置项 |\n| `/pm` / `/permission` | 查看当前权限模式 |\n| `/pm set allow` | 切到 `approve-all` |\n| `/pm set read` | 切到 `approve-reads` |\n| `/pm set deny` | 切到 `deny-all` |\n| `/pm auto` | 查看当前非交互权限策略 |\n| `/pm auto deny` | 切到 `deny` |\n| `/pm auto fail` | 切到 `fail` |\n\n最常见例子：\n\n```text\n/config set wechat.replyMode final\n/pm set read\n/pm auto deny\n```\n\n### 多 Agent 编排\n\nREADME 里只保留用户视角的最常用命令。\n\n| 命令 | 说明 |\n|------|------|\n| `/dg \u003cagent\u003e \u003ctask\u003e` | 快速委派一个子任务 |\n| `/tasks` | 查看当前主线下的任务 |\n| `/task \u003cid\u003e` | 查看单个任务详情 |\n| `/task approve \u003cid\u003e` | 批准 `needs_confirmation` 任务 |\n| `/task cancel \u003cid\u003e` | 取消任务；取消一个尚未批准的任务等同于拒绝 |\n\n最常见例子：\n\n```text\n/dg claude 审查当前方案的 3 个高风险点\n/tasks\n/task approve task_123\n```\n\n说明：\n\n- 当前会话就是主控会话\n- 被委派出去的是独立子任务会话\n- agent 发起的委派请求默认需要人工确认\n- 如果你在用外部 MCP host（Codex / Claude Code），用 `delegate_batch` 一次派发多个并行子任务：传一个 `tasks` 数组，底层自动建组，全部结果一次性回注，无需手动维护 groupId\n\n如果你想先理解什么时候该用 delegate、什么时候应该并行派出多个子任务，请看：\n\n- [docs/weacpx-group-usage-guide.md](./docs/weacpx-group-usage-guide.md)\n\n\n### MCP 集成：外部 coordinator\n\n如果你想让 Codex、Claude Code 等外部 MCP host 直接使用 weacpx 的多 Agent 编排能力，可以把 `weacpx mcp-stdio` 配成一个 stdio MCP server。\n\n`delegate_request` 支持 MCP Tasks：支持该能力的 host 可以让委派请求立即返回原生 task handle，之后通过 `tasks/get` / `tasks/result` / `tasks/cancel` 获取状态、结果或取消任务；worker 输出的 `[PROGRESS] ...` 会显示在 `tasks/get` / `tasks/list` 的 `statusMessage` 里；`input_required` 状态下的 `tasks/result` 会返回下一步操作提示并结束本次 result stream，而不是长时间阻塞；client 按提示调用 `task_get` / `task_approve` / `coordinator_answer_question` 等工具后，再继续 `tasks/get` / `tasks/result` 轮询。不支持 MCP Tasks 的 host 仍可使用兼容工具 `task_get` / `task_list` / `task_watch` / `task_cancel`。\n\n先启动 daemon：\n\n```bash\nweacpx start\n```\n\nMCP 配置推荐保持简单，不要在启动参数里绑定 workspace：\n\n```json\n{\n  \"mcpServers\": {\n    \"weacpx\": {\n      \"command\": \"weacpx\",\n      \"args\": [\"mcp-stdio\"]\n    }\n  }\n}\n```\n\n外部 host 调用 `delegate_request` 时传 `workingDirectory`，weacpx 会让被委派的 worker 在这个目录工作：\n\n```json\n{\n  \"targetAgent\": \"claude\",\n  \"task\": \"审查这个改动的风险点\",\n  \"workingDirectory\": \"/absolute/path/to/your/repo\"\n}\n```\n\nWindows 上如果 MCP host 不会帮你解析带参数的 `command`，把 `node.exe` 放在 `command`，把 weacpx 脚本和参数放在 `args`：\n\n```json\n{\n  \"type\": \"stdio\",\n  \"command\": \"D:\\\\Users\\\\you\\\\.nvmd\\\\versions\\\\22.19.0\\\\node.exe\",\n  \"args\": [\n    \"E:\\\\projects\\\\weacpx\\\\dist\\\\cli.js\",\n    \"mcp-stdio\"\n  ]\n}\n```\n\n更多身份规则、`workingDirectory` 语义、工具列表、流程图和故障排查见：[docs/external-mcp.md](./docs/external-mcp.md)。\n\n## 常见场景\n\n### 在手机上继续盯一个本地项目\n\n```text\n/ss codex -d /absolute/path/to/backend\n看一下今天这个接口超时问题\n```\n\n### 同一个聊天里切换两个项目\n\n```text\n/ss codex -d /absolute/path/to/backend\n/ss new codex -d /absolute/path/to/frontend\n/ss\n/use backend:codex\n/use frontend:codex\n```\n\n## 配置与运行文件\n\n默认文件位置：\n\n- 配置文件：`~/.weacpx/config.json`\n- 状态文件：`~/.weacpx/state.json`\n- 运行日志：`~/.weacpx/runtime/app.log`\n\n更多运行时文件会放在 `~/.weacpx/runtime/` 下。\n\n## 常见问题\n\n### `/ss new` 失败怎么办？\n\n如果你在微信里创建会话失败，最常见的情况不是 `weacpx` 命令格式错了，而是底层会话没有成功创建。\n\n你可以先试这两步：\n\n1. 在终端里确认当前项目目录和 agent 本身可用\n2. 如果你熟悉 `acpx`，先手动创建一个会话，再在微信里挂回去\n\n例如，你可以先在本地创建一个会话：\n\n```bash\n./node_modules/.bin/acpx --verbose --cwd /absolute/workspace/path codex sessions new --name existing-demo\n```\n\n然后在微信里把它挂回来：\n\n```text\n/ss attach demo -a codex --ws backend --name existing-demo\n```\n\n### `/mode \u003cid\u003e` 里的 `\u003cid\u003e` 是什么？\n\n`/mode` 的可用值取决于你当前使用的 agent，`weacpx` 不会替你统一转换这些值。\n\n当前比较明确的已知值：\n\n- `codex`: `plan`\n- `cursor`: `agent`、`plan`、`ask`\n\n如果你不确定某个值能不能用，优先查对应 agent 的文档；如果填错，通常会直接收到无效参数之类的报错。\n\n## 从源码运行\n\n如果你是从仓库源码直接使用：\n\n```bash\nbun install\nbun run login\nbun run dev\n```\n\n## 更多文档\n\n如果你现在要做的是下面这些事，可以直接从这里继续：\n\n### 安装与配置\n\n- 想配置微信、飞书、元宝、或第三方插件频道：[docs/channel-management.md](./docs/channel-management.md)\n- 想自己写一个频道插件：[docs/plugin-development.md](./docs/plugin-development.md)\n- 想看完整配置字段：[docs/config-reference.md](./docs/config-reference.md)\n- 想在微信里改配置：[docs/config-command.md](./docs/config-command.md)\n\n### 日常使用\n\n- 想查看完整聊天命令参考：[docs/commands.md](./docs/commands.md)\n- 想用定时任务（`/later`）安排一次性的未来消息：[docs/later-command.md](./docs/later-command.md)\n- 想理解什么时候该用 delegate、什么时候该开 group：[docs/weacpx-group-usage-guide.md](./docs/weacpx-group-usage-guide.md)\n\n### 排错与验证\n\n- 想跑测试或了解测试分层：[docs/testing.md](./docs/testing.md)\n\n### 开发与贡献\n\n- 想从源码开发、调试或参与贡献：[docs/developments.md](./docs/developments.md)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgadzan%2Fweacpx","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgadzan%2Fweacpx","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgadzan%2Fweacpx/lists"}