koishi-plugin-local-vitspro 0.1.0 → 0.1.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.
package/CHANGELOG.md CHANGED
@@ -1,4 +1,16 @@
1
- # Changelog
1
+ # Changelog
2
+
3
+ ## 0.1.2 (2026-11-02)
4
+
5
+ - 讲者拉取排障:新增 `tts probe`,打印最终 URL、状态码、耗时、原始错误与可操作提示。
6
+ - `url` 容错:自动去掉尾部斜杠与误填的 `/voice`,避免拼成 `/voice/voice/speakers`。
7
+ - `/voice/speakers` 响应容错:兼容数组、`{data:[…]}`、`{speakers:[…]}`、以 id 为键的对象、`lang` 为字符串等写法;仍然跳过 `HUBERT-VITS`。
8
+ - 拉取失败时错误信息带上 URL / 状态 / 响应片段;没有自动拉取能力的后端(如 GPT-SoVITS2)讲者为空时不再无限重试。
9
+ - 测试:136 个用例、12 项冒烟。
10
+
11
+ ## 0.1.1 (2026-11-02)
12
+
13
+ - 文档:重写 README,聚焦「插件做什么 / 机制怎么转 / 怎么安装与配置 / 常见问题」,补 npm 与 GitHub 徽章,末尾标注改自 `SilverWolfHoney/koishi-plugin-local-vits`。代码无改动。
2
14
 
3
15
  ## 0.1.0 (2026-11-02)
4
16
 
@@ -27,3 +39,4 @@
27
39
  - 不支持 gradio 后端;
28
40
  - 不支持自动翻译。
29
41
 
42
+
@@ -15,6 +15,22 @@ export interface SynthesizeRequest {
15
15
  /** 需要 session 的后端(QQ 声聊) */
16
16
  session?: any;
17
17
  }
