Skip to main content

WeChat Integration v0

Scope

Defines the v0 integration model for WeChat as a dialog target in AIOS. This page covers channel position, adapter assumptions, configuration shape, route binding, and the hard boundary that WeChat remains an entry channel rather than a separate control plane or primary development surface.

Terminology

  • WeChat target: dialog.target = wechat.
  • Owner model: owner or allowlist-based access restriction commonly used in bridge-style integrations.
  • Credential ref: secret-backed reference to channel credentials rather than inline plaintext.

Normative Spec

Position in AIOS

WeChat MUST be treated as a first-batch dialog target in v0. WeChat integration MUST:
  • normalize through the canonical dialog contract
  • use channel adapters rather than a bespoke control plane
  • route through canonical workspace_id + agent_id
  • preserve forward-only and metadata-only persistence boundaries

Ecosystem Reference Model

WeChat integration MAY borrow operational experience from bridge-style projects and MAY use OpenClaw-style adapter boundaries, but MUST remain wrapped by AIOS canonical contracts. WeChat config SHOULD map cleanly into the Channel Integration Page structure:
  • auth.owner_user_id
  • auth.allowlist
  • auth.credential_ref
  • config.transport_mode
  • config.cursor_key
  • config.context_cache
  • config.voice_to_text
  • config.message_chunk_limit
  • route.workspace_id
  • route.agent_id

Policy Expectations

WeChat policy MAY include:
  • pairing_required
  • dedup_window_sec
  • owner_only

Product Boundary

WeChat MUST NOT be treated as a new primary development interface. Local workspace, CLI, IDE, and canonical agent runtime remain authoritative.

Examples

WeChat auth example

{
  "auth": {
    "owner_user_id": "wx-owner-001",
    "allowlist": ["wx-owner-001"],
    "credential_ref": "secret://wechat/account.json"
  }
}

WeChat config example

{
  "config": {
    "transport_mode": "long_poll",
    "cursor_key": "sync_buf",
    "context_cache": true,
    "voice_to_text": false,
    "message_chunk_limit": 4000
  }
}

WeChat route example

{
  "route": {
    "workspace_id": "ws-001",
    "agent_id": "codex",
    "default": true
  }
}

Error & Recovery

  • WeChat transport failures MUST surface through adapter health and recent-error metadata.
  • Cursor or dedup-window issues MUST be handled through adapter recovery rules without transcript persistence.
  • Voice or attachment handling SHOULD degrade to metadata-first forms when canonical payload support is limited.

Security & Audit

  • WeChat credentials SHOULD be secret-backed references.
  • Owner and allowlist behavior MUST remain auditable as configuration state.
  • Message bodies remain forward-only and MUST NOT become long-term platform transcript storage.

Status

Current status: draft Source discussions:
  • docs/maintainers/conversation-records/agent-platform/2026-03-24-dialog-channel-ecosystem-reuse-strategy-v0.md
  • docs/maintainers/conversation-records/agent-platform/2026-03-24-channel-adapter-contract-v0-draft.md
  • docs/maintainers/conversation-records/agent-platform/2026-03-24-channel-integration-page-requirement.md
  • docs/maintainers/conversation-records/agent-platform/2026-03-24-channel-integration-page-ia-and-form-model.md
  • docs/maintainers/conversation-records/agent-platform/2026-03-24-p1-freeze-result-accepted.md

Changelog

  • 2026-03-24: Initial formal WeChat integration specification created from frozen discussion sources.