dsh-qq-link 1.5.2 → 1.5.3

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.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,12 @@
1
+ ## 1.5.3 — 2026-11-07
2
+
3
+ **别人发来的文件,以前一行都看不见**
4
+
5
+ - 🐞 issue #34:发文件是支持的(回复里写 `[名字](路径)`),但**收**文件不行 ——
6
+ `file` 段在解析里没有分支,整段被静默丢掉,会话里什么都不会出现。
7
+ - 现在会留一行 `[文件:xxx.zip(1.2MB)]`。链接有就带上,但不自动下载 ——
8
+ 先让它看得见,别一上来就往本地写文件。
9
+
1
10
  ## 1.5.2 — 2026-11-06
2
11
 
3
12
  **`[QQ]` 忘了写结尾,后面的整段都会发到手机上**
package/lib/host.js CHANGED
@@ -77,7 +77,7 @@ const 默认配置 = {
77
77
  // 得你自己在 NapCat / SnowLuma 里把「HTTP 上报」指到本插件,开之前先看清 README 那一节。
78
78
  收通知: false,
79
79
  通知口令: '', // 非空时,上报地址必须带 ?token=xxx(防止局域网里别人乱推)
80
- // ⭐ 2026-10-25(QQ 桥用户反馈「一次回一堆消息」):长回复按空行拆成几条连发,以前是写死的。
80
+ // ⭐ 2026-10-25(QQlink 用户反馈「一次回一堆消息」):长回复按空行拆成几条连发,以前是写死的。
81
81
  长回复拆段: true, // 关掉 = 一整段只发一条消息(不再刷屏)
82
82
  拆段间隔毫秒: 450, // 每段之间隔多久(太短像刷屏,太长像卡住)
83
83
  // ⭐ 1.4.3:按**句子**拆(不再是「按空行」)。默认关 —— 老用户升级后行为不变。
@@ -2177,7 +2177,7 @@ export function apply(ctx) {
2177
2177
  // attachments;模型能看图就直接看,纯文本模型拿到的是一句占位文字 —— 所以文字里也写上本地路径。
2178
2178
  // ── QQ 里的「分享卡片」和「合并转发的聊天记录」也读成文字(2026-10-25)──────────
2179
2179
  // 以前只认 text / image / mface ⇒ 她一发 B站 卡片、或者转发一段聊天记录,
2180
- // 段里没有文字、也没有图,整条被当成「空消息」丢掉 —— 看着就是「QQ 桥读不了」。
2180
+ // 段里没有文字、也没有图,整条被当成「空消息」丢掉 —— 看着就是「QQlink 读不了」。
2181
2181
  const 掐短 = (s2, n = 120) => {
2182
2182
  const t = String(s2 == null ? '' : s2).replace(/\s+/g, ' ').trim()
2183
2183
  return t.length > n ? t.slice(0, n) + '…' : t
@@ -2315,6 +2315,16 @@ export function apply(ctx) {
2315
2315
  }
2316
2316
  if (型 === 'face') { 文本块.push('[表情]'); continue }
2317
2317
  if (型 === 'record') { 文本块.push('[语音]'); continue }
2318
+ // ⭐ 1.5.3(issue #34):别人发来的**文件**以前整段被丢掉 —— 一行都看不见。
2319
+ // 现在至少留下名字和大小;链接能取到就一起带上(模型想读再让它读)。
2320
+ if (型 === 'file') {
2321
+ const dd = (x.data || {})
2322
+ const 名 = 掐短(String(dd.name || dd.file || '文件'), 60)
2323
+ const 字节 = Number(dd.file_size || dd.size || 0)
2324
+ const 大小 = 字节 > 0 ? '(' + (字节 >= 1048576 ? (字节 / 1048576).toFixed(1) + 'MB' : Math.max(1, Math.round(字节 / 1024)) + 'KB') + ')' : ''
2325
+ 文本块.push('[文件:' + 名 + 大小 + ']')
2326
+ continue
2327
+ }
2318
2328
  if (型 === 'video') { 文本块.push('[视频]'); continue }
2319
2329
  if (型 === 'json' || 型 === 'xml') { 文本块.push('[卡片]'); continue }
2320
2330
  if (型 === 'at') { 文本块.push('@' + String((x.data && (x.data.name || x.data.qq)) || '')); continue }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dsh-qq-link",
3
- "version": "1.5.2",
3
+ "version": "1.5.3",
4
4
  "description": "通到 QQ:DSH 里的 AI 伙伴和 QQ 双向互通 —— 它说完话自动发到 QQ,你在 QQ 里说的话自动转进 DSH。走 OneBot 11 HTTP(SnowLuma / NapCat 都行)。",
5
5
  "license": "SEE LICENSE IN LICENSE",
6
6
  "engines": {