开发与工程 wechat-botagent-client-protocolstdio-bridgemulti-sessionfile-transfermessage-automation

WeChat ACP

把微信私聊接入本地 ACP 智能体,并将回复与文件送回微信。

FollowAgents 评估 · FARS-2.1
谨慎使用
为什么不是更高等级:信任与安全维度为 17/29,未达「推荐」所需的 18/29,按「风险不做平均」下调推荐等级。
79/ 100 五分制 4.0 / 5
1 2 3 4 5 6
按维度查看评分与理由
1信任安全17 / 29 · 2.9/5

README 清楚说明消息经 WeChat iLink 转发至本地 ACP 子进程、回复回传、令牌与收件箱等本地存储、遥测内容及关闭方式;附件服务还限制为 127.0.0.1、使用进程内令牌、拒绝浏览器 Origin、约束工作目录和文件大小,相关安全边界有测试佐证。扣分主要因为代理权限请求默认自动批准,普通消息无需逐次确认便会触发代理及外部回复,代理本身可在配置的工作目录中产生效果;登录令牌和用户上下文会落盘,但材料没有说明加密、文件权限或密钥轮换。依赖使用宽松版本范围,虽有 npm ci、CI 和 OIDC provenance,却未展示审计、锁文件或漏洞处置政策。取消、重置、停止及一次性附件提供部分恢复能力,但无法回滚底层代理已经执行的外部操作。来源可关联到仓库、包元数据和 MIT 版权人,但发布者身份仍未经企业注册验证。

2可靠稳定12 / 14 · 4.3/5

README、package.json、CI、发布工作流与所给测试在 Node 版本、构建测试命令、会话恢复、进程清理和附件安全行为上高度一致。测试覆盖初始化中止、恢复策略、错误传播、跨平台进程树终止及附件关闭失败等路径,支持较高的一致性和错误可见性评分。依赖可用性因需要 Node 20+、可用的 iLink 环境、另行安装或认证的 ACP 代理及可能依赖 npx 网络解析而扣分;材料也明确承认部分预设可能需单独认证。

3适用触发16 / 18 · 4.4/5

材料面向从快速启动到多实例、守护进程、自动化注入、会话恢复、混合内容和自定义代理的多种场景,且提供 CLI、JSON 配置、别名和逐用户运行时开关。能力边界明确列出仅私聊、stdio ACP、附件所需 HTTP MCP/resource-link 支持,以及无法检测 iLink 静默丢弃。命令触发规则精确区分内置斜杠命令、整条消息匹配的裸别名和普通 ACP 提示。环境适配因要求特定 WeChat iLink 可用性、Node 20+,且部分功能取决于代理能力而未获满分。

4规范维护15 / 18 · 4.2/5

README 的信息结构完整,涵盖安装、配置、运行行为、恢复、取消、缓冲、文件、存储、限制、开发和遥测,并提供大量可直接使用的示例。MIT 声明与 package.json 一致。稳定预设身份、保留原始命令名和实例兼容路径有助于命名稳定,但未给出完整兼容性承诺。版本 0.10.0、stable/next 规则、发布标签校验和自动预发布流程清楚,但没有提供独立 changelog 或迁移历史。维护责任仅能从版权人、GitHub 仓库及 issues 地址推断,未见明确维护团队、安全报告渠道或支持承诺。

5有效结果12 / 13 · 4.6/5

该桥接器把多个 ACP CLI 的会话、流式文本、图片、音频、资源和文件统一送入 WeChat,并提供取消、续取失败文本、会话重置和本地注入,输出可用性及相对手工转发的增量价值很强。成本收益因需要持续运行本地进程、WeChat 登录、代理安装或认证、磁盘清理和安全管理而扣分;自动批准权限还可能放大代理操作成本与风险。

6证据核验7 / 8 · 4.4/5

主要声明能够对应到具体配置、工作流和聚焦测试;会话恢复、进程清理、路径逃逸、认证、一次性附件及容量限制获得跨文件佐证。扣分在于提供的材料不含核心实现文件,遥测章节也在中途截断,因此无法逐项追溯全部 README 行为。文档明确区分默认值、依赖代理能力的功能、预览版风险和无法检测的静默丢失,没有把推测表述成事实。

