Connect Hermes to Yuanbao, Tencent's enterprise messaging platform. The adapter uses a WebSocket gateway for real-time message delivery and supports both direct (C2C) and group conversations.
Yuanbao is an enterprise messaging platform primarily used within Tencent and enterprise environments. It uses WebSocket for real-time communication, HMAC-based authentication, and supports rich media including images, files, and voice messages.
Prerequisites
A Yuanbao account with bot creation permissions
Yuanbao APP_ID and APP_SECRET (from platform admin)
Typing indicators — shows "typing…" status while the agent processes
Automatic reconnection — handles WebSocket disconnections with exponential backoff
Group information queries — retrieve group details and member lists
Sticker/Emoji support — send TIMFaceElem stickers and emoji in conversations
Auto-sethome — first user to message the bot is automatically set as the home channel owner
Slow-response notification — sends a waiting message when the agent takes longer than expected
Configuration Options
Chat ID Formats
Yuanbao uses prefixed identifiers depending on conversation type:
Chat Type
Format
Example
Direct message (C2C)
direct:<account>
direct:user123
Group message
group:<group_code>
group:grp456
Media Uploads
The Yuanbao adapter automatically handles media uploads via COS (Tencent Cloud Object Storage):
Images: Supports JPEG, PNG, GIF, WebP
Files: Supports all common document types
Voice: Supports WAV, MP3, OGG
Media URLs are automatically validated and downloaded before upload to prevent SSRF attacks.
Home Channel
Use the /sethome command in any Yuanbao chat (DM or group) to designate it as the home channel. Scheduled tasks (cron jobs) deliver their results to this channel.
tip Auto-sethome
If no home channel is configured, the first user to message the bot will be automatically set as the home channel owner. If the current home channel is a group chat, the first DM will upgrade it to a direct channel.
You can also set it manually in ~/.hermes/.env:
YUANBAO_HOME_CHANNEL=direct:user_account_id
# or for a group:# YUANBAO_HOME_CHANNEL=group:group_codeYUANBAO_HOME_CHANNEL_NAME="My Bot Updates"
Example: Set Home Channel
Start a conversation with the bot in Yuanbao
Send the command: /sethome
The bot responds: "Home channel set to [chat_name] with ID [chat_id]. Cron jobs will deliver to this location."
Future cron jobs and notifications will be sent to this channel
Example: Cron Job Delivery
Create a cron job:
/cron"0 9 * * *"Checkserverstatus
The scheduled output will be delivered to your Yuanbao home channel every day at 9 AM.
Usage Tips
Starting a Conversation
Send any message to the bot in Yuanbao:
hello
The bot responds in the same conversation thread.
Available Commands
All standard Hermes commands work on Yuanbao:
Command
Description
/new
Start a fresh conversation
/model [provider:model]
Show or change the model
/sethome
Set this chat as the home channel
/status
Show session info
/help
Show available commands
Sending Files
To send a file to the bot, simply attach it directly in the Yuanbao chat. The bot will automatically download and process the file attachment.
You can also include a message with the attachment:
Please analyze this document
Receiving Files
When you ask the bot to create or export a file, it sends the file directly to your Yuanbao chat.
Troubleshooting
Bot is online but not responding to messages
Cause: Authentication failed during WebSocket handshake.
Yuanbao supports fine-grained access control for both DM and group conversations:
# DM policy: open (default) | allowlist | disabledYUANBAO_DM_POLICY=open
# Comma-separated user IDs allowed to DM the bot (only used when DM_POLICY=allowlist)YUANBAO_DM_ALLOW_FROM=user_id_1,user_id_2
# Group policy: open (default) | allowlist | disabledYUANBAO_GROUP_POLICY=open
# Comma-separated group codes allowed (only used when GROUP_POLICY=allowlist)YUANBAO_GROUP_ALLOW_FROM=group_code_1,group_code_2
Yuanbao has a maximum message size. Hermes automatically chunks large responses with Markdown-aware splitting (respects code fences, tables, and paragraph boundaries).
Connection Parameters
The following connection parameters are built into the adapter with sensible defaults:
Parameter
Default Value
Description
WebSocket connect timeout
15 seconds
Time to wait for WS handshake
Heartbeat interval
30 seconds
Ping frequency to keep connection alive
Max reconnect attempts
100
Maximum number of reconnection tries
Reconnect backoff
1s → 60s (exponential)
Wait time between reconnect attempts
Reply heartbeat interval
2 seconds
RUNNING status send frequency
Send timeout
30 seconds
Timeout for outbound WS messages
These values are currently not configurable via environment variables. They are optimized for typical Yuanbao deployments.
Verbose Logging
Enable debug logging to troubleshoot connection issues:
HERMES_LOG_LEVEL=debughermesgateway
Integration with Other Features
Cron Jobs
Schedule tasks that run on Yuanbao:
/cron "0 */4 * * *" Report system health
Results are delivered to your home channel.
Background Tasks
Run long operations without blocking the conversation:
/background Analyze all files in the archive
Cross-Platform Messages
Send a message from CLI to Yuanbao:
hermeschat-q"Send 'Hello from CLI' to yuanbao:group:group_code"