@mingxy/ocosay 1.0.28 → 1.0.31

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.
@@ -12,33 +12,6 @@ export declare const ttsTools: ({
12
12
  type: string;
13
13
  description: string;
14
14
  };
15
- provider: {
16
- type: string;
17
- description: string;
18
- default: string;
19
- };
20
- voice: {
21
- type: string;
22
- description: string;
23
- };
24
- model: {
25
- type: string;
26
- enum: string[];
27
- description: string;
28
- default: string;
29
- };
30
- speed: {
31
- type: string;
32
- description: string;
33
- };
34
- volume: {
35
- type: string;
36
- description: string;
37
- };
38
- pitch: {
39
- type: string;
40
- description: string;
41
- };
42
15
  };
43
16
  required: string[];
44
17
  };
@@ -48,27 +21,6 @@ export declare const ttsTools: ({
48
21
  description: string;
49
22
  input?: undefined;
50
23
  output?: undefined;
51
- } | {
52
- name: string;
53
- description: string;
54
- input: {
55
- type: string;
56
- properties: {
57
- provider: {
58
- type: string;
59
- description: string;
60
- default: string;
61
- };
62
- text?: undefined;
63
- voice?: undefined;
64
- model?: undefined;
65
- speed?: undefined;
66
- volume?: undefined;
67
- pitch?: undefined;
68
- };
69
- required?: undefined;
70
- };
71
- output?: undefined;
72
24
  } | {
73
25
  name: string;
74
26
  description: string;
@@ -97,20 +49,6 @@ export declare const ttsTools: ({
97
49
  type: string;
98
50
  description: string;
99
51
  };
100
- voice: {
101
- type: string;
102
- description: string;
103
- };
104
- model: {
105
- type: string;
106
- enum: string[];
107
- default: string;
108
- description?: undefined;
109
- };
110
- provider?: undefined;
111
- speed?: undefined;
112
- volume?: undefined;
113
- pitch?: undefined;
114
52
  };
115
53
  required?: undefined;
116
54
  };
@@ -1 +1 @@
1
- {"version":3,"file":"tts.d.ts","sourceRoot":"","sources":["../../src/tools/tts.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAiDH,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAyHpB,CAAA;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,QAAQ,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACzB,OAAO,CAAC,GAAG,CAAC,CA2Id"}
1
+ {"version":3,"file":"tts.d.ts","sourceRoot":"","sources":["../../src/tools/tts.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAwDH,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA2EpB,CAAA;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,QAAQ,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACzB,OAAO,CAAC,GAAG,CAAC,CAoId"}
package/dist/tools/tts.js CHANGED
@@ -4,75 +4,55 @@
4
4
  */
5
5
  import { speak, stop, pause, resume, listVoices, getDefaultSpeaker } from '../core/speaker';
6
6
  import { TTSError, TTSErrorCode } from '../core/types';
7
+ import { logger } from '../utils/logger';
7
8
  import { isStreamEnabled, isAutoReadEnabled, getStreamStatus, getStreamReader, getStreamingSynthesizer, getStreamPlayer } from '../index';
8
9
  function extractTextArg(args) {
9
10
  if (!args || typeof args !== 'object') {
10
11
  return undefined;
11
12
  }
12
13
  const argObj = args;
13
- // 优先使用 text 属性
14
14
  const text = argObj.text;
15
15
  if (typeof text === 'string' && text.trim().length > 0) {
16
16
  return text.trim();
17
17
  }
18
- // 检查 text7 (OpenCode 框架可能传递)
19
18
  const text7 = argObj.text7;
20
- if (typeof text7 === 'string' && text7.trim().length > 0) {
21
- console.warn('[tts] Received text7 instead of text from OpenCode framework');
22
- return text7.trim();
19
+ if (text7 !== null && text7 !== undefined) {
20
+ if (typeof text7 === 'string' && text7.trim().length > 0) {
21
+ logger.warn('received text7 instead of text from OpenCode framework');
22
+ return text7.trim();
23
+ }
24
+ if (typeof text7 === 'object' && 'content' in text7) {
25
+ const content = text7.content;
26
+ if (typeof content === 'string' && content.trim().length > 0) {
27
+ logger.warn('text7 is an object with content field');
28
+ return content.trim();
29
+ }
30
+ }
31
+ logger.warn({ type: typeof text7 }, 'text7 is not a valid string or object with content');
23
32
  }
24
- // 遍历所有 text 开头的属性,找到第一个有效字符串
25
33
  for (const key of Object.keys(argObj)) {
26
34
  if (key.startsWith('text') && key !== 'text' && key !== 'text7') {
27
35
  const val = argObj[key];
28
36
  if (typeof val === 'string' && val.trim().length > 0) {
29
- console.debug(`[tts] Using ${key} as text source`);
30
37
  return val.trim();
31
38
  }
32
39
  }
33
40
  }
34
41
  if (text !== undefined) {
35
- console.warn('[tts] text arg is not a valid string, type:', typeof text, 'value:', String(text).substring(0, 100));
42
+ logger.warn({ type: typeof text }, 'text arg is not a valid string');
36
43
  }
37
44
  return undefined;
38
45
  }
39
46
  export const ttsTools = [
40
47
  {
41
48
  name: 'tts_speak',
42
- description: '将文本转换为语音并播放',
49
+ description: '将文本转换为语音并播放(使用配置文件中的默认音色和模型)',
43
50
  input: {
44
51
  type: 'object',
45
52
  properties: {
46
53
  text: {
47
54
  type: 'string',
48
55
  description: '要转换的文本内容'
49
- },
50
- provider: {
51
- type: 'string',
52
- description: 'TTS 提供商名称',
53
- default: 'minimax'
54
- },
55
- voice: {
56
- type: 'string',
57
- description: '音色 ID'
58
- },
59
- model: {
60
- type: 'string',
61
- enum: ['sync', 'async', 'stream'],
62
- description: '合成模式',
63
- default: 'stream'
64
- },
65
- speed: {
66
- type: 'number',
67
- description: '语速 0.5-2.0'
68
- },
69
- volume: {
70
- type: 'number',
71
- description: '音量 0-100'
72
- },
73
- pitch: {
74
- type: 'number',
75
- description: '音调 0.5-2.0'
76
56
  }
77
57
  },
78
58
  required: ['text']
@@ -92,17 +72,7 @@ export const ttsTools = [
92
72
  },
93
73
  {
94
74
  name: 'tts_list_voices',
95
- description: '列出可用的音色',
96
- input: {
97
- type: 'object',
98
- properties: {
99
- provider: {
100
- type: 'string',
101
- description: 'TTS 提供商名称',
102
- default: 'minimax'
103
- }
104
- }
105
- }
75
+ description: '列出可用的音色(使用配置文件中的默认提供商)'
106
76
  },
107
77
  {
108
78
  name: 'tts_list_providers',
@@ -121,22 +91,13 @@ export const ttsTools = [
121
91
  },
122
92
  {
123
93
  name: 'tts_stream_speak',
124
- description: '启动流式朗读(豆包模式),订阅AI回复并边生成边朗读',
94
+ description: '启动流式朗读(豆包模式),订阅AI回复并边生成边朗读(使用配置文件中的默认音色)',
125
95
  input: {
126
96
  type: 'object',
127
97
  properties: {
128
98
  text: {
129
99
  type: 'string',
130
100
  description: '初始文本(可选)'
131
- },
132
- voice: {
133
- type: 'string',
134
- description: '音色ID'
135
- },
136
- model: {
137
- type: 'string',
138
- enum: ['sync', 'async', 'stream'],
139
- default: 'stream'
140
101
  }
141
102
  }
142
103
  }
@@ -169,14 +130,7 @@ export async function handleToolCall(toolName, args) {
169
130
  if (!text) {
170
131
  return { success: false, error: 'No valid text found in args' };
171
132
  }
172
- await speak(text, {
173
- provider: args?.provider,
174
- voice: args?.voice,
175
- model: args?.model,
176
- speed: args?.speed,
177
- volume: args?.volume,
178
- pitch: args?.pitch
179
- });
133
+ await speak(text);
180
134
  return { success: true, message: 'Speech completed' };
181
135
  }
182
136
  case 'tts_stop':
@@ -218,7 +172,7 @@ export async function handleToolCall(toolName, args) {
218
172
  streamReader.start();
219
173
  const textArg = extractTextArg(args);
220
174
  if (textArg && typeof textArg === 'string' && textArg.trim().length > 0) {
221
- console.log('[tts_stream_speak] synthesizing text:', textArg.substring(0, 50) + '...');
175
+ logger.info({ text: textArg.substring(0, 50) + '...' }, 'synthesizing text');
222
176
  synthesizer.synthesize(textArg);
223
177
  }
224
178
  return { success: true, message: 'Stream speak started' };
@@ -1 +1 @@
1
- {"version":3,"file":"tts.js","sourceRoot":"","sources":["../../src/tools/tts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tts.js","sourceRoot":"","sources":["../../src/tools/tts.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,3 @@
1
- /**
2
- * Logger - pino 日志系统
3
- * 支持写入 ~/.ocosay/ocosay.log
4
- */
5
1
  import pino from 'pino';
6
2
  export declare const logger: pino.Logger<never, boolean>;
7
3
  //# sourceMappingURL=logger.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,IAAI,MAAM,MAAM,CAAA;AAsBvB,eAAO,MAAM,MAAM,6BAWjB,CAAA"}
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAA;AA4BvB,eAAO,MAAM,MAAM,6BAOlB,CAAA"}
@@ -1,40 +1,30 @@
1
- /**
2
- * Logger - pino 日志系统
3
- * 支持写入 ~/.ocosay/ocosay.log
4
- */
5
1
  import pino from 'pino';
6
2
  import { homedir } from 'os';
7
3
  import { join } from 'path';
8
4
  import { existsSync, mkdirSync } from 'fs';
9
- // 日志目录(延迟创建,避免同步阻塞)
10
5
  const logDir = join(homedir(), '.ocosay');
11
- // 确保目录存在(同步版本用于初始化,之后应该异步化)
12
- function ensureLogDir() {
13
- if (!existsSync(logDir)) {
14
- try {
15
- mkdirSync(logDir, { recursive: true });
16
- }
17
- catch (e) {
18
- // 忽略创建失败
19
- }
6
+ const logFile = join(logDir, 'ocosay.log');
7
+ if (!existsSync(logDir)) {
8
+ try {
9
+ mkdirSync(logDir, { recursive: true });
10
+ }
11
+ catch {
12
+ // ignore
20
13
  }
21
14
  }
22
- // 立即调用确保目录存在(启动时一次)
23
- ensureLogDir();
24
- export const logger = pino({
25
- level: process.env.OCOSAY_LOG_LEVEL || 'info',
26
- transport: {
27
- targets: [
28
- {
29
- target: 'pino/file',
30
- options: { destination: join(logDir, 'ocosay.log'), mkdir: false },
31
- level: 'info',
32
- },
33
- ],
34
- },
35
- });
36
- // 开发环境日志级别设为 debug
37
- if (process.env.NODE_ENV !== 'production') {
38
- logger.level = 'debug';
15
+ const streams = [
16
+ { stream: process.stdout },
17
+ ];
18
+ try {
19
+ streams.push({ stream: pino.destination({ dest: logFile, mkdir: true }) });
39
20
  }
21
+ catch {
22
+ // fallback to stdout only
23
+ }
24
+ const level = process.env.NODE_ENV !== 'production' ? 'debug' : (process.env.OCOSAY_LOG_LEVEL || 'info');
25
+ export const logger = pino({
26
+ level,
27
+ base: { service: 'ocosay' },
28
+ timestamp: pino.stdTimeFunctions.isoTime,
29
+ }, pino.multistream(streams));
40
30
  //# sourceMappingURL=logger.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAA;AAC5B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,IAAI,CAAA;AAE1C,oBAAoB;AACpB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAA;AAEzC,4BAA4B;AAC5B,SAAS,YAAY;IACnB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACxB,IAAI,CAAC;YACH,SAAS,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QACxC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,SAAS;QACX,CAAC;IACH,CAAC;AACH,CAAC;AAED,oBAAoB;AACpB,YAAY,EAAE,CAAA;AAEd,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,MAAM;IAC7C,SAAS,EAAE;QACT,OAAO,EAAE;YACP;gBACE,MAAM,EAAE,WAAW;gBACnB,OAAO,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE;gBAClE,KAAK,EAAE,MAAM;aACd;SACF;KACF;CACF,CAAC,CAAA;AAEF,mBAAmB;AACnB,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;IAC1C,MAAM,CAAC,KAAK,GAAG,OAAO,CAAA;AACxB,CAAC"}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAA;AAC5B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,IAAI,CAAA;AAE1C,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAA;AACzC,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;AAE1C,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;IACxB,IAAI,CAAC;QACH,SAAS,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IACxC,CAAC;IAAC,MAAM,CAAC;QACP,SAAS;IACX,CAAC;AACH,CAAC;AAED,MAAM,OAAO,GAAuB;IAClC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE;CAC3B,CAAA;AAED,IAAI,CAAC;IACH,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAA;AAC5E,CAAC;AAAC,MAAM,CAAC;IACP,0BAA0B;AAC5B,CAAC;AAED,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,MAAM,CAAC,CAAA;AAExG,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,CACxB;IACE,KAAK;IACL,IAAI,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE;IAC3B,SAAS,EAAE,IAAI,CAAC,gBAAgB,CAAC,OAAO;CACzC,EACD,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAC1B,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mingxy/ocosay",
3
- "version": "1.0.28",
3
+ "version": "1.0.31",
4
4
  "description": "OpenCode TTS 播放插件 - 支持豆包模式边接收边朗读",
5
5
  "type": "module",
6
6
  "main": "dist/plugin.js",