证据充分度: 评估于 2026年9月17日 审查版本 4b787a5893d8
源码中未见的安全控制:执行前用户确认
使用前请注意
  • 代理权限请求会被自动批准;应仅在受限工作目录和低权限账户中运行可信代理,并将任何底层代理的网络、文件和命令权限视为真实外部效果。
  • 登录令牌、上下文状态、日志、注入队列和收到的二进制文件会保存在 ~/.wechat-acp,且收件箱默认不会自动清理;材料未说明静态加密或严格文件权限。
  • 匿名遥测默认启用并发送至 Azure Application Insights;敏感环境应在启动前设置 WECHAT_ACP_TELEMETRY=0,并核查被截断材料之外的完整事件清单。
  • 优先使用 @latest;@next 会在 main 每次推送后自动发布,文档明确表示其未经过发布审查。
  • 取消或重置只能终止桥接会话及队列,不能保证撤销代理已执行的文件修改、网络调用或其他外部操作。
查看完整评分方法 →

这个 Agent 能做什么,适合哪些场景?

WeChat ACP 是一个运行在用户机器上的命令行桥接器,通过微信 iLink bot API 接收一对一消息,并通过标准输入输出连接 ACP 兼容智能体。它为每位微信用户创建独立的 ACP 会话和子进程,按用户串行处理消息,再把文本、图片、音频、资源或生成文件送回微信。项目内置 Copilot、Claude、Gemini、Qwen、Codex、OpenCode、OpenClaw、Hermes、Kiro、Kimi 和 Pi 等命令预设,也允许传入任意原始 ACP 启动命令。它支持后台守护进程、多个隔离实例、会话恢复、消息注入、长回复补发、多段输入缓冲以及微信内会话配置。运行边界是本地 Node.js 环境;登录令牌、收件箱、注入队列、会话状态和守护进程文件默认保存在 ~/.wechat-acp。

程序使用 WeChat iLink bot API 登录并轮询微信私聊;群聊会被忽略。收到消息后,它为对应用户启动或复用 ACP 子进程,通过 stdio 转发提示,并将 ACP 输出格式化后发回微信。二进制文件会从微信 CDN 下载、解密并保存到 inbox,随后以绝对路径告知能够读取本地文件的智能体;文本类文件、源代码和图片则可作为 resource 或 image 内容块嵌入提示。对于支持 HTTP MCP 的智能体,桥接器会注入本地 attach_file 工具,让智能体发送工作目录中的文件;受支持的图片会作为原生微信图片交付。它还实现 /acp-config、/acp-cancel、/acp-new、/acp-more、/acp-prompt-start 和 /acp-prompt-done 等桥接层命令,并提供 wechat-acp inject、stop 和 status 子命令。

  1. 开发者离开电脑时,通过微信私聊向运行在项目目录中的 Codex、Claude Code 或 Copilot CLI 提交任务并接收结果。
  2. 个人用户希望用熟悉的微信界面访问本地或通过 npx 启动的 ACP 智能体,同时保持每位联系人会话隔离。
  3. 维护多个代码库的用户,可用 --instance 为不同微信账号和项目目录运行相互独立的桥接实例。
  4. 自动化维护者可通过 wechat-acp inject 或 cron 将定时文本任务加入守护进程队列,再让结果通过微信返回。
  5. 需要向编码智能体提供 PDF、ZIP 或其他二进制资料的用户,可让桥接器保存文件并把本地绝对路径交给智能体。
  6. 需要在单次请求中组合微信文本、图片和文件的用户,可使用多段消息缓冲命令后一次性提交。

这个 Agent 有哪些优点和局限?

优点
  • 基于 ACP 而非绑定单一模型厂商,既有多个常见 CLI 预设,也允许自定义 command 和 args。
  • 每位微信用户使用独立会话和子进程,并支持按智能体与绝对工作目录隔离的可选会话恢复。
  • 不仅转发文本,还能处理图片、音频、工具资源、接收文件及智能体生成文件。
  • 具备守护进程、多实例、文件队列注入、取消、长回复补发和多段消息缓冲等完整运行控制。
  • attach_file 服务只监听随机的 127.0.0.1 端口,使用进程级 bearer token,并限制文件必须位于工作目录内且不超过 25 MiB。
