@tencent-connect/openclaw-qqbot 1.5.7 → 1.6.0-alpha.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.
Files changed (63) hide show
  1. package/README.md +9 -2
  2. package/README.zh.md +7 -2
  3. package/package.json +1 -1
  4. package/scripts/upgrade-via-npm.sh +85 -115
  5. package/scripts/upgrade-via-source.sh +203 -35
  6. package/skills/qqbot-cron/SKILL.md +46 -423
  7. package/skills/qqbot-media/SKILL.md +29 -182
  8. package/src/api.ts +16 -5
  9. package/src/channel.ts +6 -7
  10. package/src/gateway.ts +510 -525
  11. package/src/image-server.ts +72 -10
  12. package/src/openclaw-plugin-sdk.d.ts +1 -1
  13. package/src/outbound.ts +571 -611
  14. package/src/ref-index-store.ts +1 -1
  15. package/src/slash-commands.ts +425 -0
  16. package/src/types.ts +18 -1
  17. package/src/update-checker.ts +102 -0
  18. package/src/user-messages.ts +73 -0
  19. package/src/utils/audio-convert.ts +69 -4
  20. package/src/utils/media-tags.ts +46 -4
  21. package/dist/AI/345/210/233/346/226/260/345/272/224/347/224/250/345/245/226_/347/224/263/346/212/245/344/271/246.md +0 -211
  22. package/dist/index.d.ts +0 -17
  23. package/dist/index.js +0 -22
  24. package/dist/src/api.d.ts +0 -138
  25. package/dist/src/api.js +0 -525
  26. package/dist/src/channel.d.ts +0 -3
  27. package/dist/src/channel.js +0 -337
  28. package/dist/src/config.d.ts +0 -25
  29. package/dist/src/config.js +0 -161
  30. package/dist/src/gateway.d.ts +0 -18
  31. package/dist/src/gateway.js +0 -2468
  32. package/dist/src/image-server.d.ts +0 -62
  33. package/dist/src/image-server.js +0 -401
  34. package/dist/src/known-users.d.ts +0 -100
  35. package/dist/src/known-users.js +0 -263
  36. package/dist/src/onboarding.d.ts +0 -10
  37. package/dist/src/onboarding.js +0 -203
  38. package/dist/src/outbound.d.ts +0 -150
  39. package/dist/src/outbound.js +0 -1175
  40. package/dist/src/proactive.d.ts +0 -170
  41. package/dist/src/proactive.js +0 -399
  42. package/dist/src/runtime.d.ts +0 -3
  43. package/dist/src/runtime.js +0 -10
  44. package/dist/src/session-store.d.ts +0 -52
  45. package/dist/src/session-store.js +0 -254
  46. package/dist/src/slash-commands.d.ts +0 -48
  47. package/dist/src/slash-commands.js +0 -212
  48. package/dist/src/types.d.ts +0 -146
  49. package/dist/src/types.js +0 -1
  50. package/dist/src/utils/audio-convert.d.ts +0 -73
  51. package/dist/src/utils/audio-convert.js +0 -645
  52. package/dist/src/utils/file-utils.d.ts +0 -46
  53. package/dist/src/utils/file-utils.js +0 -107
  54. package/dist/src/utils/image-size.d.ts +0 -51
  55. package/dist/src/utils/image-size.js +0 -234
  56. package/dist/src/utils/media-tags.d.ts +0 -14
  57. package/dist/src/utils/media-tags.js +0 -120
  58. package/dist/src/utils/payload.d.ts +0 -112
  59. package/dist/src/utils/payload.js +0 -186
  60. package/dist/src/utils/platform.d.ts +0 -126
  61. package/dist/src/utils/platform.js +0 -358
  62. package/dist/src/utils/upload-cache.d.ts +0 -34
  63. package/dist/src/utils/upload-cache.js +0 -93
@@ -1,73 +0,0 @@
1
- /**
2
- * 将 SILK/AMR 语音文件转换为 WAV 格式
3
- *
4
- * @param inputPath 输入文件路径(.amr / .silk / .slk)
5
- * @param outputDir 输出目录(默认与输入文件同目录)
6
- * @returns 转换后的 WAV 文件路径,失败返回 null
7
- */
8
- export declare function convertSilkToWav(inputPath: string, outputDir?: string): Promise<{
9
- wavPath: string;
10
- duration: number;
11
- } | null>;
12
- /**
13
- * 判断是否为语音附件(根据 content_type 或文件扩展名)
14
- */
15
- export declare function isVoiceAttachment(att: {
16
- content_type?: string;
17
- filename?: string;
18
- }): boolean;
19
- /**
20
- * 格式化语音时长为可读字符串
21
- */
22
- export declare function formatDuration(durationMs: number): string;
23
- export declare function isAudioFile(filePath: string): boolean;
24
- export interface TTSConfig {
25
- baseUrl: string;
26
- apiKey: string;
27
- model: string;
28
- voice: string;
29
- /** Azure OpenAI 风格:使用 api-key header 而非 Bearer token */
30
- authStyle?: "bearer" | "api-key";
31
- /** 附加在 URL 后的查询参数,如 Azure 的 api-version */
32
- queryParams?: Record<string, string>;
33
- /** 自定义速度(默认不传) */
34
- speed?: number;
35
- }
36
- export declare function resolveTTSConfig(cfg: Record<string, unknown>): TTSConfig | null;
37
- export declare function textToSpeechPCM(text: string, ttsCfg: TTSConfig): Promise<{
38
- pcmBuffer: Buffer;
39
- sampleRate: number;
40
- }>;
41
- export declare function pcmToSilk(pcmBuffer: Buffer, sampleRate: number): Promise<{
42
- silkBuffer: Buffer;
43
- duration: number;
44
- }>;
45
- export declare function textToSilk(text: string, ttsCfg: TTSConfig, outputDir: string): Promise<{
46
- silkPath: string;
47
- silkBase64: string;
48
- duration: number;
49
- }>;
50
- /**
51
- * 将本地音频文件转换为 QQ Bot 可上传的 Base64
52
- *
53
- * QQ Bot API 支持直传 WAV、MP3、SILK 三种格式,其他格式仍需转换。
54
- * 转换策略(参考 NapCat/go-cqhttp/Discord/Telegram 的做法):
55
- *
56
- * 1. WAV / MP3 / SILK → 直传(跳过转换)
57
- * 2. 有 ffmpeg → ffmpeg 万能解码为 PCM → silk-wasm 编码
58
- * 支持: ogg, opus, aac, flac, wma, m4a, pcm 等所有 ffmpeg 支持的格式
59
- * 3. 无 ffmpeg → WASM fallback(仅支持 pcm, wav)
60
- *
61
- * @param directUploadFormats - 自定义直传格式列表,覆盖默认值。传 undefined 使用 QQ_NATIVE_UPLOAD_FORMATS
62
- */
63
- export declare function audioFileToSilkBase64(filePath: string, directUploadFormats?: string[]): Promise<string | null>;
64
- /**
65
- * 等待文件就绪(轮询直到文件出现且大小稳定)
66
- * 用于 TTS 生成后等待文件写入完成
67
- *
68
- * @param filePath 文件路径
69
- * @param timeoutMs 最大等待时间(默认 2 分钟)
70
- * @param pollMs 轮询间隔(默认 500ms)
71
- * @returns 文件大小(字节),超时或文件始终为空返回 0
72
- */
73
- export declare function waitForFile(filePath: string, timeoutMs?: number, pollMs?: number): Promise<number>;