All-in-one WeCom (企业微信) bot powered by OpenAB + Kiro. Deploys the OAB agent and the WeCom gateway together — fill in the 5 WeCom credentials, paste the gateway URL into WeCom admin once, and you're done. No separate gateway setup, no manual config.toml edits. Source: https://github.com/openabdev/openab

One-click OpenAB deployment for WeCom (企业微信) — bot agent + callback gateway bundled together. Fill in the 5 WeCom credentials and paste the callback URL into WeCom admin once.
WeCom ──POST──▶ ┌──────────────────┐ ◀──WebSocket── ┌────────────┐
│ openab-gateway │ │ openab │
│ (wecom only) │ │ (Kiro CLI) │
└──────────────────┘ └────────────┘
public HTTPS internal only
Limitation: WeCom self-built app callbacks only deliver direct messages to the bot. Group chat is not supported via this channel (it requires the WeCom appchat / WS bot API, which is not yet wired into the gateway). DMs work fine.
| Service | Purpose | Public |
|---|---|---|
openab | OAB agent running Kiro CLI | No |
openab-gateway | WeCom callback → WebSocket bridge | Yes (auto HTTPS) |
No PVC sharing, no manual config.toml edits. The agent's config.toml is generated on first boot with the gateway URL pre-wired to ws://openab-gateway:8080/ws and platform = "wecom".
Unlike Telegram (auto-register) or LINE (paste URL anytime), WeCom verifies the callback URL when you click Save in WeCom admin — so the gateway must be running with the matching Token + EncodingAESKey before you save in WeCom.
Recommended order: prepare the values in WeCom (without saving) → deploy bundle with those values → save in WeCom.
Requires a WeCom (企业微信) enterprise account with admin access.
On the app detail page → 接收消息 → 设置API接收:
If you have a paid Kiro subscription, go to kiro.dev → Settings → API Keys → create a key and paste it into KIRO_API_KEY. Free tier users skip this and authenticate post-deploy in step 6.
Click deploy with the 5 WeCom values filled in. A public HTTPS domain is auto-assigned to the gateway service.
https://<YOUR_GATEWAY_DOMAIN>/webhook/wecomThe openab-gateway service Instructions section shows the exact callback URL pre-filled.
Skip if you set KIRO_API_KEY in step 3.
After the openab service is running, open its terminal in Zeabur Dashboard and run:
runuser -u agent -- kiro-cli login --use-device-flow
Follow the URL and code to authorize in your browser.
In WeCom, open the bot (under your app's visible scope) and send a DM. The gateway decrypts the callback, forwards to OAB, and OAB replies back through the gateway → WeCom message API.
Remember: only DMs trigger the bot. Group chat is not supported.
/home/agent/.config/openab/config.toml — OAB config (sessions, reactions, etc.). Created on first boot from a built-in template with the [gateway] block pre-wired. To regenerate, delete and restart.stable channel (ghcr.io/openabdev/openab:stable) and auto-updates with each OpenAB stable release. Gateway is pinned at ghcr.io/openabdev/openab-gateway:0.5.1 (no :stable tag yet). To pin or bump, change the tag in Zeabur Dashboard → Service → Settings. Available tags: OpenAB / Gateway.WeCom's self-built app callback is configured in the WeCom admin console, not via API. The bundle pre-fills the callback URL in the gateway's Instructions section for easy copy-paste; you only need to paste it once.
This bundle uses Kiro as the default agent. For Claude / Codex / Cursor / Gemini / OpenCode / Hermes / Grok, deploy the corresponding bot template separately together with the standalone OpenAB Gateway.
See OpenAB Telegram Bundle / Feishu Bundle / LINE Bundle or the standalone OpenAB Gateway for Google Chat, MS Teams.