局限
  • 依赖能够使用 iLink bot API 的微信环境,而且只支持一对一消息;群聊会被忽略。
  • 所有智能体权限请求都会自动批准,采用前需要评估智能体对本地项目和文件系统的访问风险。
  • ACP 通信仅支持通过 stdio 启动子进程,不提供远程 ACP 传输路径。
  • 生成文件的主动回传依赖智能体支持 HTTP MCP 注入并正确转发 resource_link;不支持这些能力的智能体会缺少该功能。
  • 收件箱文件不会自动清理,长期使用需要自行制定保留和删除策略。
  • 默认启用匿名遥测;不希望发送使用事件的部署需要设置 WECHAT_ACP_TELEMETRY=0。

如何安装或部署这个 Agent?

准备 Node.js 20+、可使用 iLink bot API 的微信环境,以及本地安装或可通过 npx 启动的 ACP 兼容智能体。无需预先全局安装即可运行:npx -y wechat-acp@latest --agent copilot。首次运行会在终端显示二维码;扫码后登录令牌保存在 ~/.wechat-acp,随后程序开始轮询私聊。也可指定其他内置预设,例如 npx -y wechat-acp@latest --agent codex,或使用原始命令:npx -y wechat-acp@latest --agent "npx my-agent --acp"。部分预设智能体需要另外完成自身认证。

如何使用这个 Agent?

启动桥接器后,在已登录的微信账号中向机器人发送私聊消息;每位用户会获得独立的 ACP 会话。若要指定项目目录,可运行 npx -y wechat-acp@latest --agent claude --cwd D:\code\project;后台运行可加 --daemon。使用 npx wechat-acp agents 查看预设,使用 wechat-acp status 或 wechat-acp stop 管理进程。多实例可用 --instance projA 隔离令牌、状态、日志和收件箱。会话内可用 /acp-cancel 取消当前轮次、/acp-new 开始新会话、/acp-config 查看或修改配置、/acp-more 重试发送因 iLink 限制而失败的文本段;混合内容可放在 /acp-prompt-start 与 /acp-prompt-done 之间。若要从本机自动化发送任务,可运行 npx wechat-acp inject --instance main --text "今日 AI 资讯"。

这个 Agent 与同类方案有什么区别?

与直接使用 Copilot、Claude、Gemini、Qwen、Codex、OpenCode、OpenClaw、Hermes、Kiro、Kimi 或 Pi 的原生命令行界面相比,WeChat ACP 不替代这些智能体,而是在其 ACP stdio 接口外增加微信登录、消息轮询、按用户会话、媒体与文件交付以及守护进程管理。它因此适合希望从微信远程触达现有 ACP CLI 的用户,但会额外引入 iLink API、桥接进程、本地存储和消息平台限制。

常见问题

它会处理微信群消息吗?
不会。程序只处理一对一私聊,群聊会被忽略。
是否只能使用内置智能体?
不是。除了内置预设,还可以通过 --agent 传入原始命令,例如 npx -y wechat-acp@latest --agent "npx my-agent --acp";该命令必须启动兼容 ACP 的程序。
它如何处理智能体权限请求?
桥接器会自动允许智能体发出的权限请求。需要在授予智能体本地文件和项目访问能力前评估这一行为。
微信发送的文件和登录信息存在哪里?
默认存储根目录是 ~/.wechat-acp;登录令牌、状态、日志、inbox 和注入队列都位于其中。使用 --instance 后,它们会进入 ~/.wechat-acp/instances/<name>/。收件箱文件不会自动删除。
遥测能否关闭?
可以。在启动前将 WECHAT_ACP_TELEMETRY 设置为 0、false 或 off。文档说明遥测不采集消息正文、文件名、令牌、二维码、原始命令、环境变量、工作目录路径或原始微信用户 ID。

对比同类 Agent

用同一套 FARS 评审,横向比较这个 Agent 所属的短名单。

相关 Agents