93 lines
2.0 KiB
Markdown
93 lines
2.0 KiB
Markdown
# Build a WeChat AI Agent with nanobot
|
|||
|
|
|
||
|
|
This guide connects nanobot to WeChat through the `weixin` channel. The channel
|
||
|
|
uses HTTP long polling with QR-code login through the supported upstream API.
|
||
|
|
|
||
|
|
## What this guide builds
|
||
|
|
|
||
|
|
- the `weixin` channel enabled in nanobot
|
||
|
|
- a QR-code login session
|
||
|
|
- one allowed WeChat sender
|
||
|
|
- a running gateway for message delivery
|
||
|
|
|
||
|
|
## Prerequisites
|
||
|
|
|
||
|
|
- A working local nanobot reply:
|
||
|
|
|
||
|
|
```bash
|
||
|
|
nanobot agent -m "Hello!"
|
||
|
|
```
|
||
|
|
|
||
|
|
- A WeChat account that can complete QR-code login.
|
||
|
|
- The sender ID from logs for `allowFrom`, or a temporary private test setup.
|
||
|
|
|
||
|
|
## Install nanobot
|
||
|
|
|
||
|
|
```bash
|
||
|
|
python -m pip install nanobot-ai
|
||
|
|
nanobot onboard --wizard
|
||
|
|
```
|
||
|
|
|
||
|
|
## Enable the WeChat channel
|
||
|
|
|
||
|
|
Install the optional channel dependency:
|
||
|
|
|
||
|
|
```bash
|
||
|
|
nanobot plugins enable weixin
|
||
|
|
```
|
||
|
|
|
||
|
|
Merge this snippet into `~/.nanobot/config.json`:
|
||
|
|
|
||
|
|
```json
|
||
|
|
{
|
||
|
|
"channels": {
|
||
|
|
"weixin": {
|
||
|
|
"enabled": true,
|
||
|
|
"allowFrom": ["YOUR_WECHAT_USER_ID"]
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
```
|
||
|
|
|
||
|
|
Log in:
|
||
|
|
|
||
|
|
```bash
|
||
|
|
nanobot channels login weixin
|
||
|
|
```
|
||
|
|
|
||
|
|
Use `--force` if you need to discard saved login state and authenticate again.
|
||
|
|
|
||
|
|
## Run nanobot gateway
|
||
|
|
|
||
|
|
```bash
|
||
|
|
nanobot channels status
|
||
|
|
nanobot gateway
|
||
|
|
```
|
||
|
|
|
||
|
|
## Test a message
|
||
|
|
|
||
|
|
Send a private WeChat message from the allowed account and watch gateway logs for
|
||
|
|
the sender ID and reply.
|
||
|
|
|
||
|
|
## Security notes
|
||
|
|
|
||
|
|
- Keep `allowFrom` narrow after you identify the sender ID.
|
||
|
|
- Treat saved login state as sensitive account access.
|
||
|
|
- Avoid connecting personal accounts to untrusted workspaces or broad tool
|
||
|
|
permissions.
|
||
|
|
|
||
|
|
## Troubleshooting
|
||
|
|
|
||
|
|
- If login fails, rerun `nanobot channels login weixin --force`.
|
||
|
|
- If messages arrive but are ignored, update `allowFrom` with the sender ID
|
||
|
|
shown in logs.
|
||
|
|
- If polling disconnects, restart the gateway and check network reachability to
|
||
|
|
the upstream service.
|
||
|
|
|
||
|
|
## Next: memory, automations, MCP tools
|
||
|
|
|
||
|
|
- [Chat Apps reference](../chat-apps.md)
|
||
|
|
- [AI Agent Memory](./ai-agent-memory.md)
|
||
|
|
- [Secure local AI agent](./secure-local-ai-agent.md)
|
||
|
|
- [Deployment](../deployment.md)
|