@lansenger-pm/openclaw-lansenger-channel 2.0.0 → 2.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,10 @@
1
1
  import { createChatChannelPlugin, createChannelPluginBase, } from "openclaw/plugin-sdk/channel-core";
2
2
  import { createChannelApprovalCapability } from "openclaw/plugin-sdk/approval-runtime";
3
3
  import { createResolvedApproverActionAuthAdapter } from "openclaw/plugin-sdk/approval-auth-runtime";
4
+ import * as fs from "node:fs/promises";
5
+ import * as os from "node:os";
6
+ import * as path from "node:path";
7
+ import * as crypto from "node:crypto";
4
8
  import { LansengerClient, DEFAULT_API_GATEWAY_URL } from "./client.js";
5
9
  function resolveAccount(cfg, accountId) {
6
10
  const section = cfg.channels?.["lansenger"];
@@ -175,10 +179,33 @@ const chatPlugin = createChatChannelPlugin({
175
179
  const account = resolveAccount(ctx.cfg, ctx.accountId ?? undefined);
176
180
  const client = makeClient(account);
177
181
  const caption = ctx.text ?? "";
178
- if (ctx.mediaUrl) {
182
+ if (ctx.mediaUrl && /^https?:\/\//i.test(ctx.mediaUrl)) {
179
183
  const result = await client.sendImageUrl(ctx.to, ctx.mediaUrl, caption);
180
184
  return { messageId: result.messageId ?? "" };
181
185
  }
186
+ if (ctx.mediaUrl) {
187
+ const readFile = ctx.mediaReadFile ?? ctx.mediaAccess?.readFile;
188
+ if (readFile) {
189
+ const buffer = await readFile(ctx.mediaUrl);
190
+ const srcExt = path.extname(ctx.mediaUrl).toLowerCase();
191
+ const ext = srcExt || (ctx.audioAsVoice ? ".amr" : ".dat");
192
+ const tmpPath = path.join(os.tmpdir(), `lansenger_media_${crypto.randomUUID()}${ext}`);
193
+ await fs.writeFile(tmpPath, buffer);
194
+ const mt = ctx.audioAsVoice ? 4 : undefined;
195
+ try {
196
+ const result = await client.sendFile(ctx.to, tmpPath, caption, mt);
197
+ return { messageId: result.messageId ?? "" };
198
+ }
199
+ finally {
200
+ try {
201
+ await fs.unlink(tmpPath);
202
+ }
203
+ catch { }
204
+ }
205
+ }
206
+ const result = await client.sendFile(ctx.to, ctx.mediaUrl, caption);
207
+ return { messageId: result.messageId ?? "" };
208
+ }
182
209
  return { messageId: "" };
183
210
  },
184
211
  },
@@ -1 +1 @@
1
- {"version":3,"file":"channel.js","sourceRoot":"","sources":["../../src/channel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"channel.js","sourceRoot":"","sources":["../../src/channel.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lansenger-pm/openclaw-lansenger-channel",
3
- "version": "2.0.0",
3
+ "version": "2.0.2",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "files": [
@@ -54,7 +54,10 @@
54
54
  "docsPath": "https://open.e.lanxin.cn/docs",
55
55
  "blurb": "Connect OpenClaw to Lansenger enterprise messaging platform. / 连接 OpenClaw 与蓝信企业即时通讯平台。",
56
56
  "order": 80,
57
- "aliases": ["lansenger", "lx"],
57
+ "aliases": [
58
+ "lansenger",
59
+ "lx"
60
+ ],
58
61
  "markdownCapable": true,
59
62
  "exposure": {
60
63
  "configured": true,
@@ -1,212 +1,136 @@
1
1
  ---
2
2
  name: lansenger-messaging
3
- version: 1.1.0
3
+ version: 2.0.0
4
4
  category: communication
5
- description: Lansenger (蓝信) messaging strategy text/formatText boundaries, group routing, media handling, dynamic cards, multi-bot binding, @mentions, language detection, and approval workflows
6
- trigger: When you need to send any message, file, image, or notification via Lansenger, or when the current session channel is lansenger, or when handling inbound media files, approval cards, or group messages.
5
+ description: How to communicate effectively on Lansenger (蓝信) — message types, formatting rules, media, cards, approvals, and pitfalls
6
+ trigger: When the current session channel is lansenger, or when you need to send a message, file, image, card, or approval via Lansenger
7
7
  ---
8
8
 
9
- # Lansenger Messaging Strategy
9
+ # Lansenger (蓝信) Messaging Guide for Agents
10
10
 
11
- Lansenger has two distinct outbound message types with different capabilities. Picking the wrong type causes feature loss (e.g., Markdown silently ignored, attachments dropped). The plugin also handles group vs DM routing, inbound media download, dynamic card updates, multi-bot binding, and language-aware card rendering.
11
+ You are communicating on Lansenger, an enterprise messaging platform. Understanding its message type rules is critical choosing the wrong type causes silent feature loss (Markdown ignored, attachments dropped, @mentions invisible).
12
12
 
13
- ## Outbound Message Type Capability Matrix
13
+ ## The #1 Rule: Markdown Is Automatic
14
+
15
+ When you write a reply in a Lansenger session, **your Markdown is automatically rendered**. You don't need to pick a message type or call any special function — just write normally with headings, bold, code blocks, lists, tables, links, etc. The plugin handles delivery.
16
+
17
+ **However**, Markdown and other features are mutually exclusive. See below.
18
+
19
+ ## Message Type Rules (Critical)
20
+
21
+ Lansenger has two outbound text types that cannot be combined:
14
22
 
15
23
  ```
16
24
  ┌──────────────┬──────────────┬──────────────┬──────────────┐
17
- msgType │ Markdown │ @mention │ Attachments │
25
+ Type │ Markdown │ @mention │ Attachments │
18
26
  ├──────────────┼──────────────┼──────────────┤──────────────┤
27
+ │ formatText │ ✓ (default) │ ✗ │ ✗ │
19
28
  │ text │ ✗ │ ✓ │ ✓ │
20
- │ formatText │ ✓ │ ✗ │ ✗ │
21
29
  └──────────────┴──────────────┴──────────────┴──────────────┘
22
30
  ```
23
31
 
24
- ## Default Strategy: formatText First, text Fallback
25
-
26
- The outbound `deliverReply` function uses this priority:
27
-
28
- 1. **formatText** (Markdown rendered) → sent first
29
- 2. **text** (plain) → fallback if formatText fails
30
-
31
- Group messages follow the same priority using `sendGroupFormatText` → `sendGroupText`.
32
-
33
- ### DM vs Group Routing
34
-
35
- The plugin automatically routes outbound replies:
36
- - **DM** → `sendFormatText` / `sendText` (private message API `/v1/bot/messages/create`)
37
- - **Group** → `sendGroupFormatText` / `sendGroupText` (group message API `/v1/messages/group/create`)
38
- - Chat type is cached per `chatId` on inbound events
39
- - `chatId` starting with `group:` is always treated as group
40
-
41
- ## Decision Tree
42
-
43
- ### 1. Markdown-formatted text (code, tables, lists, bold, etc.)
44
- → **formatText (default)** — sent automatically by `deliverReply`
45
- - Supports: headings, bold, italic, code blocks, lists, links, tables
46
- - Does NOT support: @mentions, file/image/video attachments
47
-
48
- ### 2. Plain text + file/image/video attachment
49
- → **text (msgType=text)** with `mediaType` + `mediaIds`
50
- - caption = plain text only (Markdown NOT rendered)
51
- - mediaType: 1=video, 2=image, 3=file
52
- - Example: "Here is this week's report" + PDF file
32
+ ### What this means for you
53
33
 
54
- ### 3. Markdown text + attachment (need both)
55
- **Send TWO separate messages:**
56
- 1. formatText for the formatted text
57
- 2. text with media for the file
58
- - Reason: formatText cannot carry attachments
34
+ - **Normal replies** → just write Markdown. It's automatically sent as formatText.
35
+ - **Need @mention** → Markdown won't work. You must use plain text only. If you need both formatting AND @mention, send the formatted content first, then a separate plain-text message with the @mention.
36
+ - **Need to attach a file/image/video** → Markdown won't work. Caption must be plain text. If you need both formatting AND an attachment, send the formatted content first, then a separate message with the file.
37
+ - **Never put raw Markdown in a plain-text message** it displays as ugly source code to the user.
59
38
 
60
- ### 4. @mention someone in a group
61
- → **text (msgType=text)** with `reminder` parameter
62
- - formatText does NOT support @mentions
63
- - `reminder: { all: true }` — @all members
64
- - `reminder: { userIds: ["id1", "id2"] }` — @specific users
65
- - If you need Markdown + @mention, send formatText first, then text with reminder
39
+ ## DM vs Group
66
40
 
67
- ### 5. Link card (rich link preview)
68
- **linkCard** `title` + `link` required, optional: description, icon_link, from_name
41
+ The plugin automatically routes to the right API:
42
+ - **DM (1:1 chat)** private message endpoint
43
+ - **Group chat** → group message endpoint
44
+ - You don't need to specify which — it's detected from the session
69
45
 
70
- ### 6. Approval / interactive card
71
- → **appCard** (with `isDynamic=true` + `headStatusInfo`) — dynamic approval card with /approve and /deny buttons
72
- - Supports: div-style HTML formatting (color, font-size, text-align, text-indent)
73
- - ⚠️ **`text-indent` values MUST have units** — bare `0` causes empty API response (content-length=0); use `0em` instead. Applies to all div-style fields.
74
- - Fields: headTitle, bodyTitle, bodySubTitle, bodyContent, signature, fields, buttons, headStatusInfo
75
- - **⚠️ `isDynamic=true` requires `headStatusInfo`** — API returns errCode 40060 without it. `sendAppCard()` auto-fills default "Active" status if missing.
76
- - Language: send single-language content based on getUserLang() detection (NOT bilingual text)
46
+ ## Rich Content Types
77
47
 
78
- ### 7. i18nAppCard (reserved, not currently used for approval)
79
- → **i18nAppCard** — multilingual card (5 locales: zhHans, zhHant, zhHantHK, en, fr)
80
- - Supports full i18n fields: i18nHeadTitle, i18nBodyTitle, i18nBodyContent, i18nSignature, i18nFields
81
- - Does NOT support: dynamic updates, headStatusInfo
82
- - Reserved for future use when per-locale rendering is needed
48
+ Beyond plain text and Markdown, Lansenger supports these special message types:
83
49
 
84
- ### 8. Article list card
85
- **appArticles** multi-article card, each with title, description, imgUrl, url
86
- - Optional: sourceName, sourceIcon
50
+ ### Link Card
51
+ A rich link preview card. Requires `title` + `link`. Optional: description, icon_link, from_name.
87
52
 
88
- ## Inbound Media Handling
53
+ ### AppCard (Approval / Interactive Card)
54
+ Dynamic card with buttons (approve/deny). Used for the approval system.
55
+ - Supports div-style HTML in body fields (color, font-size, text-align, text-indent)
56
+ - ⚠️ **`text-indent` MUST have units** — bare `0` causes silent API failure; always use `0em`
57
+ - ⚠️ **Dynamic cards (`isDynamic=true`) require `headStatusInfo`** — API rejects without it; plugin auto-fills "Active" default if omitted
58
+ - Card content should be **single-language** based on the user's detected language (Chinese for CJK users, English otherwise) — appCard does NOT support i18n multi-locale rendering
89
59
 
90
- When users send images, videos, files, or voice messages, the plugin:
60
+ ### i18nAppCard (Multi-language Card)
61
+ For non-approval cards where you need 5-locale rendering (zhHans, zhHant, zhHantHK, en, fr). Does NOT support dynamic updates or headStatusInfo.
91
62
 
92
- 1. **Downloads all `mediaIds`** via `downloadAllMedia()` → saves to temp files
93
- 2. **Detects file extension** from Content-Type/Content-Disposition headers (falls back to magic bytes: PDF `\x25\x50\x44\x46`, ZIP `PK\x03\x04`, WAV `RIFF....WAVE`, etc.)
94
- 3. **Attaches file paths** to `InboundEvent.mediaPaths[]`
95
- 4. **Adds hint text** to agent input: "Attached files saved locally — use the read tool to view"
63
+ ### AppArticles
64
+ Multi-article card with title, description, imgUrl, url per article. Optional: sourceName, sourceIcon.
96
65
 
97
- ### Inbound Message Types
66
+ ## Approval Workflow
98
67
 
99
- ```
100
- ┌──────────────┬──────────────────────────────────────────────────────┐
101
- │ msgType │ Agent receives │
102
- ├──────────────┼──────────────────────────────────────────────────────┤
103
- │ text │ Plain text content │
104
- │ formatText │ Markdown text content │
105
- │ image │ "[Image]" or "[Image: N files]" + media paths │
106
- │ video │ "[Video]" or "[Video: N files]" + media paths │
107
- │ file │ "[File]" or "[File: N files]" + media paths │
108
- │ voice │ "[Voice]" + media paths (AMR/WAV) │
109
- │ position │ "[Location] name address lat,long link" │
110
- │ card │ "[Contact Card] staffId" │
111
- │ sticker │ "[Sticker] stickerId" │
112
- └──────────────┴──────────────────────────────────────────────────────┘
113
- ```
114
-
115
- ### Multi-image/file messages
68
+ The plugin integrates with OpenClaw's approval system. When a high-risk action needs approval:
116
69
 
117
- - A single inbound message can contain multiple `mediaIds` (e.g., 3 images in one message)
118
- - Label format: `[Image: 3 files]`, `[Video: 2 files]`, etc.
119
- - Each mediaId is downloaded separately, all paths listed in `mediaPaths`
70
+ 1. **Pending card** sent to the user with approve/deny buttons
71
+ 2. **User clicks a button** approval/denial processed by OpenClaw runtime
72
+ 3. **Card updates in-place** status badge changes (Pending → Approved/Denied), color changes, card locks on final decision
120
73
 
121
- ## Dynamic Card Updates (Approval Status)
74
+ Card status text is language-aware:
75
+ - Chinese users see: 待审批 → 已批准 / 已拒绝
76
+ - English users see: Pending → Approved / Denied
122
77
 
123
- Three card types serve different purposes **appCard is used for approval**:
78
+ Language is detected from the user's message content (CJK character ratio ≥ 0.6 = Chinese).
124
79
 
125
- | Card Type | Multi-language | Dynamic Update | headStatusInfo | Current Usage |
126
- |-----------|---------------|---------------|---------------|---------------|
127
- | i18nAppCard | ✓ (5 locales) | ✗ | ✗ | Reserved for future |
128
- | appCard | ✗ | ✓ (isDynamic) | ✓ | Approval cards |
129
- | DynamicMsg appCard | ✗ | ✓ (appCardUpdateMsg) | ✓ | Approval status updates |
80
+ ## What You Receive (Inbound Messages)
130
81
 
131
- ### Initial Send (appCard)
132
- - `msgType: "appCard"` with `isDynamic=true` + `headStatusInfo` (pending status)
133
- - Uses `sendAppCard()` with full `AppCardData` fields (bodyTitle, bodyContent, signature, fields, etc.)
134
- - Content uses single-language text selected by getUserLang() since appCard does NOT support i18n per-locale rendering
135
- - **⚠️ `text-indent` values MUST have units** — bare `0` causes empty API response; use `0em`
136
- - **⚠️ `isDynamic=true` requires `headStatusInfo`** — auto-filled with "Active" default if omitted
82
+ When users message you on Lansenger, you receive:
137
83
 
138
- ### Status Update (DynamicMsg appCard)
139
- - `msgType: "appCard"` with `appCardUpdateMsg` — NOT a new card, updates existing card in-place
140
- - Uses `updateCardStatus()` with `headStatusInfo`:
141
- - `isLastUpdate: true` when approved/denied (locks the card, no further updates)
142
- - `isLastUpdate: false` when still pending (allows future updates within 30 days)
143
- - `headStatusInfo.description` div-style HTML status badge (e.g. `<div style="color:#198754;text-align:left">已批准</div>`)
144
- - `headStatusInfo.colour` colored circle indicator
84
+ | Type | What you see |
85
+ |------|-------------|
86
+ | text | Plain text content |
87
+ | formatText | Markdown text content |
88
+ | image | `[Image]` or `[Image: 3 files]` + local file paths |
89
+ | video | `[Video]` or `[Video: 2 files]` + local file paths |
90
+ | file | `[File]` or `[File: 2 files]` + local file paths |
91
+ | voice | `[Voice]` + local file path (AMR/WAV) |
92
+ | position | `[Location] name address lat,long link` |
93
+ | card | `[Contact Card] staffId` |
94
+ | sticker | `[Sticker] stickerId` |
145
95
 
146
- ### Language-Aware Updates
96
+ When files are attached, they're downloaded to local temp paths. Use the `read` tool to view images, the appropriate tool to process other files.
147
97
 
148
- The plugin detects user language from inbound text:
149
- - **CJK ratio ≥ 0.6** → "zh" (Chinese)
150
- - **CJK ratio < 0.6** → "en" (English)
151
- - Language cached per `senderId` in `userLangMap`
152
- - Status text uses detected language: "待审批/已批准/已拒绝" (zh) or "Pending/Approved/Denied" (en)
98
+ ## Multi-Bot / Agent Binding
153
99
 
154
- ## Multi-Bot Binding
100
+ Multiple Lansenger bots can run simultaneously, each bound to a different OpenClaw agent:
155
101
 
156
- The plugin supports multiple Lansenger bots bound to different OpenClaw agents:
157
-
158
- ### Configuration
159
102
  ```json
160
103
  {
161
104
  "channels": {
162
105
  "lansenger": {
163
106
  "accounts": {
164
- "bot-alpha": { "appId": "xxx", "appSecret": "yyy", "agentId": "security-agent" },
165
- "bot-beta": { "appId": "aaa", "appSecret": "bbb", "agentId": "hr-agent" }
107
+ "bot-alpha": { "appId": "xxx", "agentId": "security-agent" },
108
+ "bot-beta": { "appId": "aaa", "agentId": "hr-agent" }
166
109
  }
167
110
  }
168
111
  }
169
112
  }
170
113
  ```
171
- - Account key = `appId` (NOT `__default__` or custom names)
172
- - `accountId` in OpenClaw = the appId
173
-
174
- ### Gateway Methods
175
-
176
- | Method | Description |
177
- |--------|-------------|
178
- | `lansenger.start` | Connect WebSocket for a bot account (params: accountId) |
179
- | `lansenger.stop` | Disconnect a bot (params: accountId) |
180
- | `lansenger.bind` | Bind botId → agentId (params: botId, agentId) |
181
- | `lansenger.unbind` | Remove binding (params: botId) |
182
- | `lansenger.bindings` | List all bindings |
183
- | `lansenger.status` | Show running accounts |
184
- | `lansenger.sendCard` | Send test appCard (params: chatId, lang) |
185
- | `lansenger.updateCard` | Update card status (params: messageId, status, lang) |
186
-
187
- ### Binding Resolution
188
- - Inbound messages resolve `agentId` from: BindingManager account config → "default"
189
- - Each inbound turn passes `agentId` to session store for correct agent routing
190
-
191
- ## Revocation
192
-
193
- - **Must use `chatType="bot"`** for revoking bot messages (NOT "staff")
194
- - "staff" chatType requires `senderId` and only works for staff-sent messages
195
- - Revocation shows a fixed system message — the text cannot be customized
196
-
197
- ## Key Reminders
198
-
199
- - **formatText is the default** — you don't need to do anything special for Markdown output
200
- - **Never put Markdown in a text-type caption** — it will display as raw text
201
- - **Never put @mentions in a formatText message** — they will be silently ignored
202
- - **DM security default is pairing** — first DM triggers pairing code; approve with `openclaw pairing approve lansenger <code>`. Personal bots only receive DMs from their owner, so pairing is the correct model (not allowlist).
203
- - **File size limits** determined by organization's Lansenger configuration
204
- - **Message length limit** ~4000 characters for both text and formatText
205
- - **Revocation** always uses `chatType="bot"` for bot messages
206
- - **Dynamic card updates** use `updateCardStatus()` with `headStatusInfo` (NOT i18nAppCard)
207
- - **`text-indent` values MUST have units** — bare `0` causes empty API response; always use `0em`
208
- - **`isDynamic=true` requires `headStatusInfo`** — auto-filled with "Active" default if omitted
209
- - **Personal bots only** — organization bots are NOT supported
210
- - **Credentials path**: Lansenger Desktop → Contacts → Bots → Personal Bot → ℹ️ icon (mobile cannot view credentials)
211
- - **Default gateway**: `https://open.e.lanxin.cn/open/apigw` (Lansenger public cloud)
212
- - **Group API**: `/v1/messages/group/create` (different endpoint from DM `/v1/bot/messages/create`)
114
+
115
+ Binding is **config-based** — set `agentId` per account in config. OpenClaw's `bindings[]` route format also works for dynamic routing.
116
+
117
+ ## DM Security
118
+
119
+ Default policy is **paired** — the first DM from a new user triggers a pairing code. The user must get approval from the bot owner via:
120
+ ```
121
+ openclaw pairing approve lansenger <code>
122
+ ```
123
+
124
+ This is the correct model for personal bots — they only receive DMs from approved users.
125
+
126
+ ## Critical Pitfalls
127
+
128
+ - **Markdown is default** write normally, it renders automatically
129
+ - **Never put Markdown in a plain-text message** — displays as raw source code
130
+ - **Never put @mentions in a Markdown message** — silently ignored
131
+ - **`text-indent` MUST have units** — bare `0` causes empty API response; use `0em`
132
+ - **Dynamic cards require `headStatusInfo`** auto-filled if omitted, but explicit is better
133
+ - **Personal bots only** — organization/enterprise bots are NOT supported by this plugin
134
+ - **Message length limit** ~4000 characters
135
+ - **File size limits** depend on the organization's Lansenger configuration
136
+ - **Credentials** are found in Lansenger Desktop app → Contacts → Bots → Personal Bot → ℹ️ icon (mobile cannot view)