# BOSS直聘 — Chat & Messaging Field-tested against zhipin.com on 2026-05-01. Login required. Messages are loaded via WebSocket + REST API. **IMPORTANT**: Never send messages without the user's explicit permission. This skill documents the read/retrieval mechanics only. --- ## Architecture BOSS直聘 uses a hybrid messaging architecture: - **Conversation list** — loaded via WebSocket (`ws6.zhipin.com`) on page load, NOT via REST - **Message history** — REST API `/wapi/zpchat/geek/historyMsg` - **Real-time messages** — WebSocket push from `ws6.zhipin.com` --- ## Chat Page (`/web/geek/chat`) ### Page Structure ``` Left panel: .chat-user.v2 — filter bar + search input .label-list > ul li.selected — active filter tab li — "未读(N)" shows count badge in li > .ui-dropmenu — "更多" dropdown (仅沟通/有交换/有面试/不感兴趣) li.filter-item — "AI筛选" dropdown with natural language input .boss-search-input — contact search (placeholder: "搜索30天内的联系人") .user-list .user-list-content .friend-content-warp .friend-content — conversation item (click to open) .friend-content.friend-top — pinned/top conversation Right panel (visible after clicking a conversation): .chat-record — message history container .message-item.item-myself — message sent by user .item-time > .time — timestamp .message-content > .text — message body .message-status.status-read — read receipt ("已读") .message-item.item-friend — message from recruiter .item-time > .time .message-content > .text ``` ### Filter Tabs Top-level tabs (`.chat-user.v2 .label-list li`): | Tab | Description | Class | |-----|-------------|-------| | 全部 | All conversations (default) | `li.selected` when active | | 未读(N) | Unread conversations, badge shows count | `` in label shows count | | 新招呼 | New greetings from recruiters | Badge indicator via `` | | 更多 ▾ | Dropdown with extra filters | `.ui-dropmenu` | "更多" dropdown (`.more-label li`): | Option | Description | |--------|-------------| | 仅沟通 | Conversations with messages exchanged | | 有交换 | Conversations with file/contact exchange | | 有面试 | Conversations with interview invitations | | 不感兴趣 | Conversations marked "not interested" | "AI筛选" (`.filter-item > .ui-dropmenu`): Opens a panel with a `