weixin-agent 0.1.0

Pure protocol SDK for Weixin iLink Bot API — iLink AI Bot protocol, not coupled with OpenClaw
Documentation
# 整体架构

```mermaid
graph TB
    subgraph "用户应用层"
        APP[用户 Bot 应用]
        PERSIST[持久化 / 账号管理]
    end

    subgraph "weixin-agent SDK"
        CLIENT[WeixinClient<br/>Builder + 生命周期]

        subgraph "协议模块"
            API[api<br/>iLink HTTP API]
            MONITOR[monitor<br/>长轮询循环]
            MSG[messaging<br/>消息解析/构建]
            QR[qr_login<br/>QR 码 API]
        end

        subgraph "基础设施"
            CDN[cdn<br/>上传/下载/AES-ECB]
            MEDIA[media<br/>MIME 检测]
        end

        subgraph "支撑"
            TYPES[types<br/>协议类型]
            ERROR[error<br/>错误处理]
            UTIL[util<br/>脱敏/ID 生成]
        end
    end

    subgraph "外部服务"
        WECHAT_API[微信 iLink Bot API<br/>ilinkai.weixin.qq.com]
        WECHAT_CDN[微信 CDN<br/>novac2c.cdn.weixin.qq.com]
    end

    APP --> CLIENT
    APP --> PERSIST
    CLIENT --> MONITOR
    CLIENT --> MSG
    CLIENT --> QR
    MONITOR --> API
    MSG --> API
    MSG --> CDN
    MSG --> MEDIA
    CDN --> API
    API --> WECHAT_API
    CDN --> WECHAT_CDN
```

## 模块职责

| 模块 | 职责 |
|------|------|
| `client` | SDK 入口,Builder 模式,生命周期管理,优雅关闭 |
| `api` | 5 个 iLink Bot HTTP API 端点封装 + Session Guard + Config Cache |
| `monitor` | 长轮询循环,断线重连,退避策略,sync_buf 回调 |
| `messaging` | 入站消息解析,出站消息构建,Context Token 内存管理 |
| `cdn` | CDN 文件上传/下载,AES-128-ECB 加解密 |
| `qr_login` | QR 码获取 + 状态轮询 API |
| `media` | MIME 类型检测(46 项映射) |
| `types` | 协议数据类型、常量、枚举 |
| `error` | 统一错误枚举(`#[non_exhaustive]`|
| `util` | 日志脱敏、随机 ID 生成 |