18
+ /** `tts probe` 的输出:只做一次真实的讲者探测,不触发合成 */
19
+ export interface SpeakerProbe {
20
+ label: string;
21
+ type: Backend['type'];
22
+ /** 该后端是否真的发了请求(autoPullSpeaker=false 时为 false) */
23
+ requested: boolean;
24
+ url?: string;
25
+ ok: boolean;
26
+ status?: number;
27
+ ms: number;
28
+ count: number;
29
+ sample?: string[];
30
+ error?: string;
31
+ /** 针对常见配置错误的提示 */
32
+ hint?: string;
33
+ }
18
34
  export declare abstract class VitsAdapter {
19
35
  protected readonly ctx: AdapterContext;
20
36
  abstract readonly type: Backend['type'];
@@ -24,6 +40,8 @@ export declare abstract class VitsAdapter {
24
40
  abstract synthesize(request: SynthesizeRequest): Promise<AudioResult>;
25
41
  /** 自动拉取讲者(默认返回配置里写死的) */
26
42
  getSpeakers(backend: Backend): Promise<SpeakerBase[]>;
43
+ /** 诊断:跑一次讲者拉取,把 URL / 状态 / 耗时 / 错误都带回来 */
44
+ probeSpeakers(backend: Backend): Promise<SpeakerProbe>;
27
45
  protected headers(backend: Backend, extra?: Record<string, string>): Record<string, string>;
28
46
  protected url(base: string, path: string): string;
29
47
  }
@@ -19,6 +19,48 @@ class VitsAdapter {
19
19
  async getSpeakers(backend) {
20
20
  return backend.speakers ?? [];
21
21
  }
22
+ /** 诊断:跑一次讲者拉取,把 URL / 状态 / 耗时 / 错误都带回来 */
23
+ async probeSpeakers(backend) {
24
+ const started = Date.now();
25
+ const label = backend.label ?? backend.type;
26
+ if (this.autoPull && backend.autoPullSpeaker === false) {
27
+ return {
28
+ label,
29
+ type: backend.type,
30
+ requested: false,
31
+ ok: false,
32
+ ms: 0,
33
+ count: 0,
34
+ hint: 'autoPullSpeaker=false,不会请求后端;请手动配置 speakers'
35
+ };
36
+ }
37
+ try {
38
+ const speakers = await this.getSpeakers(backend);
39
+ return {
40
+ label,
41
+ type: backend.type,
42
+ requested: this.autoPull,
43
+ ok: true,
44
+ ms: Date.now() - started,
45
+ count: speakers.length,
46
+ sample: speakers.slice(0, 5).map((speaker) => speaker.name),
47
+ hint: this.autoPull && speakers.length === 0
48
+ ? '后端返回了空的讲者列表:确认后端已加载模型(/voice/speakers 里有内容)'
49
+ : undefined
50
+ };
51
+ }
52
+ catch (error) {
53
+ return {
54
+ label,
55
+ type: backend.type,
56
+ requested: true,
57
+ ok: false,
58
+ ms: Date.now() - started,
59
+ count: 0,
60
+ error: error?.message ?? String(error)
61
+ };
62
+ }
63
+ }
22
64
  headers(backend, extra) {
23
65
  return { ...(backend.headers ?? {}), ...(extra ?? {}) };
24
66
  }
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/adapters/base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/adapters/base.ts"],"names":[],"mappings":";;;AAmHA,4BAWC;AAED,wCAeC;AAED,kCAMC;AAGD,kCA0BC;AAGD,kCAKC;AAGD,8BAgBC;AAxMD,2CAA4D;AAoC5D,MAAsB,WAAW;IAME;IAH/B,uCAAuC;IAC9B,QAAQ,GAAY,KAAK,CAAA;IAElC,YAA+B,GAAmB;QAAnB,QAAG,GAAH,GAAG,CAAgB;IAAG,CAAC;IAItD,yBAAyB;IACzB,KAAK,CAAC,WAAW,CAAC,OAAgB;QAC9B,OAAO,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAA;IACjC,CAAC;IAED,0CAA0C;IAC1C,KAAK,CAAC,aAAa,CAAC,OAAgB;QAChC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QAC1B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAA;QAE3C,IAAI,IAAI,CAAC,QAAQ,IAAI,OAAO,CAAC,eAAe,KAAK,KAAK,EAAE,CAAC;YACrD,OAAO;gBACH,KAAK;gBACL,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,SAAS,EAAE,KAAK;gBAChB,EAAE,EAAE,KAAK;gBACT,EAAE,EAAE,CAAC;gBACL,KAAK,EAAE,CAAC;gBACR,IAAI,EAAE,6CAA6C;aACtD,CAAA;QACL,CAAC;QAED,IAAI,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;YAChD,OAAO;gBACH,KAAK;gBACL,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,SAAS,EAAE,IAAI,CAAC,QAAQ;gBACxB,EAAE,EAAE,IAAI;gBACR,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO;gBACxB,KAAK,EAAE,QAAQ,CAAC,MAAM;gBACtB,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;gBAC3D,IAAI,EACA,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;oBAClC,CAAC,CAAC,6CAA6C;oBAC/C,CAAC,CAAC,SAAS;aACtB,CAAA;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO;gBACH,KAAK;gBACL,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,SAAS,EAAE,IAAI;gBACf,EAAE,EAAE,KAAK;gBACT,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO;gBACxB,KAAK,EAAE,CAAC;gBACR,KAAK,EAAG,KAAe,EAAE,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC;aACpD,CAAA;QACL,CAAC;IACL,CAAC;IAES,OAAO,CACb,OAAgB,EAChB,KAA8B;QAE9B,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,CAAA;IAC3D,CAAC;IAES,GAAG,CAAC,IAAY,EAAE,IAAY;QACpC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,CAAA;IAC/C,CAAC;CACJ;AAtED,kCAsEC;AAED,SAAgB,QAAQ,CAAC,IAAa;IAClC,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAA;IACtC,IAAI,IAAI,YAAY,WAAW;QAAE,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACzD,IAAI,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3B,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAA;IACrE,CAAC;IACD,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACtD,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,MAAM,IAAK,IAAY,EAAE,CAAC;QAC9D,OAAO,QAAQ,CAAE,IAAY,CAAC,IAAI,CAAC,CAAA;IACvC,CAAC;IACD,MAAM,IAAI,qBAAY,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAA;AACrD,CAAC;AAED,SAAgB,cAAc,CAAC,MAAe;IAC1C,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;IACtE,QAAQ,KAAK,EAAE,CAAC;QACZ,KAAK,KAAK;YACN,OAAO,YAAY,CAAA;QACvB,KAAK,MAAM;YACP,OAAO,YAAY,CAAA;QACvB,KAAK,KAAK,CAAC;QACX,KAAK,MAAM;YACP,OAAO,WAAW,CAAA;QACtB,KAAK,KAAK;YACN,OAAO,WAAW,CAAA;QACtB;YACI,OAAO,WAAW,CAAA;IAC1B,CAAC;AACL,CAAC;AAED,SAAgB,WAAW,CAAC,IAAY;IACpC,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAA;IACxC,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,MAAM,CAAA;IACrC,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAA;IACxC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAA;IACnC,OAAO,KAAK,CAAA;AAChB,CAAC;AAED,sDAAsD;AACtD,SAAgB,WAAW,CAAC,QAAiB;IACzC,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;IACrE,QAAQ,KAAK,EAAE,CAAC;QACZ,KAAK,IAAI,CAAC;QACV,KAAK,OAAO,CAAC;QACb,KAAK,KAAK,CAAC;QACX,KAAK,SAAS;YACV,OAAO,IAAI,CAAA;QACf,KAAK,IAAI,CAAC;QACV,KAAK,OAAO,CAAC;QACb,KAAK,SAAS;YACV,OAAO,IAAI,CAAA;QACf,KAAK,IAAI,CAAC;QACV,KAAK,IAAI,CAAC;QACV,KAAK,UAAU;YACX,OAAO,IAAI,CAAA;QACf,KAAK,IAAI,CAAC;QACV,KAAK,IAAI,CAAC;QACV,KAAK,QAAQ;YACT,OAAO,IAAI,CAAA;QACf,KAAK,KAAK,CAAC;QACX,KAAK,WAAW;YACZ,OAAO,KAAK,CAAA;QAChB;YACI,OAAO,KAAK,IAAI,IAAI,CAAA;IAC5B,CAAC;AACL,CAAC;AAED,wCAAwC;AACxC,SAAgB,WAAW,CAAC,IAAY;IACpC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,qBAAY,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;IAC/C,CAAC;IACD,OAAO,IAAI,CAAA;AACf,CAAC;AAED,uCAAuC;AACvC,SAAgB,SAAS,CAAC,KAAc,EAAE,KAAa;IACnD,IAAI,KAAK,YAAY,qBAAY;QAAE,OAAO,KAAK,CAAA;IAE/C,MAAM,GAAG,GAAG,KAAY,CAAA;IACxB,MAAM,MAAM,GACR,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,QAAQ,EAAE,MAAM,IAAI,SAAS,CAAA;IACrD,MAAM,UAAU,GAAG,IAAA,sBAAa,EAAC,KAAK,CAAC,CAAA;IACvC,MAAM,MAAM,GACR,GAAG,EAAE,QAAQ,EAAE,IAAI,IAAI,OAAO,GAAG,CAAC,QAAQ,CAAC,IAAI,KAAK,QAAQ;QACxD,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;QACjC,CAAC,CAAC,EAAE,CAAA;IACZ,MAAM,OAAO,GAAG,IAAI,KAAK,KAAK,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,GACjE,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC,CAAC,CAAC,EAC7B,GAAG,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAA;IAElE,OAAO,IAAI,qBAAY,CAAC,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAA;AAC1E,CAAC"}
@@ -1,11 +1,25 @@
1
1
  import { AudioResult, Backend, SpeakerBase } from '../types';
2
- import { AdapterContext, SynthesizeRequest, VitsAdapter } from './base';
2
+ import { AdapterContext, SynthesizeRequest, SpeakerProbe, VitsAdapter } from './base';
3
+ import { ErrorClass } from '../types';
3
4
  export declare class VitsSimpleApiAdapter extends VitsAdapter {
4
5
  readonly type: "vits-simple-api";
5
6
  readonly autoPull = true;
6
7
  constructor(ctx: AdapterContext);
7
8
  synthesize(request: SynthesizeRequest): Promise<AudioResult>;
9
+ /** 基础地址容错:去掉尾部斜杠,以及误填的 `/voice` 后缀 */
10
+ protected url(base: string, path: string): string;
8
11
  getSpeakers(backend: Backend): Promise<SpeakerBase[]>;
12
+ /** 诊断用:带 URL / 状态 / 原始响应片段 */
13
+ probeSpeakers(backend: Backend): Promise<SpeakerProbe>;
14
+ private fetchSpeakers;
9
15
  private buildHeaders;
10
16
  private buildPayload;
11
17
  }
18
+ /**
19
+ * 解析 `/voice/speakers` 的返回。标准形状是
20
+ * `{"VITS":[{"id":0,"name":"x","lang":["zh"]}], "HUBERT-VITS":[…]}`,
21
+ * 同时兼容数组、`{data:[…]}`、`{speakers:[…]}`、以 id 为键的对象等写法。
22
+ */
23
+ export declare function parseSpeakersResponse(response: unknown): SpeakerBase[];
24
+ /** 把常见失败翻译成一句可操作的提示 */
25
+ export declare function speakersErrorHint(status?: number, errorClass?: ErrorClass): string | undefined;
@@ -4,6 +4,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.VitsSimpleApiAdapter = void 0;
7
+ exports.parseSpeakersResponse = parseSpeakersResponse;
8
+ exports.speakersErrorHint = speakersErrorHint;
7
9
  const promises_1 = __importDefault(require("node:fs/promises"));
8
10
  const node_path_1 = __importDefault(require("node:path"));
9
11
  const base_1 = require("./base");
@@ -102,31 +104,97 @@ class VitsSimpleApiAdapter extends base_1.VitsAdapter {
102
104
  throw (0, base_1.wrapError)(error, 'vits-simple-api');
103
105
  }
104
106
  }
107
+ /** 基础地址容错:去掉尾部斜杠,以及误填的 `/voice` 后缀 */
108
+ url(base, path) {
109
+ const cleaned = String(base ?? '')
110
+ .trim()
111
+ .replace(/\/+$/, '')
112
+ .replace(/\/voice$/i, '');
113
+ return `${cleaned}${path}`;
114
+ }
105
115
  async getSpeakers(backend) {
106
116
  const simple = backend;
107
117
  const configured = simple.speakers ?? [];
108
118
  if (simple.autoPullSpeaker === false)
109
119
  return configured;
110
120
  // 失败不吞:抛给 Pipeline,由它标记「讲者列表未拉全」并后台重试
121
+ const { response } = await this.fetchSpeakers(simple);
122
+ return [...configured, ...parseSpeakersResponse(response)];
123
+ }
124
+ /** 诊断用:带 URL / 状态 / 原始响应片段 */
125
+ async probeSpeakers(backend) {
126
+ const simple = backend;
127
+ const label = simple.label ?? simple.type;
128
+ const configured = simple.speakers ?? [];
129
+ const started = Date.now();
130
+ if (simple.autoPullSpeaker === false) {
131
+ return {
132
+ label,
133
+ type: simple.type,
134
+ requested: false,
135
+ ok: configured.length > 0,
136
+ ms: 0,
137
+ count: configured.length,
138
+ sample: configured.slice(0, 5).map((item) => item.name),
139
+ hint: 'autoPullSpeaker=false:只用配置里写死的讲者'
140
+ };
141
+ }
111
142
  const url = this.url(simple.url, '/voice/speakers');
112
- const response = (await this.ctx.http.get(url, {
113
- headers: this.buildHeaders(simple),
114
- timeout: simple.timeout ?? 15000
115
- }));
116
- const pulled = [];
117
- for (const [type, list] of Object.entries(response ?? {})) {
118
- if (type === 'HUBERT-VITS' || !Array.isArray(list))
119
- continue;
120
- for (const item of list) {
121
- pulled.push({
122
- name: item.name,
123
- id: item.id,
124
- type,
125
- languages: (item.languages ?? item.lang ?? []).map((lang) => String(lang).toUpperCase())
126
- });
127
- }
143
+ try {
144
+ const response = await this.ctx.http.get(url, {
145
+ headers: this.buildHeaders(simple),
146
+ timeout: simple.timeout ?? 15000
147
+ });
148
+ const pulled = parseSpeakersResponse(response);
149
+ const all = [...configured, ...pulled];
150
+ return {
151
+ label,
152
+ type: simple.type,
153
+ requested: true,
154
+ url,
155
+ ok: true,
156
+ status: 200,
157
+ ms: Date.now() - started,
158
+ count: all.length,
159
+ sample: all.slice(0, 5).map((item) => item.name),
160
+ hint: pulled.length === 0
161
+ ? '接口通了但讲者列表为空:确认后端已加载模型'
162
+ : undefined
163
+ };
164
+ }
165
+ catch (error) {
166
+ const status = error?.status ?? error?.response?.status;
167
+ const errorClass = (0, errors_1.classifyError)(error);
168
+ const raw = error?.response?.data;
169
+ const body = typeof raw === 'string' ? raw.slice(0, 200) : undefined;
170
+ return {
171
+ label,
172
+ type: simple.type,
173
+ requested: true,
174
+ url,
175
+ ok: false,
176
+ status,
177
+ ms: Date.now() - started,
178
+ count: 0,
179
+ error: `${errorClass}${status ? ` ${status}` : ''}: ${error?.message ?? error}${body ? ` · body: ${body}` : ''}`,
180
+ hint: speakersErrorHint(status, errorClass)
181
+ };
182
+ }
183
+ }
184
+ async fetchSpeakers(backend) {
185
+ const url = this.url(backend.url, '/voice/speakers');
186
+ try {
187
+ const response = await this.ctx.http.get(url, {
188
+ headers: this.buildHeaders(backend),
189
+ timeout: backend.timeout ?? 15000
190
+ });
191
+ return { url, response };
192
+ }
193
+ catch (error) {
194
+ const wrapped = (0, base_1.wrapError)(error, 'vits-simple-api:speakers');
195
+ wrapped.url = url;
196
+ throw wrapped;
128
197
  }
129
- return [...configured, ...pulled];
130
198
  }
131
199
  buildHeaders(backend) {
132
200
  const headers = this.headers(backend);
@@ -164,4 +232,88 @@ class VitsSimpleApiAdapter extends base_1.VitsAdapter {
164
232
  }
165
233
  }
166
234
  exports.VitsSimpleApiAdapter = VitsSimpleApiAdapter;
235
+ /**
236
+ * 解析 `/voice/speakers` 的返回。标准形状是
237
+ * `{"VITS":[{"id":0,"name":"x","lang":["zh"]}], "HUBERT-VITS":[…]}`,
238
+ * 同时兼容数组、`{data:[…]}`、`{speakers:[…]}`、以 id 为键的对象等写法。
239
+ */
240
+ function parseSpeakersResponse(response) {
241
+ const result = [];
242
+ const push = (item, type) => {
243
+ if (!item || typeof item !== 'object')
244
+ return;
245
+ const name = item.name ?? item.speaker_name ?? item.speaker ?? item.id;
246
+ if (name == null)
247
+ return;
248
+ const speaker = {
249
+ ...item,
250
+ name: String(name),
251
+ languages: readLanguages(item)
252
+ };
253
+ if (type)
254
+ speaker.type = type;
255
+ result.push(speaker);
256
+ };
257
+ const pushList = (list, type) => {
258
+ if (Array.isArray(list)) {
259
+ for (const item of list)
260
+ push(item, type);
261
+ return;
262
+ }
263
+ if (list && typeof list === 'object') {
264
+ for (const item of Object.values(list)) {
265
+ push(item, type);
266
+ }
267
+ }
268
+ };
269
+ if (Array.isArray(response)) {
270
+ pushList(response);
271
+ return result;
272
+ }
273
+ if (!response || typeof response !== 'object')
274
+ return result;
275
+ const root = response;
276
+ if (root.data != null)
277
+ return (pushList(root.data), result);
278
+ if (root.speakers != null)
279
+ return (pushList(root.speakers), result);
280
+ for (const [type, value] of Object.entries(root)) {
281
+ // HUBERT-VITS 的接口是 /voice/hubert-vits,本插件不接,直接跳过
282
+ if (type === 'HUBERT-VITS')
283
+ continue;
284
+ if (!Array.isArray(value) && (!value || typeof value !== 'object')) {
285
+ continue;
286
+ }
287
+ pushList(value, type);
288
+ }
289
+ return result;
290
+ }
291
+ function readLanguages(item) {
292
+ const raw = item.languages ?? item.lang ?? item.language;
293
+ if (raw == null)
294
+ return [];
295
+ const list = Array.isArray(raw) ? raw : [raw];
296
+ return list
297
+ .map((value) => String(value).toUpperCase())
298
+ .filter((value) => value.length > 0);
299
+ }
300
+ /** 把常见失败翻译成一句可操作的提示 */
301
+ function speakersErrorHint(status, errorClass) {
302
+ if (status === 404) {
303
+ return '404:确认 url 是 vits-simple-api 根地址(别带 /voice),且版本支持 /voice/speakers';
304
+ }
305
+ if (status === 401 || status === 403) {
306
+ return '鉴权失败:检查 apiKey,或 username / password';
307
+ }
308
+ if (errorClass === 'CONNECT') {
309
+ return '连不上:确认后端已启动、地址与端口正确、防火墙放行';
310
+ }
311
+ if (errorClass === 'TIMEOUT') {
312
+ return '超时:后端可能在加载模型,稍后再试';
313
+ }
314
+ if (errorClass === 'SERVER') {
315
+ return '后端 5xx:看后端日志';
316
+ }
317
+ return '返回不是预期的讲者格式,可对照 /voice/speakers 的原始内容';
318
+ }
167
319
  //# sourceMappingURL=vits-simple-api.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"vits-simple-api.js","sourceRoot":"","sources":["../../src/adapters/vits-simple-api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vits-simple-api.js","sourceRoot":"","sources":["../../src/adapters/vits-simple-api.ts"],"names":[],"mappings":"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"}
@@ -25,7 +25,7 @@ function registerTts(ctx, service) {
25
25
  return [
26
26
  `未知操作:${action}`,
27
27
  '可用:tts / tts on / tts off',
28
- '   tts speakers / tts reload / tts debug <text> / tts reset [后端]'
28
+ '   tts speakers / tts reload / tts probe / tts debug <text> / tts reset [后端]'
29
29
  ].join('\n');
30
30
  });
31
31
  ctx.command('tts.speakers', '列出可用讲者', {
@@ -34,8 +34,9 @@ function registerTts(ctx, service) {
34
34
  const voices = await service.pipeline.refreshVoices();
35
35
  if (voices.length === 0) {
36
36
  return [
37
- '没有可用讲者:后端可能还没启动,或讲者配置为空。',
38
- '已开启后台自动重试(5s 起、最多 2 分钟一次),也可以稍后发 tts reload 立即重试。'
37
+ service.pipeline.needsRefresh()
38
+ ? '没有可用讲者:后端可能还没启动,后台正在自动重试;发 tts probe 可看具体原因。'
39
+ : '没有配置任何讲者:后端未启用自动拉取(autoPullSpeaker=false),或 speakers 为空。'
39
40
  ].join('\n');
40
41
  }
41
42
  const rows = voices.map((voice) => `[${voice.id}] ${voice.key}(${voice.backend.type})`);
@@ -46,13 +47,49 @@ function registerTts(ctx, service) {
46
47
  }).action(async () => {
47
48
  const voices = await service.pipeline.refreshVoices();
48
49
  if (voices.length === 0) {
49
- return '还是没有拉到讲者:确认后端已启动、`url` 与鉴权配置正确。';
50
+ return service.pipeline.needsRefresh()
51
+ ? '还是没有拉到讲者:发 tts probe 看具体 URL / 状态码 / 错误,再检查后端是否已启动。'
52
+ : '没有配置任何讲者:后端未启用自动拉取(autoPullSpeaker=false),或 speakers 为空。';
50
53
  }
51
54
  const hint = service.pipeline.needsRefresh()
52
- ? '(部分后端仍未拉全)'
55
+ ? '(部分后端仍未拉全,可发 tts probe 看原因)'
53
56
  : '';
54
57
  return `已重新拉取:${voices.length} 个讲者${hint}。`;
55
58
  });
59
+ ctx.command('tts.probe [backend:string]', '诊断讲者拉取(打印 URL / 状态码 / 原始错误)', {
60
+ authority: AUTHORITY
61
+ }).action(async (_, backend) => {
62
+ const probes = await service.pipeline.probe(backend);
63
+ if (probes.length === 0) {
64
+ return '没有匹配的后端(检查 label 或后端是否已启用)。';
65
+ }
66
+ const rows = [`讲者探测(${probes.length} 个后端)`];
67
+ for (const probe of probes) {
68
+ rows.push(`· ${probe.label}(${probe.type})`);
69
+ if (!probe.requested) {
70
+ rows.push(` 未请求:autoPullSpeaker=false · 配置讲者 ${probe.count} 个`);
71
+ if (probe.hint)
72
+ rows.push(` 提示:${probe.hint}`);
73
+ continue;
74
+ }
75
+ if (probe.url)
76
+ rows.push(` URL:${probe.url}`);
77
+ if (probe.ok) {
78
+ const sample = probe.sample?.length
79
+ ? `:${probe.sample.join('、')}`
80
+ : '';
81
+ rows.push(` 成功 · ${probe.status ?? 200} · ${probe.ms}ms · 讲者 ${probe.count} 个${sample}`);
82
+ }
83
+ else {
84
+ rows.push(` 失败 · ${probe.ms}ms`);
85
+ if (probe.error)
86
+ rows.push(` 错误:${truncate(probe.error, 200)}`);
87
+ }
88
+ if (probe.hint)
89
+ rows.push(` 提示:${probe.hint}`);
90
+ }
91
+ return rows.join('\n');
92
+ });
56
93
  ctx.command('tts.debug <text:text>', '查看归一化/切片/决策结果(不发请求)', {
57
94
  authority: AUTHORITY
58
95
  }).action(async (_, text) => {
@@ -90,7 +127,9 @@ async function formatStatus(service) {
90
127
  `讲者总数:${voices.length}`
91
128
  ];
92
129
  if (voices.length === 0) {
93
- rows.push('讲者列表为空:后端可能还没启动,后台正在自动重试(tts reload 可立即重试)。');
130
+ rows.push(service.pipeline.needsRefresh()
131
+ ? '讲者列表为空:后端可能还没启动,后台正在自动重试(tts probe 看原因 / tts reload 立即重试)。'
132
+ : '没有配置任何讲者:后端未启用自动拉取,或 speakers 为空。');
94
133
  }
95
134
  else if (service.pipeline.needsRefresh()) {
96
135
  rows.push('部分后端的讲者还没拉全,后台正在自动重试(tts reload 可立即重试)。');
@@ -1 +1 @@
1
- {"version":3,"file":"tts.js","sourceRoot":"","sources":["../../src/commands/tts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tts.js","sourceRoot":"","sources":["../../src/commands/tts.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ import { Config } from '../config';
4
4
  import { Estimator } from './estimator';
5
5
  import { Breaker } from './breaker';
6
6
  import { NoticeThrottle } from './notice';
7
+ import { SpeakerProbe } from '../adapters/base';
7
8
  export interface PipelineDeps {
8
9
  http: HttpClient;
9
10
  logger: LoggerLike;
@@ -107,6 +108,11 @@ export declare class Pipeline {
107
108
  private scopeKey;
108
109
  status(): Promise<BackendStatus[]>;
109
110
  private estimateSuggestedTimeout;
111
+ /**
112
+ * `tts probe`:对每个后端真实跑一次讲者探测,把 URL / 状态 / 错误带回来。
113
+ * 只诊断,不改缓存(刷新请用 `tts reload`)。
114
+ */
115
+ probe(label?: string): Promise<SpeakerProbe[]>;
110
116
  /**
111
117
  * 长度阶梯基准:每档重复 N 次取中位,结果写回 estimator,
112
118
  * 下一条真实消息立刻用新参数算超时。
@@ -87,7 +87,7 @@ class Pipeline {
87
87
  }
88
88
  /** 讲者列表是否还没拉全(给后台重试与状态提示用) */
89
89
  needsRefresh() {
90
- return !this.voicesLoaded || this.voicesStale || this.voices.length === 0;
90
+ return !this.voicesLoaded || this.voicesStale;
91
91
  }
92
92
  /**
93
93
  * 用户显式触发的刷新(`tts reload` / `tts speakers` / 后台重试循环):
@@ -161,7 +161,7 @@ class Pipeline {
161
161
  });
162
162
  this.voices = list;
163
163
  this.voicesLoaded = true;
164
- this.voicesStale = stale || (list.length === 0 && backends.length > 0);
164
+ this.voicesStale = stale;
165
165
  this.lastLoadAt = this.now();
166
166
  }
167
167
  /** 按 id / 完整 key / 讲者名 / 默认讲者 解析出实际讲者 */
@@ -443,6 +443,24 @@ class Pipeline {
443
443
  const estimate = this.estimator.estimateMs(this.backendKey(backend), chars);
444
444
  return Math.round(Math.min(timeout.max, Math.max(timeout.min, timeout.overhead + timeout.factor * estimate)));
445
445
  }
446
+ /**
447
+ * `tts probe`:对每个后端真实跑一次讲者探测,把 URL / 状态 / 错误带回来。
448
+ * 只诊断,不改缓存(刷新请用 `tts reload`)。
449
+ */
450
+ async probe(label) {
451
+ const backends = this.deps.backends().filter((backend) => backend.enabled !== false &&
452
+ (label == null ||
453
+ (backend.label ?? backend.type) === label ||
454
+ backend.type === label));
455
+ const results = [];
456
+ for (const backend of backends) {
457
+ const adapter = this.adapters[backend.type];
458
+ if (!adapter)
459
+ continue;
460
+ results.push(await adapter.probeSpeakers(backend));
461
+ }
462
+ return results;
463
+ }
446
464
  /**
447
465
  * 长度阶梯基准:每档重复 N 次取中位,结果写回 estimator,
448
466
  * 下一条真实消息立刻用新参数算超时。
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../src/core/pipeline.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../src/core/pipeline.ts"],"names":[],"mappings":"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"}
package/lib/index.js CHANGED
@@ -52,9 +52,10 @@ function apply(ctx, config) {
52
52
  maxDelay: 120000,
53
53
  attempt: async () => {
54
54
  const voices = await service.pipeline.refreshVoices();
55
- if (voices.length > 0 &&
56
- !service.pipeline.needsRefresh()) {
57
- logger.info(`讲者列表已就绪:${voices.length} 个`);
55
+ if (!service.pipeline.needsRefresh()) {
56
+ logger.info(voices.length > 0
57
+ ? `讲者列表已就绪:${voices.length} 个`
58
+ : '没有配置任何讲者(后端未启用自动拉取,或 speakers 为空)');
58
59
  return true;
59
60
  }
60
61
  return false;
package/lib/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":";;;;;;;;;;;;;;;;;AAsBA,sBAiDC;AAtED,qCAA6C;AAC7C,yCAAmC;AACnC,qCAAuC;AAQ9B,uFARA,eAAM,OAQA;AAAE,qFARA,aAAI,OAQA;AAPrB,uCAA0C;AAE1C,wDAAwD;AACxD,4CAA4C;AAC5C,yCAA6C;AAC7C,0CAAsD;AAGtD,0CAAuB;AACvB,qCAA0C;AAAjC,yGAAA,cAAc,OAAA;AACvB,4CAA0C;AAAjC,oGAAA,QAAQ,OAAA;AACjB,wCAA8D;AAArD,0GAAA,gBAAgB,OAAA;AAAE,sGAAA,YAAY,OAAA;AAE1B,QAAA,MAAM,GAAG;IAClB,QAAQ,EAAE,CAAC,MAAM,CAAC;IAClB,QAAQ,EAAE,CAAC,YAAY,EAAE,UAAU,CAAC;CACvC,CAAA;AAED,SAAgB,KAAK,CAAC,GAAY,EAAE,MAAc;IAC9C,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;IAE1B,GAAG,CAAC,MAAM,CAAC,wBAAc,EAAE,MAAM,CAAC,CAAA;IAElC,GAAG,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE;QACzB,MAAM,OAAO,GAAG,GAAG,CAAC,IAAiC,CAAA;QACrD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;QAEpC,sCAAsC;QACtC,2BAA2B;QAC3B,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YACjB,MAAM,IAAI,GAAG,IAAI,qBAAW,CAAC;gBACzB,YAAY,EAAE,IAAI;gBAClB,QAAQ,EAAE,MAAM;gBAChB,OAAO,EAAE,KAAK,IAAI,EAAE;oBAChB,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAA;oBACrD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,EAAE,EAAE,CAAC;wBACnC,MAAM,CAAC,IAAI,CACP,MAAM,CAAC,MAAM,GAAG,CAAC;4BACb,CAAC,CAAC,WAAW,MAAM,CAAC,MAAM,IAAI;4BAC9B,CAAC,CAAC,mCAAmC,CAC5C,CAAA;wBACD,OAAO,IAAI,CAAA;oBACf,CAAC;oBACD,OAAO,KAAK,CAAA;gBAChB,CAAC;gBACD,QAAQ,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC;gBACtD,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;oBACf,MAAM,CAAC,IAAI,CACP,0BAA0B,IAAI,CAAC,KAAK,CAChC,KAAK,GAAG,IAAI,CACf,OAAO,CACX,CAAA;gBACL,CAAC;gBACD,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;oBACf,MAAM,CAAC,IAAI,CACP,UAAW,KAAe,EAAE,OAAO,IAAI,KAAK,EAAE,CACjD,CAAA;gBACL,CAAC;aACJ,CAAC,CAAA;YAEF,IAAI,CAAC,KAAK,EAAE,CAAA;YACZ,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;QACvC,CAAC,CAAC,CAAA;QAEF,IAAA,2BAAgB,EAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;QACtC,IAAA,2BAAoB,EAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;IAC9C,CAAC,CAAC,CAAA;AACN,CAAC;AAED;;;GAGG;AACH,SAAS,aAAa,CAAC,GAAY,EAAE,MAAc;IAC/C,IAAI,MAAM,CAAC,cAAc,KAAK,MAAM;QAAE,OAAM;IAE5C,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;IACpC,MAAM,QAAQ,GAAG,IAAA,mBAAO,EAAC,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,YAAY,CAAC,CAAA;IAE3E,MAAM,IAAI,GAAG,GAAqB,EAAE;QAChC,IAAI,CAAC;YACD,OAAO,IAAA,iCAAiB,EAAC,IAAA,sBAAY,EAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAA;QAC5D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,CAAC,IAAI,CACP,MAAM,QAAQ,kBACT,KAAe,EAAE,OAAO,IAAI,KACjC,EAAE,CACL,CAAA;YACD,OAAO,IAAI,CAAA;QACf,CAAC;IACL,CAAC,CAAA;IAED,MAAM,OAAO,GAAG,IAAI,EAAE,CAAA;IACtB,IAAI,OAAO;QAAE,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAA;IAEtC,IAAI,CAAC;QACD,MAAM,OAAO,GAAG,IAAA,eAAK,EAAC,QAAQ,EAAE,GAAG,EAAE;YACjC,MAAM,MAAM,GAAG,GAAG,CAAC,UAAU,CAAC,GAAG,EAAE;gBAC/B,MAAM,IAAI,GAAG,IAAI,EAAE,CAAA;gBACnB,IAAI,CAAC,IAAI;oBAAE,OAAM;gBACjB,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAA;gBACtB,MAAM,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,MAAM,KAAK,CAAC,CAAA;gBACzC,MAAM,OAAO,GAAI,GAA4C,CAAC,IAAI,CAAA;gBAClE,KAAK,OAAO,EAAE,QAAQ,CAAC,aAAa,EAAE,CAAA;YAC1C,CAAC,EAAE,GAAG,CAAC,CAAA;YACP,KAAK,MAAM,CAAA;QACf,CAAC,CAAC,CAAA;QAEF,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAA;IAC3C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,MAAM,CAAC,IAAI,CACP,QAAQ,QAAQ,cACX,KAAe,EAAE,OAAO,IAAI,KACjC,EAAE,CACL,CAAA;IACL,CAAC;AACL,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "koishi-plugin-local-vitspro",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
4
4
  "description": "多后端 TTS 聚合插件:自动解包 chatluna 消息、长文本切片与音频拼接、按实测推理速度自适应超时与熔断,支持 vits-simple-api / GPT-SoVITS / fish-audio / QQ 声聊",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",
@@ -89,3 +89,5 @@
89
89
  }
90
90
  }
91
91
 
92
+
93
+
package/readme.md CHANGED
@@ -1,24 +1,78 @@
1
1
  # koishi-plugin-local-vitspro
2
2
 
3
- > 仓库:[github.com/bigxingyun/koishi-plugin-local-vitspro](https://github.com/bigxingyun/koishi-plugin-local-vitspro) · 问题反馈:[Issues](https://github.com/bigxingyun/koishi-plugin-local-vitspro/issues)
3
+ [![npm](https://img.shields.io/npm/v/koishi-plugin-local-vitspro)](https://www.npmjs.com/package/koishi-plugin-local-vitspro)
4
+ [![downloads](https://img.shields.io/npm/dm/koishi-plugin-local-vitspro)](https://www.npmjs.com/package/koishi-plugin-local-vitspro)
5
+ [![license](https://img.shields.io/npm/l/koishi-plugin-local-vitspro)](https://github.com/bigxingyun/koishi-plugin-local-vitspro/blob/main/LICENSE)
6
+ [![stars](https://img.shields.io/github/stars/bigxingyun/koishi-plugin-local-vitspro)](https://github.com/bigxingyun/koishi-plugin-local-vitspro)
4
7
 
5
- 多后端 TTS 聚合插件,针对 [koishi-plugin-local-vits](https://github.com/SilverWolfHoney/koishi-plugin-local-vits)(luna-vits 的本地化改版)的三个已知问题重写:
8
+ Koishi 的多后端 TTS 聚合插件。把 `vits-simple-api`、`GPT-SoVITS v2`、`fish-audio`、`QQ 声聊` 收进同一个 `vits` 服务,供 [chatluna](https://github.com/ChatLunaLab/chatluna)、[chatluna-character](https://github.com/ChatLunaLab/chatluna-character) 直接调用。
6
9
 
7
- 1. **序列化格式被当成正文**:chatluna / chatluna-character 传进来的 `<message><voice>…</voice></message>` 会被正确解包,长句能整条出语音;
8
- 2. **熔断不合理**:按「后端实测推理速度 × 本次文本长度」计算超时,失败后有限退避 + 半开探测,每次降级都有提示;
9
- 3. **长文本直接推理**:插件层切片(中文逗号 / 中文句号 / 英文逗号 / 英文句号 / 不切),再把音频拼回一条。
10
+ 它重点解决三件事:
10
11
 
11
- 支持后端:`vits-simple-api`、`GPT-SoVITS v2`(`/tts` API)、`fish-audio`、`QQ 声聊`。gradio 暂不支持。
12
+ - **长句不被序列化格式切碎**——chatluna 传来的 `<message><voice>…</voice></message>` 会被解包成纯文本,整段合成;
13
+ - **超时按后端真实速度算**——用基准测速拟合「字数 → 耗时」,不同后端、不同文本长度给不同预算,而不是拍一个固定 60 秒;
14
+ - **后端抽风时快速降级**——有限退避 + 半开探测,降级有提示、可查状态,不会把 bot 卡住。
12
15
 
13
- 一句话简介:让 chatluna 的长回复能整条念出来,并且在后端抽风时快速降级而不是把 bot 卡住。
16
+ ## 工作机制
17
+
18
+ ### 1. 输入归一化
19
+
20
+ ```
21
+ <output><message quote="123"><voice id="1">今天天气不错…</voice></message></output>
22
+ │ 解包容器 / 反转义 / 去 Markdown / 去元素 / 去 emoji
23
+ ▼
24
+ 今天天气不错…
25
+ ```
26
+
27
+ `<voice id>` 会作为讲者提示;二次序列化的 `&lt;message&gt;` 也能还原。
28
+
29
+ ### 2. 长文本切片
30
+
31
+ 整段不超过 `split.maxSegmentChars`(默认 120)就不切;超过才在窗口内找**最后一个句末标点**切开:
32
+
33
+ - 支持 `zh_period`(中文句号)/ `zh_comma`(中文逗号)/ `en_period`(英文句号)/ `en_comma`(英文逗号)/ `none`(不切);
34
+ - 引号、括号、URL、小数、英文缩写内部不切;
35
+ - 过短的段并入相邻段,段数超过上限时合并尾段。
36
+
37
+ ### 3. 音频聚合
38
+
39
+ 多段合成后,若都是**同参数 PCM WAV**,直接拼接成一条语音;参数不一致(或 mp3 等格式)时降级为多段发送,首段作为回复、其余用 `session.send()` 补发。
40
+
41
+ ### 4. 自适应超时
42
+
43
+ `vitsbench` 按长度阶梯(默认 6 / 12 / 24 字)实测后端,最小二乘拟合:
44
+
45
+ ```
46
+ 估算耗时 = a + b × 字数
47
+ 超时 = clamp(overhead + factor × 估算耗时, min, max)
48
+ ```
49
+
50
+ 拟合结果写回内存,下一条消息立即生效。也可以用 `timeout.mode = manual` 固定超时,两者是并列模式。
51
+
52
+ ### 5. 熔断与降级
53
+
54
+ 每个后端一份状态机:连续失败到阈值进入 `open`,冷却后只放一个探测请求(`half-open`),成功即恢复。
55
+
56
+ - `AUTH`(401/403)一次即永久熔断,`tts on` 或改配置才恢复;
57
+ - `BAD_REQUEST`(400/422)不熔断,只降级并记日志;
58
+ - 降级提示按原因 10 分钟节流;
59
+ - 工具路径(chatluna-character)抛 `VitsDegradeError` 让调用方用解析好的文字兜底;服务路径(chatluna 渲染器)直接回纯文本,避免整条回复被 `middleware_error` 吃掉。
14
60
 
15
61
  ## 安装
16
62
 
63
+ 在 Koishi 控制台的「插件市场」搜索 `local-vitspro` 安装,或:
64
+
17
65
  ```bash
18
66
  npm i koishi-plugin-local-vitspro
19
67
  ```
20
68
 
21
- 在 `koishi.yml` 里启用:
69
+ 升级:
70
+
71
+ ```bash
72
+ npm update koishi-plugin-local-vitspro
73
+ ```
74
+
75
+ ### 最小配置
22
76
 
23
77
  ```yaml
24
78
  plugins:
@@ -28,6 +82,7 @@ plugins:
28
82
  - type: vits-simple-api
29
83
  label: 本地
30
84
  url: http://127.0.0.1:23456
85
+ autoPullSpeaker: true
31
86
  speakers:
32
87
  - name: 测试
33
88
  id: 0
@@ -35,130 +90,77 @@ plugins:
35
90
  languages: [ZH]
36
91
  ```
37
92
 
38
- 插件实现 `@initencounter/vits` 的 `vits` 服务,chatluna 与 chatluna-character 不需要改任何配置。
39
-
40
- ## 配置
93
+ 配好后发 `tts speakers` 确认讲者,再发 `vitsbench` 让超时模型吃到真实速度。
41
94
 
42
- 配置全部是 Koishi Schema,控制台里可以直接改。几个关键点:
95
+ ## 支持的后端
43
96
 
44
- | 配置 | 默认 | 说明 |
45
- | --- | --- | --- |
46
- | `defaultSpeaker` | 空 | 不指定讲者时用谁;`tts speakers` 可查完整 key |
47
- | `backends[]` | `[]` | 后端列表,`type` 决定字段(见下) |
48
- | `split.mode` | `zh_period` | 切片模式:`none` / `zh_period` / `zh_comma` / `en_period` / `en_comma` |
49
- | `split.maxSegmentChars` | `120` | 单段上限;整段文本低于该值时不会切 |
50
- | `aggregate.type` | `auto` | `auto` 能拼就拼(WAV 同参数),否则多段发送 |
51
- | `timeout.mode` | `auto` | `auto` 按测速模型算超时;`manual` 用固定 `timeout.manual` |
52
- | `breaker.mode` | `auto` | `auto` 退避 + 半开;`manual` 固定冷却;`off` 永不熔断 |
53
- | `degrade.tool` | `error` | 工具路径(character)降级时抛错,让它用解析好的文字兜底 |
54
- | `degrade.service` | `text` | chatluna 渲染器路径降级时回文字(抛错会丢掉整条回复) |
55
- | `toolCall.minChars` / `maxChars` | `2` / `300` | 工具调用低于/高于该字数不合成 |
56
-
57
- **后端字段速查**
58
-
59
- | 后端 | 必填 | 常用 |
97
+ | 后端 | 必填 | 说明 |
60
98
  | --- | --- | --- |
61
- | `vits-simple-api` | `url` | `apiKey`(X-API-KEY)、`username`/`password`(Basic Auth)、`autoPullSpeaker` |
62
- | `GPT-SoVITS2` | `url` | `config.*` 全局请求参数;讲者里可写 `gpt_weights`/`sovits_weights`/`ref_audio_path`/`prompt_text` |
63
- | `fish-audio` | `apiKey` | `baseUrl`、讲者 `reference_id` |
64
- | `qq-voice` | `accountId` | 讲者 `characterId`;只能群聊,走 OneBot |
65
-
66
- 讲者条目允许写任意额外字段:vits-simple-api 的 `noise` / `noise_w` / `length` / `sdp_ratio` / `preset` / `prompt_lang` / `reference_audio`,GPT-SoVITS 的 `speed` / `top_k` / `temperature` 等都会被透传。
67
-
68
- ### 文件模式
69
-
70
- 后端多、想直接改文本时,可以设 `backendsSource: file`,插件会读 `backendsFile`(默认 `data/local-vitspro/config.yml`)并在文件变化后热更新。文件结构就是 `backends[]` 的 YAML 数组。
71
-
72
- > 文件模式只读自己的路径,**不会**读取旧插件(luna-vits / local-vits)的 `data/local-vits/`,也不提供旧配置迁移。
73
-
74
- ## 启动顺序(后端比 Koishi 启动慢)
99
+ | `vits-simple-api` | `url` | 支持 `X-API-KEY`、HTTP Basic Auth、自动拉取讲者(`/voice/speakers`) |
100
+ | `GPT-SoVITS2` | `url` | `/tts` v2 接口,按需切换 GPT / SoVITS 底模 |
101
+ | `fish-audio` | `apiKey` | 云端服务,按 `reference_id` 选音色 |
102
+ | `qq-voice` | `accountId` | QQ 声聊,仅群聊,依赖 OneBot |
75
103
 
76
- TTS 后端经常比 Koishi 晚几十秒才监听端口,所以:
77
-
78
- - 插件加载时会拉一次讲者;**拉不到不会把空列表当成成功**,而是标记为「未拉全」;
79
- - 之后按 5s → 9s → 16s… 指数退避在后台重试,最长 2 分钟一次,拉到即停;
80
- - 讲者列表还有 60s 的 TTL:后端新增了讲者,最多一分钟后自动生效;
81
- - 真实消息进来时如果还没有讲者,会先强制刷新一次(5s 冷却),仍拿不到才降级为文字;
82
- - 手动补拉:`tts reload` / `tts speakers`(`authority: 3`)。
83
-
84
- 日志里会看到 `讲者列表还没拉全(TTS 后端可能尚未启动),N 秒后重试`,后端起来后变成 `讲者列表已就绪:N 个`。
104
+ 讲者条目可以写任意额外参数(`noise`、`noise_w`、`length`、`sdp_ratio`、`preset`、`prompt_text`、`speed` 等),会透传给对应后端。
85
105
 
86
106
  ## 指令
87
107
 
88
108
  | 指令 | 说明 | 权限 |
89
109
  | --- | --- | --- |
90
- | `vitspro <text>`(别名 `lunavits`) | 合成语音,`-s <讲者名或 id>` | 1 |
91
- | `vitsbench [backend]` | 基准测速,`-n` 每档次数、`-s` 讲者、`-r` 清样本、`-f` 清熔断 | 3 |
110
+ | `vitspro <text>`(别名 `lunavits`) | 合成语音,`-s` 指定讲者 | 1 |
111
+ | `vitsbench [backend]` | 基准测速并写回超时模型,`-n` 次数、`-s` 讲者、`-r` 清样本、`-f` 清熔断 | 3 |
92
112
  | `tts` | 状态:后端、讲者数、拟合参数、熔断、建议超时 | 3 |
93
- | `tts on` / `tts off` / `tts 开` / `tts 关` | 开启并清熔断 / 临时关闭语音 | 3 |
113
+ | `tts on` / `tts off` | 开启并清熔断 / 临时关闭语音 | 3 |
94
114
  | `tts speakers` | 讲者列表(含 `id`),会强制重新拉取 | 3 |
95
- | `tts reload` | 立即重新拉取讲者列表(后端刚启动时用) | 3 |
96
- | `tts debug <text>` | 打印归一化、切片、决策与超时,**不发请求** | 3 |
115
+ | `tts reload` | 立即重新拉取讲者列表 | 3 |
116
+ | `tts probe [backend]` | 诊断讲者拉取:打印最终 URL、状态码、耗时、原始错误与建议 | 3 |
117
+ | `tts debug <text>` | 打印归一化、切片、决策与超时,不发请求 | 3 |
97
118
  | `tts reset [backend]` | 清空测速样本与熔断状态 | 3 |
98
119
 
99
- ## 测速与熔断
120
+ ## 与 chatluna 配合
100
121
 
101
- `vitsbench` 会按 `bench.ladder`(默认 6 / 12 / 24 字)逐档合成,取中位耗时,再用最小二乘拟合:
122
+ 插件实现了 `@initencounter/vits` 的 `vits` 服务,chatluna 与 chatluna-character 不需要改动,直接选 `voice` / `mixed-voice` 渲染模式即可。
102
123
 
103
- ```text
104
- 估算耗时 = a + b × 字数
105
- 超时 = clamp(overhead + factor × 估算耗时, min, max)
106
- ```
124
+ 另外可选注册 chatluna 工具 `vits_say`(`chatlunaTool.enabled`),让模型主动把某句话变成语音。依赖全部是可选 peer + 动态 `import`,没装 chatluna 也能正常加载。
107
125
 
108
- 拟合结果写回内存,**下一条真实消息立刻生效**。`ttsbench` 的报告长这样:
126
+ ## 常见问题
109
127
 
110
- ```text
111
- 基准测试:1 个后端,每档 2 次取中位
112
- · 本地
113
-  6 字:1.2s(成功 2 次)
114
-  12 字:1.7s(成功 2 次)
115
-  24 字:2.8s(成功 2 次)
116
-  拟合:a=720ms b=83.0ms/字 · 样本 6 · 建议超时(60字) 10.7s · closed
117
- ```
128
+ **后端比 Koishi 启动慢,讲者列表空着**
118
129
 
119
- 熔断是每后端(可选每讲者)一个状态机:
130
+ 不会。拉取失败会标记为「未拉全」并后台按 5s → 9s → 16s… 退避重试,最长 2 分钟一次;拉到即停,最多一分钟后还会自动刷新。也可以手动 `tts reload`。
120
131
 
121
- - 连续 `failureThreshold` 次失败 → 熔断,冷却后只放一个半开探测;
122
- - `AUTH`(401/403)一次即永久熔断,`tts on` 或改配置才恢复;
123
- - `BAD_REQUEST`(400/422)不熔断,只降级;
124
- - 降级时按 `notice.interval`(默认 10 分钟)给一次中文提示。
132
+ **还是拉不到讲者,是不是协议不对**
125
133
 
126
- ## 切片与聚合
134
+ 先发 `tts probe`,它会打印最终请求的 URL、状态码、耗时和原始错误。对照看:
127
135
 
128
- - 整段文本 ≤ `split.maxSegmentChars` 时不切;超过才按标点在窗口内找最后一句切开;
129
- - 引号 / 括号 / URL / 小数 / 英文缩写内部不切;
130
- - 过短的段并入相邻段,段数超过 `split.maxSegments` 时合并尾段;
131
- - 多段音频:WAV 且参数(编码/声道/采样率/位深)一致才拼接,否则 `aggregate.type=auto` 降级为多段发送(`multi` 时首段作为返回值,其余用 `session.send` 补发)。
136
+ | probe 显示 | 多半是 |
137
+ | --- | --- |
138
+ | `404` | `url` 写成了 `…/voice`(会自动纠正一次)或多了别的路径;也可能这个后端不是 vits-simple-api |
139
+ | `401 / 403` | `apiKey` 或 `username`/`password` 不对 |
140
+ | `CONNECT` | 后端没起、端口不对、防火墙拦了 |
141
+ | `TIMEOUT` | 后端在加载模型,等一会儿再 `tts reload` |
142
+ | `成功 · 0 个` | 接口通了但后端没加载模型,`/voice/speakers` 本身是空的 |
143
+ | `未请求` | 该后端 `autoPullSpeaker=false`,只能用配置里的 `speakers` |
132
144
 
133
- ## 与 chatluna / chatluna-character 配合
145
+ 正常返回长这样:`{"VITS":[{"id":0,"name":"派蒙","lang":["zh"]}], "HUBERT-VITS":[…], "BERT-VITS2":[…], "GPT-SOVITS":[…]}`,本插件也兼容数组、`{data:[…]}`、`{speakers:[…]}` 这几种写法。
134
146
 
135
- - **工具调用路径**(character 的输出 / `character_reply` 工具):输入里带 `<message>` / `<voice>` 标记时一律按工具路径处理;
136
- - 越界(太短 / 太长)或熔断时按 `degrade.tool` 处理,默认抛 `VitsDegradeError`(带 `code` 与已归一化的 `text`)。character 会用它解析好的文字元素兜底,所以用户看到的仍是干净文字;
137
- - **chatluna 核心渲染器路径**(`outputMode = voice`):没有标记、带 `session`,走 `degrade.service`,默认回纯文本——因为这条路径抛错会被 chatluna 的 `_handleMiddlewareError` 接住并替换成 `middleware_error`,整条回复会丢;
138
- - 可选注册 chatluna 工具 `vits_say`(`chatlunaTool.enabled`):装了 `koishi-plugin-chatluna` 才会注册,依赖全部动态 `import`,没装不影响加载。
147
+ **没声音 / 只有文字**
139
148
 
140
- ## 已知限制
149
+ 先发 `tts` 看后端状态与熔断;`AUTH` 熔断检查账密或 API Key;再用 `tts debug <文本>` 看决策与超时。降级时会有一次中文提示(可关)。
141
150
 
142
- - 开发环境没有真实 TTS 后端:单元测试与冒烟测试用 **stub HTTP** 校验请求格式(URL / 表单字段 / JSON 字段 / 鉴权头)与音频聚合,**未对着真实后端做联调**,第一次接真后端时建议先跑 `vitsbench`;
143
- - gradio 后端暂不支持(需要时会单开一个里程碑);
144
- - 不做自动翻译(旧插件的 `autoTranslate` 未迁移);
145
- - 不做音频转码:只拼 PCM WAV,mp3 等格式走多段发送;
146
- - QQ 声聊依赖 OneBot 的 `send_group_ai_record`,私有实现差异较大。
151
+ **一句长话变成了好几条语音**
147
152
 
148
- ## 开发
153
+ 说明 WAV 参数不一致、走了多段降级。确认后端都返回同采样率 WAV,或把 `aggregate.type` 设为 `concat` 观察日志。
149
154
 
150
- ```bash
151
- npm i
152
- npm run typecheck # tsc --noEmit
153
- npm run test # vitest(117 个用例,纯 Node,不需要 koishi 运行时)
154
- npm run smoke # 构建产物 + 真实 koishi Context 冒烟(11 项)
155
- npm run verify # 以上三个一起跑
156
- ```
155
+ **想用旧插件的配置**
157
156
 
158
- > `smoke` 走 CJS:koishi 4.18 的 ESM 产物在 Node 24 下加载会因 loader 的 default 互操作失败,而 koishi 实际加载插件用的就是 CJS。
157
+ 不支持迁移,也不读取旧路径。直接在控制台按上面的示例配一遍,或把后端列表写成 YAML 并设 `backendsSource: file`。
159
158
 
160
- ## License
159
+ ## 来源
161
160
 
162
- MIT
161
+ 本项目改自 [SilverWolfHoney/koishi-plugin-local-vits](https://github.com/SilverWolfHoney/koishi-plugin-local-vits)——它是 [ChatLunaLab/luna-vits](https://github.com/ChatLunaLab/luna-vits) 的本地化改版,多后端抽象、适配器思路与指令设计都来自上游,感谢原作者。
163
162
 
163
+ ## License
164
164
 
165
+ [MIT](./LICENSE)
166
+