@zaofan/dsh-qqbot 1.5.8 → 1.5.10
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/README.md +29 -0
- package/client/qqbot-settings.js +7 -2
- package/client/qqbot-settings.js.bak-clamp-195559 +4780 -0
- package/dist/config.js +1 -1
- package/dist/config.js.map +1 -1
- package/dist/features/image-path-cache.d.ts.map +1 -1
- package/dist/features/image-path-cache.js +28 -2
- package/dist/features/image-path-cache.js.map +1 -1
- package/dist/features/image-url-ledger.d.ts.map +1 -1
- package/dist/features/image-url-ledger.js +24 -5
- package/dist/features/image-url-ledger.js.map +1 -1
- package/dist/features/qq-user-questions.d.ts +20 -0
- package/dist/features/qq-user-questions.d.ts.map +1 -1
- package/dist/features/qq-user-questions.js +97 -17
- package/dist/features/qq-user-questions.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +27 -2
- package/dist/index.js.map +1 -1
- package/dist/model/model-resolver.d.ts +0 -14
- package/dist/model/model-resolver.d.ts.map +1 -1
- package/dist/model/model-resolver.js +23 -1
- package/dist/model/model-resolver.js.map +1 -1
- package/dist/model/prefs-store.d.ts +25 -1
- package/dist/model/prefs-store.d.ts.map +1 -1
- package/dist/model/prefs-store.js +70 -3
- package/dist/model/prefs-store.js.map +1 -1
- package/dist/transport/inbound.d.ts.map +1 -1
- package/dist/transport/inbound.js +38 -1
- package/dist/transport/inbound.js.map +1 -1
- package/package.json +2 -5
package/dist/index.js
CHANGED
|
@@ -80,9 +80,34 @@ export async function apply(ctx, config) {
|
|
|
80
80
|
return {};
|
|
81
81
|
}
|
|
82
82
|
};
|
|
83
|
+
/**
|
|
84
|
+
* 深合并(一层递归)—— ⚠️ 不能再用浅合并 Object.assign!
|
|
85
|
+
* 事故(2026-09-24):自有存储里若出现空对象(如 sticker: {}),浅合并会把 patch 里的整个
|
|
86
|
+
* sticker 配置覆盖成空 → config.sticker.collectEnabled 变 undefined → **图片自动下载停摆**
|
|
87
|
+
* (症状:最后一张自动下载的图停在某时刻,之后入站图片只剩 QQ 长 URL)。
|
|
88
|
+
* 深合并只在真有子键时才覆盖,空对象顶不掉默认值。
|
|
89
|
+
*/
|
|
90
|
+
const mergeDeep = (base, over) => {
|
|
91
|
+
if (!over || typeof over !== 'object' || Array.isArray(over))
|
|
92
|
+
return over === undefined ? base : over;
|
|
93
|
+
const b = (base && typeof base === 'object' && !Array.isArray(base)) ? base : {};
|
|
94
|
+
const out = Object.assign({}, b);
|
|
95
|
+
for (const [k, v] of Object.entries(over)) {
|
|
96
|
+
if (v === undefined)
|
|
97
|
+
continue;
|
|
98
|
+
const cur = out[k];
|
|
99
|
+
if (v && typeof v === 'object' && !Array.isArray(v) && cur && typeof cur === 'object' && !Array.isArray(cur)) {
|
|
100
|
+
out[k] = mergeDeep(cur, v);
|
|
101
|
+
}
|
|
102
|
+
else {
|
|
103
|
+
out[k] = v;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
return out;
|
|
107
|
+
};
|
|
83
108
|
const ownSettings = readOwnSettings();
|
|
84
109
|
if (Object.keys(ownSettings).length) {
|
|
85
|
-
Object.assign(resolvedConfig, ownSettings);
|
|
110
|
+
Object.assign(resolvedConfig, mergeDeep(resolvedConfig, ownSettings));
|
|
86
111
|
logger.info(`已加载插件自有设置(${Object.keys(ownSettings).length} 项): ${ownSettingsFile}`);
|
|
87
112
|
}
|
|
88
113
|
try {
|
|
@@ -90,7 +115,7 @@ export async function apply(ctx, config) {
|
|
|
90
115
|
if (changedNs && changedNs !== ns)
|
|
91
116
|
return;
|
|
92
117
|
const next = readOwnSettings();
|
|
93
|
-
Object.assign(resolvedConfig, next);
|
|
118
|
+
Object.assign(resolvedConfig, mergeDeep(resolvedConfig, next));
|
|
94
119
|
logger.info(`设置已热更新(${ns}): ${Object.keys(next).length} 项`);
|
|
95
120
|
});
|
|
96
121
|
}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ModelResolver — 统一的模型发现与路由解析
|
|
3
|
-
*
|
|
4
|
-
* 职责:
|
|
5
|
-
* 1. 解析当前生效的默认模型路由
|
|
6
|
-
* 2. 列出可用 providers 和模型
|
|
7
|
-
* 3. 管理 per-peer 的模型偏好(委托 PrefsStore)
|
|
8
|
-
*
|
|
9
|
-
* 优先级(从高到低):
|
|
10
|
-
* per-peer 偏好(~/.dsh-qqbot/model-prefs.json)
|
|
11
|
-
* > config 显式指定(cordis.yml 的 provider/model)
|
|
12
|
-
* > settings.yaml 的 agent-default-model(只读,作为默认兜底)
|
|
13
|
-
* > 宿主 agentDefaultModel 服务
|
|
14
|
-
*/
|
|
15
1
|
import type { Context } from '@deepseek-ai/cordis';
|
|
16
2
|
import type { ImQQBotConfig } from '../config.js';
|
|
17
3
|
import type { Logger } from '../types.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-resolver.d.ts","sourceRoot":"","sources":["../../src/model/model-resolver.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"model-resolver.d.ts","sourceRoot":"","sources":["../../src/model/model-resolver.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAKzD,qBAAa,aAAa;IAKtB,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;IAN1B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAa;IACnC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAiB;gBAGvB,GAAG,EAAE,OAAO,EACZ,MAAM,EAAE,aAAa,EACrB,MAAM,CAAC,EAAE,MAAM,YAAA;IAUlC;;;;;;;OAOG;IACH,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAIjF;;;;;;;;;;;OAWG;IACH,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAW9E;;;OAGG;IACH,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI;IAIvF;;OAEG;IACH,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI;IAI3D;;OAEG;IACH,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO;IAI5D;;OAEG;IACH,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAIpD;;OAEG;IACH,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAIzD;;OAEG;IACH,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAIxC,+CAA+C;IAC/C,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,kBAAkB,EAAE,qBAAqB,GAAG,SAAS;IAI/F,cAAc;IACd,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,kBAAkB,EAAE,qBAAqB,GAAG,IAAI;IAI9F,uBAAuB;IACvB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAIzC,sCAAsC;IACtC,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAIxD,oBAAoB;IACpB,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAI1D,oBAAoB;IACpB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAI5C;;;;;OAKG;IACH,cAAc,IAAI,UAAU;IAiB5B;;;;;OAKG;IACG,UAAU,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;IA8CzC;;OAEG;IACH,aAAa,IAAI,MAAM,EAAE;IAuBzB,0FAA0F;IAC1F,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,YAAY;IAoBpB;;;mEAG+D;IAC/D,OAAO,CAAC,UAAU;CAcnB"}
|
|
@@ -1,4 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ModelResolver — 统一的模型发现与路由解析
|
|
3
|
+
*
|
|
4
|
+
* 职责:
|
|
5
|
+
* 1. 解析当前生效的默认模型路由
|
|
6
|
+
* 2. 列出可用 providers 和模型
|
|
7
|
+
* 3. 管理 per-peer 的模型偏好(委托 PrefsStore)
|
|
8
|
+
*
|
|
9
|
+
* 优先级(从高到低):
|
|
10
|
+
* per-peer 偏好(~/.dsh-qqbot/model-prefs.json)
|
|
11
|
+
* > config 显式指定(cordis.yml 的 provider/model)
|
|
12
|
+
* > settings.yaml 的 agent-default-model(只读,作为默认兜底)
|
|
13
|
+
* > 宿主 agentDefaultModel 服务
|
|
14
|
+
*/
|
|
15
|
+
import { join } from 'node:path';
|
|
1
16
|
import { PrefsStore } from './prefs-store.js';
|
|
17
|
+
import { dataRootOf } from '../gateway/data-root.js';
|
|
2
18
|
import { SettingsReader } from './settings-reader.js';
|
|
3
19
|
export class ModelResolver {
|
|
4
20
|
ctx;
|
|
@@ -10,7 +26,13 @@ export class ModelResolver {
|
|
|
10
26
|
this.ctx = ctx;
|
|
11
27
|
this.config = config;
|
|
12
28
|
this.logger = logger;
|
|
13
|
-
|
|
29
|
+
// 偏好文件跟着 dataRoot 走({dataRoot}/.qqbot/model-prefs.json),不再孤零零丢在 C 盘家目录
|
|
30
|
+
this.prefs = new PrefsStore(config.debug ? (msg) => this.logger?.debug(msg) : undefined, (() => { try {
|
|
31
|
+
return join(dataRootOf(config), '.qqbot');
|
|
32
|
+
}
|
|
33
|
+
catch {
|
|
34
|
+
return undefined;
|
|
35
|
+
} })());
|
|
14
36
|
this.settings = new SettingsReader();
|
|
15
37
|
}
|
|
16
38
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-resolver.js","sourceRoot":"","sources":["../../src/model/model-resolver.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"model-resolver.js","sourceRoot":"","sources":["../../src/model/model-resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,7 +18,31 @@ export declare class PrefsStore {
|
|
|
18
18
|
/** 隔离偏好文件路径 */
|
|
19
19
|
private readonly prefsPath;
|
|
20
20
|
private readonly debugLog?;
|
|
21
|
-
|
|
21
|
+
/**
|
|
22
|
+
* @param debugLog 调试日志回调
|
|
23
|
+
* @param baseDir 存放目录。**强烈建议传 `{dataRoot}/.qqbot`** ——
|
|
24
|
+
* 2026-09-24 修复:此前硬编码 `homedir()/.dsh-qqbot`,导致用户把 dataRoot 指到 D 盘后,
|
|
25
|
+
* 这个偏好文件仍孤零零留在 C 盘用户目录(其他数据都在 dataRoot,就它漏了)。
|
|
26
|
+
* 不传时回落到 `$DSH_HOME/.dsh-qqbot`(再退 `~/.dsh-qqbot`),保持向后兼容。
|
|
27
|
+
*/
|
|
28
|
+
constructor(debugLog?: DebugFn, baseDir?: string);
|
|
29
|
+
/** 把老位置(`~/.dsh-qqbot/model-prefs.json`)的偏好**搬到新位置**(新位置没有时才搬,搬完保留原文件改名 .migrated) */
|
|
30
|
+
private migrateLegacy;
|
|
31
|
+
/** 每个 Map 的条目上限 —— 只增不减会让文件无限膨胀(2026-09-24 主人反馈"越写越长")。 */
|
|
32
|
+
private static readonly MAX_ENTRIES;
|
|
33
|
+
/**
|
|
34
|
+
* 清理**孤儿 override**(2026-09-24 主人反馈"还是越写越多")。
|
|
35
|
+
*
|
|
36
|
+
* override 的 key 是 `sessionKey@sessionId`,而每次新建会话(/new、cwd/preset 变更、
|
|
37
|
+
* 重启后未 resume)都会产生**新 sessionId** → 新 key;`sessionIds` 只记该 key 的最新会话,
|
|
38
|
+
* 于是旧 sessionId 的 override 永远没人删,一个群能攒出十几条。
|
|
39
|
+
*
|
|
40
|
+
* 判定:key 里的 sessionId ≠ `sessionIds` 记录的最新值 → 该 override 已失效(不可能再被读到)→ 删。
|
|
41
|
+
* 老式 peer 级 key(不含 `@sessionId`)保持不动,避免误删兼容路径。
|
|
42
|
+
*/
|
|
43
|
+
private pruneOrphanOverrides;
|
|
44
|
+
/** 超出上限时按插入顺序淘汰最旧(Map 保序;用过的键重新 set 会排到末尾,近似 LRU) */
|
|
45
|
+
private prune;
|
|
22
46
|
getOverride(sessionKey: string): ModelRoute | undefined;
|
|
23
47
|
setOverride(sessionKey: string, route: ModelRoute): void;
|
|
24
48
|
clearOverride(sessionKey: string): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prefs-store.d.ts","sourceRoot":"","sources":["../../src/model/prefs-store.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,eAAe;AACf,KAAK,OAAO,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;AAErC,kEAAkE;AAClE,MAAM,WAAW,qBAAqB;IACpC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAaD,qBAAa,UAAU;IACrB,yBAAyB;IACzB,OAAO,CAAC,SAAS,CAAiC;IAClD,0CAA0C;IAC1C,OAAO,CAAC,UAAU,CAA6B;IAC/C,2BAA2B;IAC3B,OAAO,CAAC,UAAU,CAA4C;IAC9D,kDAAkD;IAClD,OAAO,CAAC,cAAc,CAA6B;IACnD,eAAe;IACf,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAU;
|
|
1
|
+
{"version":3,"file":"prefs-store.d.ts","sourceRoot":"","sources":["../../src/model/prefs-store.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,eAAe;AACf,KAAK,OAAO,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;AAErC,kEAAkE;AAClE,MAAM,WAAW,qBAAqB;IACpC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAaD,qBAAa,UAAU;IACrB,yBAAyB;IACzB,OAAO,CAAC,SAAS,CAAiC;IAClD,0CAA0C;IAC1C,OAAO,CAAC,UAAU,CAA6B;IAC/C,2BAA2B;IAC3B,OAAO,CAAC,UAAU,CAA4C;IAC9D,kDAAkD;IAClD,OAAO,CAAC,cAAc,CAA6B;IACnD,eAAe;IACf,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAU;IAEpC;;;;;;OAMG;gBACS,QAAQ,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM;IAShD,sFAAsF;IACtF,OAAO,CAAC,aAAa;IAcrB,2DAA2D;IAC3D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAO;IAE1C;;;;;;;;;OASG;IACH,OAAO,CAAC,oBAAoB;IAW5B,qDAAqD;IACrD,OAAO,CAAC,KAAK;IAab,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAIvD,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI;IAKxD,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAM1C,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAMxC,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAIpD,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAKzD,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAQ3C,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,qBAAqB,GAAG,SAAS;IAIpE,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,qBAAqB,GAAG,IAAI;IAKnE,yCAAyC;IACzC,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAQ5C,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAIxD,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAK1D,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAQ/C,OAAO,CAAC,IAAI;IA+CZ,OAAO,CAAC,KAAK;CA2Bd"}
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* 避免写盘瞬间被 kill 留下半截 JSON);
|
|
10
10
|
* - load 解析失败不再静默吞掉: 损坏文件改名 .corrupt-<ts> 保留取证, 空偏好继续。
|
|
11
11
|
*/
|
|
12
|
-
import { readFileSync, writeFileSync, existsSync, mkdirSync, renameSync } from 'node:fs';
|
|
12
|
+
import { readFileSync, writeFileSync, existsSync, mkdirSync, renameSync, copyFileSync } from 'node:fs';
|
|
13
13
|
import { resolve, dirname } from 'node:path';
|
|
14
14
|
import { homedir } from 'node:os';
|
|
15
15
|
export class PrefsStore {
|
|
@@ -24,11 +24,77 @@ export class PrefsStore {
|
|
|
24
24
|
/** 隔离偏好文件路径 */
|
|
25
25
|
prefsPath;
|
|
26
26
|
debugLog;
|
|
27
|
-
|
|
28
|
-
|
|
27
|
+
/**
|
|
28
|
+
* @param debugLog 调试日志回调
|
|
29
|
+
* @param baseDir 存放目录。**强烈建议传 `{dataRoot}/.qqbot`** ——
|
|
30
|
+
* 2026-09-24 修复:此前硬编码 `homedir()/.dsh-qqbot`,导致用户把 dataRoot 指到 D 盘后,
|
|
31
|
+
* 这个偏好文件仍孤零零留在 C 盘用户目录(其他数据都在 dataRoot,就它漏了)。
|
|
32
|
+
* 不传时回落到 `$DSH_HOME/.dsh-qqbot`(再退 `~/.dsh-qqbot`),保持向后兼容。
|
|
33
|
+
*/
|
|
34
|
+
constructor(debugLog, baseDir) {
|
|
35
|
+
const root = (baseDir && baseDir.trim())
|
|
36
|
+
|| resolve(process.env.DSH_HOME?.trim() || homedir(), '.dsh-qqbot');
|
|
37
|
+
this.prefsPath = resolve(root, 'model-prefs.json');
|
|
29
38
|
this.debugLog = debugLog;
|
|
39
|
+
this.migrateLegacy();
|
|
30
40
|
this.load();
|
|
31
41
|
}
|
|
42
|
+
/** 把老位置(`~/.dsh-qqbot/model-prefs.json`)的偏好**搬到新位置**(新位置没有时才搬,搬完保留原文件改名 .migrated) */
|
|
43
|
+
migrateLegacy() {
|
|
44
|
+
try {
|
|
45
|
+
const legacy = resolve(homedir(), '.dsh-qqbot', 'model-prefs.json');
|
|
46
|
+
if (legacy === this.prefsPath)
|
|
47
|
+
return; // 目标就是老位置 → 不用搬
|
|
48
|
+
if (!existsSync(legacy) || existsSync(this.prefsPath))
|
|
49
|
+
return;
|
|
50
|
+
mkdirSync(dirname(this.prefsPath), { recursive: true });
|
|
51
|
+
copyFileSync(legacy, this.prefsPath);
|
|
52
|
+
try {
|
|
53
|
+
renameSync(legacy, legacy + '.migrated');
|
|
54
|
+
}
|
|
55
|
+
catch { /* 改不了名也无妨,反正已经复制 */ }
|
|
56
|
+
this.debugLog?.(`prefs 已从旧位置迁移: ${legacy} → ${this.prefsPath}`);
|
|
57
|
+
}
|
|
58
|
+
catch (err) {
|
|
59
|
+
this.debugLog?.(`prefs 迁移失败(不影响运行): ${err instanceof Error ? err.message : String(err)}`);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
/** 每个 Map 的条目上限 —— 只增不减会让文件无限膨胀(2026-09-24 主人反馈"越写越长")。 */
|
|
63
|
+
static MAX_ENTRIES = 300;
|
|
64
|
+
/**
|
|
65
|
+
* 清理**孤儿 override**(2026-09-24 主人反馈"还是越写越多")。
|
|
66
|
+
*
|
|
67
|
+
* override 的 key 是 `sessionKey@sessionId`,而每次新建会话(/new、cwd/preset 变更、
|
|
68
|
+
* 重启后未 resume)都会产生**新 sessionId** → 新 key;`sessionIds` 只记该 key 的最新会话,
|
|
69
|
+
* 于是旧 sessionId 的 override 永远没人删,一个群能攒出十几条。
|
|
70
|
+
*
|
|
71
|
+
* 判定:key 里的 sessionId ≠ `sessionIds` 记录的最新值 → 该 override 已失效(不可能再被读到)→ 删。
|
|
72
|
+
* 老式 peer 级 key(不含 `@sessionId`)保持不动,避免误删兼容路径。
|
|
73
|
+
*/
|
|
74
|
+
pruneOrphanOverrides() {
|
|
75
|
+
for (const key of [...this.overrides.keys()]) {
|
|
76
|
+
const at = key.lastIndexOf('@');
|
|
77
|
+
if (at < 0)
|
|
78
|
+
continue;
|
|
79
|
+
const sessionKey = key.slice(0, at);
|
|
80
|
+
const sid = key.slice(at + 1);
|
|
81
|
+
const latest = this.sessionIds.get(sessionKey);
|
|
82
|
+
if (latest && latest !== sid)
|
|
83
|
+
this.overrides.delete(key);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
/** 超出上限时按插入顺序淘汰最旧(Map 保序;用过的键重新 set 会排到末尾,近似 LRU) */
|
|
87
|
+
prune() {
|
|
88
|
+
this.pruneOrphanOverrides();
|
|
89
|
+
for (const m of [this.overrides, this.sessionIds, this.sessionCfg, this.sessionPresets]) {
|
|
90
|
+
while (m.size > PrefsStore.MAX_ENTRIES) {
|
|
91
|
+
const oldest = m.keys().next().value;
|
|
92
|
+
if (oldest === undefined)
|
|
93
|
+
break;
|
|
94
|
+
m.delete(oldest);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
32
98
|
// ── Override 操作 ──
|
|
33
99
|
getOverride(sessionKey) {
|
|
34
100
|
return this.overrides.get(sessionKey);
|
|
@@ -142,6 +208,7 @@ export class PrefsStore {
|
|
|
142
208
|
}
|
|
143
209
|
write() {
|
|
144
210
|
try {
|
|
211
|
+
this.prune(); // 防无限膨胀
|
|
145
212
|
mkdirSync(dirname(this.prefsPath), { recursive: true });
|
|
146
213
|
const data = {
|
|
147
214
|
overrides: Object.fromEntries(this.overrides.entries()),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prefs-store.js","sourceRoot":"","sources":["../../src/model/prefs-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"prefs-store.js","sourceRoot":"","sources":["../../src/model/prefs-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inbound.d.ts","sourceRoot":"","sources":["../../src/transport/inbound.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EAAa,MAAM,EAA8B,MAAM,aAAa,CAAC;AAmGjF;;GAEG;AACH,wBAAsB,aAAa,CACjC,MAAM,EAAE,OAAO,EACf,OAAO,EAAE,cAAc,EACvB,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,MAAM,EACd,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"inbound.d.ts","sourceRoot":"","sources":["../../src/transport/inbound.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EAAa,MAAM,EAA8B,MAAM,aAAa,CAAC;AAmGjF;;GAEG;AACH,wBAAsB,aAAa,CACjC,MAAM,EAAE,OAAO,EACf,OAAO,EAAE,cAAc,EACvB,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,MAAM,EACd,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,IAAI,CAAC,CAksBf;AAqPD;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,OAAO,EACrB,MAAM,EAAE,MAAM,GACb,MAAM,CAgBR"}
|
|
@@ -53,6 +53,40 @@ export async function handleInbound(rawMsg, manager, config, logger, state) {
|
|
|
53
53
|
}
|
|
54
54
|
catch { /* 台账落盘失败不影响消息流 */ }
|
|
55
55
|
}
|
|
56
|
+
// ⚠️ 2026-09-24 修复「当前消息的图片只显示长 URL、拿不到本地路径」(主人多次反馈):
|
|
57
|
+
// 原代码顺序是 assembleAgentBody(拼消息,其中 Layer4 会查 lookupImagePath) **之后**
|
|
58
|
+
// 才做图片预检并 rememberImagePath —— 等于拼消息时缓存永远是空的,只能回退 QQ 长 URL;
|
|
59
|
+
// 而缓存要到下一条消息(历史)才生效,所以"历史里有本地路径、当前消息没有"。
|
|
60
|
+
// 这里在拼消息**之前**先补一次预检:下载 → sha1 → 查图库 → 命中就把 URL→本地路径记进缓存。
|
|
61
|
+
// (原来的预检逻辑保持不变,重复执行是幂等的,不影响其它行为。)
|
|
62
|
+
try {
|
|
63
|
+
const _imgUrls = [];
|
|
64
|
+
for (const _a of (Array.isArray(msg.attachments) ? msg.attachments : [])) {
|
|
65
|
+
const _u = String(_a?.url ?? '').trim();
|
|
66
|
+
const _ct = String(_a?.content_type ?? '').toLowerCase();
|
|
67
|
+
if (_u && /image/.test(_ct) && !_imgUrls.includes(_u))
|
|
68
|
+
_imgUrls.push(_u);
|
|
69
|
+
}
|
|
70
|
+
const _first = _imgUrls[0];
|
|
71
|
+
if (_first && !lookupImagePath(_first, logger)) {
|
|
72
|
+
const _store = getStickerStore(stickerDirOf(config));
|
|
73
|
+
let _buf = await fetchImageBuffer(_first);
|
|
74
|
+
if (_buf && _buf.length > 0) {
|
|
75
|
+
const _id = createHash('sha1').update(_buf).digest('hex').slice(0, 12);
|
|
76
|
+
const _hit = _store.get(_id);
|
|
77
|
+
if (_hit?.id) {
|
|
78
|
+
const _p = _store.pathOf(_hit.id);
|
|
79
|
+
if (_p) {
|
|
80
|
+
rememberImagePath(_first, _p);
|
|
81
|
+
logger.info(`[img-path] 预检命中,本条消息将带本地路径: ${_p}`);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
catch (e) {
|
|
88
|
+
logger.warn(`im-qqbot: 拼消息前的图片预检失败(不影响主流程): ${e instanceof Error ? e.message : String(e)}`);
|
|
89
|
+
}
|
|
56
90
|
let agentBody = assembleAgentBody(msg, mwState, scope, logger, downloaded, refEnabled, msgRef, dataRootOf(config), stickerDirOf(config));
|
|
57
91
|
if (!agentBody)
|
|
58
92
|
return;
|
|
@@ -898,7 +932,10 @@ function localizeHistoryImages(text, stickerDir) {
|
|
|
898
932
|
return text;
|
|
899
933
|
return text.replace(/\[图片:\s*(https?:\/\/[^\]\s]+)\]/g, (_m, url) => {
|
|
900
934
|
const p = resolveImageLocalPath(url, stickerDir);
|
|
901
|
-
|
|
935
|
+
// 2026-09-24 改进(主人反馈: 历史里的图片只剩 [图片]、AI 完全读不到图):
|
|
936
|
+
// 找不到本地图库对应时,**保留 QQ 的原始 URL** —— 宁可多花点 token,也别让模型对着 4 个字干瞪眼。
|
|
937
|
+
// (本地命中仍然优先,那是省 token 的正常路径。)
|
|
938
|
+
return p ? `[图片: ${p}]` : `[图片: ${url}]`;
|
|
902
939
|
});
|
|
903
940
|
}
|
|
904
941
|
/**
|