@downcity/plugins 1.0.56 → 1.0.57
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/bin/BuiltinPlugins.d.ts.map +1 -1
- package/bin/BuiltinPlugins.js +0 -4
- package/bin/BuiltinPlugins.js.map +1 -1
- package/bin/asr/Plugin.d.ts +67 -7
- package/bin/asr/Plugin.d.ts.map +1 -1
- package/bin/asr/Plugin.js +229 -461
- package/bin/asr/Plugin.js.map +1 -1
- package/bin/asr/types/AsrPlugin.d.ts +114 -0
- package/bin/asr/types/AsrPlugin.d.ts.map +1 -0
- package/bin/asr/types/AsrPlugin.js +10 -0
- package/bin/asr/types/AsrPlugin.js.map +1 -0
- package/bin/image/ImagePlugin.d.ts +1 -1
- package/bin/image/ImagePlugin.d.ts.map +1 -1
- package/bin/image/ImagePlugin.js +23 -5
- package/bin/image/ImagePlugin.js.map +1 -1
- package/bin/index.d.ts +2 -0
- package/bin/index.d.ts.map +1 -1
- package/bin/tts/Plugin.d.ts +53 -6
- package/bin/tts/Plugin.d.ts.map +1 -1
- package/bin/tts/Plugin.js +197 -474
- package/bin/tts/Plugin.js.map +1 -1
- package/bin/tts/types/TtsPlugin.d.ts +63 -102
- package/bin/tts/types/TtsPlugin.d.ts.map +1 -1
- package/bin/tts/types/TtsPlugin.js +4 -3
- package/bin/tts/types/TtsPlugin.js.map +1 -1
- package/bin/web/PROMPT.d.ts +1 -1
- package/bin/web/PROMPT.d.ts.map +1 -1
- package/bin/web/PROMPT.js +1 -1
- package/bin/web/PROMPT.js.map +1 -1
- package/bin/web/Plugin.d.ts +66 -5
- package/bin/web/Plugin.d.ts.map +1 -1
- package/bin/web/Plugin.js +126 -450
- package/bin/web/Plugin.js.map +1 -1
- package/bin/web/WebPromptAssets.d.ts +1 -9
- package/bin/web/WebPromptAssets.d.ts.map +1 -1
- package/bin/web/WebPromptAssets.js +1 -11
- package/bin/web/WebPromptAssets.js.map +1 -1
- package/bin/web/runtime/Install.d.ts +19 -0
- package/bin/web/runtime/Install.d.ts.map +1 -0
- package/bin/web/runtime/Install.js +178 -0
- package/bin/web/runtime/Install.js.map +1 -0
- package/bin/web/types/WebPlugin.d.ts +37 -109
- package/bin/web/types/WebPlugin.d.ts.map +1 -1
- package/bin/web/types/WebPlugin.js +5 -7
- package/bin/web/types/WebPlugin.js.map +1 -1
- package/package.json +2 -2
- package/src/BuiltinPlugins.ts +0 -4
- package/src/asr/Plugin.ts +264 -483
- package/src/asr/types/AsrPlugin.ts +118 -0
- package/src/image/ImagePlugin.ts +23 -5
- package/src/index.ts +12 -0
- package/src/tts/Plugin.ts +225 -492
- package/src/tts/types/TtsPlugin.ts +67 -102
- package/src/web/PROMPT.ts +1 -1
- package/src/web/PROMPT.ts.txt +32 -6
- package/src/web/Plugin.ts +119 -453
- package/src/web/WebPromptAssets.ts +1 -13
- package/src/web/runtime/Install.ts +241 -0
- package/src/web/types/WebPlugin.ts +37 -113
- package/bin/asr/Config.d.ts +0 -43
- package/bin/asr/Config.d.ts.map +0 -1
- package/bin/asr/Config.js +0 -107
- package/bin/asr/Config.js.map +0 -1
- package/bin/asr/Dependency.d.ts +0 -77
- package/bin/asr/Dependency.d.ts.map +0 -1
- package/bin/asr/Dependency.js +0 -238
- package/bin/asr/Dependency.js.map +0 -1
- package/bin/asr/InboundAugment.d.ts +0 -17
- package/bin/asr/InboundAugment.d.ts.map +0 -1
- package/bin/asr/InboundAugment.js +0 -47
- package/bin/asr/InboundAugment.js.map +0 -1
- package/bin/asr/ModelCatalog.d.ts +0 -29
- package/bin/asr/ModelCatalog.d.ts.map +0 -1
- package/bin/asr/ModelCatalog.js +0 -25
- package/bin/asr/ModelCatalog.js.map +0 -1
- package/bin/tts/Dependency.d.ts +0 -90
- package/bin/tts/Dependency.d.ts.map +0 -1
- package/bin/tts/Dependency.js +0 -344
- package/bin/tts/Dependency.js.map +0 -1
- package/bin/tts/PluginSupport.d.ts +0 -25
- package/bin/tts/PluginSupport.d.ts.map +0 -1
- package/bin/tts/PluginSupport.js +0 -72
- package/bin/tts/PluginSupport.js.map +0 -1
- package/bin/tts/runtime/Catalog.d.ts +0 -21
- package/bin/tts/runtime/Catalog.d.ts.map +0 -1
- package/bin/tts/runtime/Catalog.js +0 -90
- package/bin/tts/runtime/Catalog.js.map +0 -1
- package/bin/tts/runtime/DependencyInstaller.d.ts +0 -143
- package/bin/tts/runtime/DependencyInstaller.d.ts.map +0 -1
- package/bin/tts/runtime/DependencyInstaller.js +0 -261
- package/bin/tts/runtime/DependencyInstaller.js.map +0 -1
- package/bin/tts/runtime/Installer.d.ts +0 -89
- package/bin/tts/runtime/Installer.d.ts.map +0 -1
- package/bin/tts/runtime/Installer.js +0 -188
- package/bin/tts/runtime/Installer.js.map +0 -1
- package/bin/tts/runtime/Paths.d.ts +0 -20
- package/bin/tts/runtime/Paths.d.ts.map +0 -1
- package/bin/tts/runtime/Paths.js +0 -32
- package/bin/tts/runtime/Paths.js.map +0 -1
- package/bin/tts/runtime/Synthesizer.d.ts +0 -44
- package/bin/tts/runtime/Synthesizer.d.ts.map +0 -1
- package/bin/tts/runtime/Synthesizer.js +0 -363
- package/bin/tts/runtime/Synthesizer.js.map +0 -1
- package/bin/tts/types/Tts.d.ts +0 -91
- package/bin/tts/types/Tts.d.ts.map +0 -1
- package/bin/tts/types/Tts.js +0 -9
- package/bin/tts/types/Tts.js.map +0 -1
- package/bin/voice/Config.d.ts +0 -43
- package/bin/voice/Config.d.ts.map +0 -1
- package/bin/voice/Config.js +0 -104
- package/bin/voice/Config.js.map +0 -1
- package/bin/voice/Dependency.d.ts +0 -77
- package/bin/voice/Dependency.d.ts.map +0 -1
- package/bin/voice/Dependency.js +0 -237
- package/bin/voice/Dependency.js.map +0 -1
- package/bin/voice/InboundAugment.d.ts +0 -17
- package/bin/voice/InboundAugment.d.ts.map +0 -1
- package/bin/voice/InboundAugment.js +0 -47
- package/bin/voice/InboundAugment.js.map +0 -1
- package/bin/voice/ModelCatalog.d.ts +0 -29
- package/bin/voice/ModelCatalog.d.ts.map +0 -1
- package/bin/voice/ModelCatalog.js +0 -25
- package/bin/voice/ModelCatalog.js.map +0 -1
- package/bin/voice/runtime/Catalog.d.ts +0 -18
- package/bin/voice/runtime/Catalog.d.ts.map +0 -1
- package/bin/voice/runtime/Catalog.js +0 -61
- package/bin/voice/runtime/Catalog.js.map +0 -1
- package/bin/voice/runtime/DependencyInstaller.d.ts +0 -145
- package/bin/voice/runtime/DependencyInstaller.d.ts.map +0 -1
- package/bin/voice/runtime/DependencyInstaller.js +0 -309
- package/bin/voice/runtime/DependencyInstaller.js.map +0 -1
- package/bin/voice/runtime/Installer.d.ts +0 -94
- package/bin/voice/runtime/Installer.d.ts.map +0 -1
- package/bin/voice/runtime/Installer.js +0 -200
- package/bin/voice/runtime/Installer.js.map +0 -1
- package/bin/voice/runtime/Paths.d.ts +0 -8
- package/bin/voice/runtime/Paths.d.ts.map +0 -1
- package/bin/voice/runtime/Paths.js +0 -26
- package/bin/voice/runtime/Paths.js.map +0 -1
- package/bin/voice/runtime/Transcriber.d.ts +0 -57
- package/bin/voice/runtime/Transcriber.d.ts.map +0 -1
- package/bin/voice/runtime/Transcriber.js +0 -329
- package/bin/voice/runtime/Transcriber.js.map +0 -1
- package/bin/voice/types/Voice.d.ts +0 -58
- package/bin/voice/types/Voice.d.ts.map +0 -1
- package/bin/voice/types/Voice.js +0 -9
- package/bin/voice/types/Voice.js.map +0 -1
- package/bin/voice/types/VoicePlugin.d.ts +0 -190
- package/bin/voice/types/VoicePlugin.d.ts.map +0 -1
- package/bin/voice/types/VoicePlugin.js +0 -9
- package/bin/voice/types/VoicePlugin.js.map +0 -1
- package/bin/web/Dependency.d.ts +0 -10
- package/bin/web/Dependency.d.ts.map +0 -1
- package/bin/web/Dependency.js +0 -10
- package/bin/web/Dependency.js.map +0 -1
- package/bin/web/PROMPT.agent-browser.d.ts +0 -7
- package/bin/web/PROMPT.agent-browser.d.ts.map +0 -1
- package/bin/web/PROMPT.agent-browser.js +0 -8
- package/bin/web/PROMPT.agent-browser.js.map +0 -1
- package/bin/web/PROMPT.web-access.d.ts +0 -7
- package/bin/web/PROMPT.web-access.d.ts.map +0 -1
- package/bin/web/PROMPT.web-access.js +0 -8
- package/bin/web/PROMPT.web-access.js.map +0 -1
- package/bin/web/runtime/Config.d.ts +0 -21
- package/bin/web/runtime/Config.d.ts.map +0 -1
- package/bin/web/runtime/Config.js +0 -79
- package/bin/web/runtime/Config.js.map +0 -1
- package/bin/web/runtime/Source.d.ts +0 -29
- package/bin/web/runtime/Source.d.ts.map +0 -1
- package/bin/web/runtime/Source.js +0 -209
- package/bin/web/runtime/Source.js.map +0 -1
- package/src/asr/Config.ts +0 -138
- package/src/asr/Dependency.ts +0 -336
- package/src/asr/InboundAugment.ts +0 -59
- package/src/asr/ModelCatalog.ts +0 -43
- package/src/tts/Dependency.ts +0 -473
- package/src/tts/PluginSupport.ts +0 -85
- package/src/tts/runtime/Catalog.ts +0 -97
- package/src/tts/runtime/DependencyInstaller.ts +0 -436
- package/src/tts/runtime/Installer.ts +0 -297
- package/src/tts/runtime/Paths.ts +0 -39
- package/src/tts/runtime/Synthesizer.ts +0 -480
- package/src/tts/types/Tts.ts +0 -99
- package/src/voice/Config.ts +0 -135
- package/src/voice/Dependency.ts +0 -329
- package/src/voice/InboundAugment.ts +0 -59
- package/src/voice/ModelCatalog.ts +0 -43
- package/src/voice/runtime/Catalog.ts +0 -68
- package/src/voice/runtime/DependencyInstaller.ts +0 -505
- package/src/voice/runtime/Installer.ts +0 -324
- package/src/voice/runtime/Paths.ts +0 -26
- package/src/voice/runtime/Transcriber.ts +0 -467
- package/src/voice/types/Voice.ts +0 -68
- package/src/voice/types/VoicePlugin.ts +0 -194
- package/src/web/Dependency.ts +0 -17
- package/src/web/PROMPT.agent-browser.ts +0 -9
- package/src/web/PROMPT.agent-browser.ts.txt +0 -17
- package/src/web/PROMPT.web-access.ts +0 -9
- package/src/web/PROMPT.web-access.ts.txt +0 -13
- package/src/web/runtime/Config.ts +0 -105
- package/src/web/runtime/Source.ts +0 -257
|
@@ -1,329 +0,0 @@
|
|
|
1
|
-
import path from "node:path";
|
|
2
|
-
import { exec as execWithShell, execFile as execFileCb } from "node:child_process";
|
|
3
|
-
import { promisify } from "node:util";
|
|
4
|
-
import fs from "fs-extra";
|
|
5
|
-
import { resolveVoiceModelsRootDir } from "./Paths.js";
|
|
6
|
-
const execShellAsync = promisify(execWithShell);
|
|
7
|
-
const execFileAsync = promisify(execFileCb);
|
|
8
|
-
const DEFAULT_TRANSCRIBE_TIMEOUT_MS = 120_000;
|
|
9
|
-
function normalizeLanguage(input) {
|
|
10
|
-
const text = String(input || "").trim();
|
|
11
|
-
return text || "zh";
|
|
12
|
-
}
|
|
13
|
-
function normalizeTimeoutMs(value) {
|
|
14
|
-
if (!Number.isFinite(value))
|
|
15
|
-
return DEFAULT_TRANSCRIBE_TIMEOUT_MS;
|
|
16
|
-
const ms = Number(value);
|
|
17
|
-
if (ms < 1_000)
|
|
18
|
-
return 1_000;
|
|
19
|
-
if (ms > 600_000)
|
|
20
|
-
return 600_000;
|
|
21
|
-
return Math.floor(ms);
|
|
22
|
-
}
|
|
23
|
-
function normalizePythonBin(value) {
|
|
24
|
-
const text = String(value || "").trim();
|
|
25
|
-
return text || "python3";
|
|
26
|
-
}
|
|
27
|
-
function normalizeStrategy(strategy) {
|
|
28
|
-
if (strategy === "funasr")
|
|
29
|
-
return "funasr";
|
|
30
|
-
if (strategy === "transformers-whisper")
|
|
31
|
-
return "transformers-whisper";
|
|
32
|
-
if (strategy === "command")
|
|
33
|
-
return "command";
|
|
34
|
-
return "auto";
|
|
35
|
-
}
|
|
36
|
-
function toAbsoluteAudioPath(context, input) {
|
|
37
|
-
const raw = String(input || "").trim();
|
|
38
|
-
if (!raw) {
|
|
39
|
-
throw new Error("voice transcribe requires audioPath");
|
|
40
|
-
}
|
|
41
|
-
if (path.isAbsolute(raw))
|
|
42
|
-
return path.resolve(raw);
|
|
43
|
-
return path.resolve(context.rootPath, raw);
|
|
44
|
-
}
|
|
45
|
-
function pickLastNonEmptyLine(value) {
|
|
46
|
-
const lines = String(value || "")
|
|
47
|
-
.split(/\r?\n/)
|
|
48
|
-
.map((line) => line.trim())
|
|
49
|
-
.filter(Boolean);
|
|
50
|
-
return lines.length > 0 ? lines[lines.length - 1] : "";
|
|
51
|
-
}
|
|
52
|
-
function shellEscapeSingle(value) {
|
|
53
|
-
return `'${String(value).replace(/'/g, `'"'"'`)}'`;
|
|
54
|
-
}
|
|
55
|
-
/**
|
|
56
|
-
* 为 python 执行构建环境变量。
|
|
57
|
-
*
|
|
58
|
-
* 关键点(中文)
|
|
59
|
-
* - 当 `pythonBin` 指向 venv 内解释器时,把其 `bin` 目录前置到 PATH,
|
|
60
|
-
* 以便 python 子进程内调用 `pip`(FunASR 远程代码会用到)能正确命中同一 venv。
|
|
61
|
-
*/
|
|
62
|
-
function buildPythonExecEnv(pythonBin) {
|
|
63
|
-
const env = { ...process.env };
|
|
64
|
-
const raw = String(pythonBin || "").trim();
|
|
65
|
-
if (!raw || (!raw.includes("/") && !raw.includes("\\"))) {
|
|
66
|
-
return env;
|
|
67
|
-
}
|
|
68
|
-
const pythonDir = path.dirname(path.resolve(raw));
|
|
69
|
-
const currentPath = String(env.PATH || "");
|
|
70
|
-
const segments = currentPath
|
|
71
|
-
.split(path.delimiter)
|
|
72
|
-
.map((item) => item.trim())
|
|
73
|
-
.filter(Boolean);
|
|
74
|
-
if (!segments.includes(pythonDir)) {
|
|
75
|
-
env.PATH = [pythonDir, ...segments].join(path.delimiter);
|
|
76
|
-
}
|
|
77
|
-
return env;
|
|
78
|
-
}
|
|
79
|
-
function renderCommandTemplate(template, values) {
|
|
80
|
-
return template.replace(/\{(audioPath|modelDir|modelId|language)\}/g, (_, key) => {
|
|
81
|
-
const value = values[key] || "";
|
|
82
|
-
return shellEscapeSingle(value);
|
|
83
|
-
});
|
|
84
|
-
}
|
|
85
|
-
async function runCustomCommand(params) {
|
|
86
|
-
const command = renderCommandTemplate(params.template, params.values);
|
|
87
|
-
const { stdout, stderr } = await execShellAsync(command, {
|
|
88
|
-
timeout: params.timeoutMs,
|
|
89
|
-
maxBuffer: 8 * 1024 * 1024,
|
|
90
|
-
});
|
|
91
|
-
const text = pickLastNonEmptyLine(String(stdout || ""));
|
|
92
|
-
if (text)
|
|
93
|
-
return text;
|
|
94
|
-
const err = pickLastNonEmptyLine(String(stderr || ""));
|
|
95
|
-
if (err) {
|
|
96
|
-
throw new Error(`voice custom command produced no transcript: ${err}`);
|
|
97
|
-
}
|
|
98
|
-
throw new Error("voice custom command produced empty transcript");
|
|
99
|
-
}
|
|
100
|
-
async function runPythonInline(params) {
|
|
101
|
-
let stdout = "";
|
|
102
|
-
let stderr = "";
|
|
103
|
-
try {
|
|
104
|
-
const output = await execFileAsync(params.pythonBin, ["-c", params.script, ...params.args], {
|
|
105
|
-
timeout: params.timeoutMs,
|
|
106
|
-
maxBuffer: 8 * 1024 * 1024,
|
|
107
|
-
env: buildPythonExecEnv(params.pythonBin),
|
|
108
|
-
});
|
|
109
|
-
stdout = String(output.stdout || "");
|
|
110
|
-
stderr = String(output.stderr || "");
|
|
111
|
-
}
|
|
112
|
-
catch (error) {
|
|
113
|
-
const errorLike = error;
|
|
114
|
-
stdout = String(errorLike.stdout || "");
|
|
115
|
-
stderr = String(errorLike.stderr || "");
|
|
116
|
-
const err = pickLastNonEmptyLine(stderr) || pickLastNonEmptyLine(stdout);
|
|
117
|
-
if (err) {
|
|
118
|
-
throw new Error(`python runner failed: ${err}`);
|
|
119
|
-
}
|
|
120
|
-
throw new Error(`python runner failed: ${String(errorLike.message || error)}`);
|
|
121
|
-
}
|
|
122
|
-
const text = pickLastNonEmptyLine(stdout);
|
|
123
|
-
if (text)
|
|
124
|
-
return text;
|
|
125
|
-
const err = pickLastNonEmptyLine(stderr);
|
|
126
|
-
if (err) {
|
|
127
|
-
throw new Error(`python runner produced no transcript: ${err}`);
|
|
128
|
-
}
|
|
129
|
-
throw new Error("python runner produced empty transcript");
|
|
130
|
-
}
|
|
131
|
-
const FUNASR_INLINE_SCRIPT = [
|
|
132
|
-
"from funasr import AutoModel",
|
|
133
|
-
"import sys",
|
|
134
|
-
"model_dir = sys.argv[1]",
|
|
135
|
-
"audio_path = sys.argv[2]",
|
|
136
|
-
"model = AutoModel(model=model_dir, trust_remote_code=True, disable_update=True)",
|
|
137
|
-
"result = model.generate(input=audio_path)",
|
|
138
|
-
"text = ''",
|
|
139
|
-
"if isinstance(result, list) and len(result) > 0:",
|
|
140
|
-
" first = result[0]",
|
|
141
|
-
" if isinstance(first, dict):",
|
|
142
|
-
" text = str(first.get('text') or '')",
|
|
143
|
-
"elif isinstance(result, dict):",
|
|
144
|
-
" text = str(result.get('text') or '')",
|
|
145
|
-
"print(text.strip())",
|
|
146
|
-
].join("\n");
|
|
147
|
-
const TRANSFORMERS_WHISPER_INLINE_SCRIPT = [
|
|
148
|
-
"from transformers import pipeline",
|
|
149
|
-
"import sys",
|
|
150
|
-
"model_dir = sys.argv[1]",
|
|
151
|
-
"audio_path = sys.argv[2]",
|
|
152
|
-
"language = sys.argv[3] if len(sys.argv) > 3 else ''",
|
|
153
|
-
"pipe = pipeline('automatic-speech-recognition', model=model_dir)",
|
|
154
|
-
"kwargs = {}",
|
|
155
|
-
"if language:",
|
|
156
|
-
" kwargs['generate_kwargs'] = {'language': language}",
|
|
157
|
-
"result = pipe(audio_path, **kwargs)",
|
|
158
|
-
"text = ''",
|
|
159
|
-
"if isinstance(result, dict):",
|
|
160
|
-
" text = str(result.get('text') or '')",
|
|
161
|
-
"else:",
|
|
162
|
-
" text = str(result)",
|
|
163
|
-
"print(text.strip())",
|
|
164
|
-
].join("\n");
|
|
165
|
-
async function runFunasrRunner(params) {
|
|
166
|
-
return runPythonInline({
|
|
167
|
-
pythonBin: params.pythonBin,
|
|
168
|
-
script: FUNASR_INLINE_SCRIPT,
|
|
169
|
-
args: [params.modelDir, params.audioPath],
|
|
170
|
-
timeoutMs: params.timeoutMs,
|
|
171
|
-
});
|
|
172
|
-
}
|
|
173
|
-
async function runTransformersWhisperRunner(params) {
|
|
174
|
-
return runPythonInline({
|
|
175
|
-
pythonBin: params.pythonBin,
|
|
176
|
-
script: TRANSFORMERS_WHISPER_INLINE_SCRIPT,
|
|
177
|
-
args: [params.modelDir, params.audioPath, params.language],
|
|
178
|
-
timeoutMs: params.timeoutMs,
|
|
179
|
-
});
|
|
180
|
-
}
|
|
181
|
-
async function resolveVoiceConfig(input) {
|
|
182
|
-
const pluginConfig = input.context.config.plugins?.asr &&
|
|
183
|
-
typeof input.context.config.plugins.asr === "object" &&
|
|
184
|
-
!Array.isArray(input.context.config.plugins.asr)
|
|
185
|
-
? input.context.config.plugins.asr
|
|
186
|
-
: null;
|
|
187
|
-
const enabled = pluginConfig && pluginConfig.enabled === true;
|
|
188
|
-
if (!enabled) {
|
|
189
|
-
throw new Error("ASR plugin is disabled. Run `town asr on` first.");
|
|
190
|
-
}
|
|
191
|
-
const provider = String(pluginConfig?.provider || "local");
|
|
192
|
-
if (!["local", "command"].includes(provider)) {
|
|
193
|
-
throw new Error(`Unsupported asr provider: ${provider}`);
|
|
194
|
-
}
|
|
195
|
-
const modelId = String(pluginConfig?.modelId || "SenseVoiceSmall").trim() || "SenseVoiceSmall";
|
|
196
|
-
if (!modelId && provider === "local") {
|
|
197
|
-
throw new Error("ASR active model is not configured. Run `town asr use <modelId>`.");
|
|
198
|
-
}
|
|
199
|
-
const modelsRootDir = resolveVoiceModelsRootDir({
|
|
200
|
-
projectRoot: input.context.rootPath,
|
|
201
|
-
modelsDir: String(pluginConfig?.modelsDir || "").trim(),
|
|
202
|
-
});
|
|
203
|
-
const modelDir = path.resolve(modelsRootDir, modelId);
|
|
204
|
-
if (provider === "local") {
|
|
205
|
-
const modelDirExists = await fs.pathExists(modelDir);
|
|
206
|
-
if (!modelDirExists) {
|
|
207
|
-
throw new Error(`Voice model directory does not exist: ${modelDir}`);
|
|
208
|
-
}
|
|
209
|
-
}
|
|
210
|
-
const audioPath = toAbsoluteAudioPath(input.context, input.audioPath);
|
|
211
|
-
const audioExists = await fs.pathExists(audioPath);
|
|
212
|
-
if (!audioExists) {
|
|
213
|
-
throw new Error(`Audio file does not exist: ${audioPath}`);
|
|
214
|
-
}
|
|
215
|
-
const commandTemplate = String(pluginConfig?.command || "").trim();
|
|
216
|
-
const strategy = normalizeStrategy(pluginConfig?.strategy ||
|
|
217
|
-
(provider === "command" ? "command" : "auto"));
|
|
218
|
-
return {
|
|
219
|
-
config: pluginConfig || {
|
|
220
|
-
provider: "local",
|
|
221
|
-
},
|
|
222
|
-
modelId: modelId,
|
|
223
|
-
provider,
|
|
224
|
-
modelDir,
|
|
225
|
-
audioPath,
|
|
226
|
-
timeoutMs: normalizeTimeoutMs(pluginConfig?.timeoutMs),
|
|
227
|
-
language: normalizeLanguage(input.language ||
|
|
228
|
-
String(pluginConfig?.language || "")),
|
|
229
|
-
pythonBin: normalizePythonBin(String(pluginConfig?.pythonBin || "")),
|
|
230
|
-
commandTemplate: commandTemplate || undefined,
|
|
231
|
-
strategy,
|
|
232
|
-
};
|
|
233
|
-
}
|
|
234
|
-
function resolveAutoRunnerOrder(modelId) {
|
|
235
|
-
if (modelId === "whisper-large-v3-turbo") {
|
|
236
|
-
return ["transformers-whisper", "funasr"];
|
|
237
|
-
}
|
|
238
|
-
return ["funasr", "transformers-whisper"];
|
|
239
|
-
}
|
|
240
|
-
/**
|
|
241
|
-
* 执行 ASR 音频转写。
|
|
242
|
-
*
|
|
243
|
-
* 关键点(中文)
|
|
244
|
-
* - 该函数是 ASR plugin 对 chat 等 service 暴露的核心能力。
|
|
245
|
-
* - 内置 runner 失败时会返回清晰报错,调用方可降级为附件流程。
|
|
246
|
-
*/
|
|
247
|
-
export async function transcribeVoiceAudio(input) {
|
|
248
|
-
const startedAt = Date.now();
|
|
249
|
-
const resolved = await resolveVoiceConfig(input);
|
|
250
|
-
const runnerFailures = [];
|
|
251
|
-
const tryRunner = async (runner) => {
|
|
252
|
-
try {
|
|
253
|
-
let text = "";
|
|
254
|
-
if (runner === "command") {
|
|
255
|
-
const template = String(resolved.commandTemplate || "").trim();
|
|
256
|
-
if (!template) {
|
|
257
|
-
throw new Error("ASR transcribe strategy=command requires plugins.asr.command");
|
|
258
|
-
}
|
|
259
|
-
text = await runCustomCommand({
|
|
260
|
-
template,
|
|
261
|
-
timeoutMs: resolved.timeoutMs,
|
|
262
|
-
values: {
|
|
263
|
-
audioPath: resolved.audioPath,
|
|
264
|
-
modelDir: resolved.modelDir,
|
|
265
|
-
modelId: resolved.modelId,
|
|
266
|
-
language: resolved.language,
|
|
267
|
-
},
|
|
268
|
-
});
|
|
269
|
-
}
|
|
270
|
-
else if (runner === "funasr") {
|
|
271
|
-
text = await runFunasrRunner({
|
|
272
|
-
pythonBin: resolved.pythonBin,
|
|
273
|
-
modelDir: resolved.modelDir,
|
|
274
|
-
audioPath: resolved.audioPath,
|
|
275
|
-
timeoutMs: resolved.timeoutMs,
|
|
276
|
-
});
|
|
277
|
-
}
|
|
278
|
-
else {
|
|
279
|
-
text = await runTransformersWhisperRunner({
|
|
280
|
-
pythonBin: resolved.pythonBin,
|
|
281
|
-
modelDir: resolved.modelDir,
|
|
282
|
-
audioPath: resolved.audioPath,
|
|
283
|
-
language: resolved.language,
|
|
284
|
-
timeoutMs: resolved.timeoutMs,
|
|
285
|
-
});
|
|
286
|
-
}
|
|
287
|
-
const normalized = String(text || "").trim();
|
|
288
|
-
if (!normalized) {
|
|
289
|
-
throw new Error("transcript is empty");
|
|
290
|
-
}
|
|
291
|
-
return {
|
|
292
|
-
text: normalized,
|
|
293
|
-
audioPath: resolved.audioPath,
|
|
294
|
-
modelId: resolved.modelId,
|
|
295
|
-
provider: resolved.provider,
|
|
296
|
-
elapsedMs: Date.now() - startedAt,
|
|
297
|
-
runner,
|
|
298
|
-
};
|
|
299
|
-
}
|
|
300
|
-
catch (error) {
|
|
301
|
-
runnerFailures.push(`${runner}: ${String(error)}`);
|
|
302
|
-
return null;
|
|
303
|
-
}
|
|
304
|
-
};
|
|
305
|
-
if (resolved.strategy === "command") {
|
|
306
|
-
const result = await tryRunner("command");
|
|
307
|
-
if (result)
|
|
308
|
-
return result;
|
|
309
|
-
}
|
|
310
|
-
else if (resolved.strategy === "funasr") {
|
|
311
|
-
const result = await tryRunner("funasr");
|
|
312
|
-
if (result)
|
|
313
|
-
return result;
|
|
314
|
-
}
|
|
315
|
-
else if (resolved.strategy === "transformers-whisper") {
|
|
316
|
-
const result = await tryRunner("transformers-whisper");
|
|
317
|
-
if (result)
|
|
318
|
-
return result;
|
|
319
|
-
}
|
|
320
|
-
else {
|
|
321
|
-
for (const runner of resolveAutoRunnerOrder(resolved.modelId)) {
|
|
322
|
-
const result = await tryRunner(runner);
|
|
323
|
-
if (result)
|
|
324
|
-
return result;
|
|
325
|
-
}
|
|
326
|
-
}
|
|
327
|
-
throw new Error(`Voice transcription failed for model "${resolved.modelId}". ${runnerFailures.join(" | ")}`);
|
|
328
|
-
}
|
|
329
|
-
//# sourceMappingURL=Transcriber.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Transcriber.js","sourceRoot":"","sources":["../../../src/voice/runtime/Transcriber.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Voice 模型目录与转写策略类型定义。
|
|
3
|
-
*
|
|
4
|
-
* 设计目标(中文)
|
|
5
|
-
* - 统一描述 voice 领域里的稳定枚举类型。
|
|
6
|
-
* - 让 plugin / runtime 共用一套模型与策略定义。
|
|
7
|
-
*/
|
|
8
|
-
/**
|
|
9
|
-
* Voice provider 类型。
|
|
10
|
-
*
|
|
11
|
-
* 说明(中文)
|
|
12
|
-
* - `local`:使用本地模型目录与 Python runner。
|
|
13
|
-
* - `command`:使用用户自定义命令模板。
|
|
14
|
-
*/
|
|
15
|
-
export type VoiceProvider = "local" | "command";
|
|
16
|
-
/**
|
|
17
|
-
* 内置可选 STT 模型 ID。
|
|
18
|
-
*
|
|
19
|
-
* 说明(中文)
|
|
20
|
-
* - 保持稳定字符串,避免未来重命名导致用户配置失效。
|
|
21
|
-
*/
|
|
22
|
-
export type VoiceModelId = "SenseVoiceSmall" | "paraformer-zh-streaming" | "whisper-large-v3-turbo";
|
|
23
|
-
/**
|
|
24
|
-
* Voice 转写执行策略。
|
|
25
|
-
*
|
|
26
|
-
* 说明(中文)
|
|
27
|
-
* - `auto`:按激活模型自动选择内置 runner。
|
|
28
|
-
* - `funasr`:强制使用 FunASR python runner。
|
|
29
|
-
* - `transformers-whisper`:强制使用 Transformers Whisper python runner。
|
|
30
|
-
* - `command`:使用自定义命令模板。
|
|
31
|
-
*/
|
|
32
|
-
export type VoiceTranscribeStrategy = "auto" | "funasr" | "transformers-whisper" | "command";
|
|
33
|
-
/**
|
|
34
|
-
* Voice 内置模型目录条目。
|
|
35
|
-
*/
|
|
36
|
-
export interface VoiceModelCatalogItem {
|
|
37
|
-
/**
|
|
38
|
-
* 模型稳定 ID(配置与命令唯一键)。
|
|
39
|
-
*/
|
|
40
|
-
id: VoiceModelId;
|
|
41
|
-
/**
|
|
42
|
-
* CLI 展示名称。
|
|
43
|
-
*/
|
|
44
|
-
label: string;
|
|
45
|
-
/**
|
|
46
|
-
* 模型描述(语言/特性/场景)。
|
|
47
|
-
*/
|
|
48
|
-
description: string;
|
|
49
|
-
/**
|
|
50
|
-
* HuggingFace 仓库 ID(owner/repo)。
|
|
51
|
-
*/
|
|
52
|
-
huggingfaceRepo: string;
|
|
53
|
-
/**
|
|
54
|
-
* 下载 revision(通常为 main)。
|
|
55
|
-
*/
|
|
56
|
-
revision: string;
|
|
57
|
-
}
|
|
58
|
-
//# sourceMappingURL=Voice.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Voice.d.ts","sourceRoot":"","sources":["../../../src/voice/types/Voice.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;;;;GAMG;AACH,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,SAAS,CAAC;AAEhD;;;;;GAKG;AACH,MAAM,MAAM,YAAY,GACpB,iBAAiB,GACjB,yBAAyB,GACzB,wBAAwB,CAAC;AAE7B;;;;;;;;GAQG;AACH,MAAM,MAAM,uBAAuB,GAC/B,MAAM,GACN,QAAQ,GACR,sBAAsB,GACtB,SAAS,CAAC;AAEd;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC;;OAEG;IACH,EAAE,EAAE,YAAY,CAAC;IACjB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,eAAe,EAAE,MAAM,CAAC;IACxB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;CAClB"}
|
package/bin/voice/types/Voice.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Voice.js","sourceRoot":"","sources":["../../../src/voice/types/Voice.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
|
|
@@ -1,190 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Voice Plugin 类型定义。
|
|
3
|
-
*
|
|
4
|
-
* 关键点(中文)
|
|
5
|
-
* - Voice 的行为配置与转写依赖配置统一收敛到 `plugins.asr`。
|
|
6
|
-
* - 这里的类型名直接反映 plugin 自身能力,不再保留 asset 心智。
|
|
7
|
-
*/
|
|
8
|
-
import type { JsonValue } from "@downcity/agent/internal/types/common/Json.js";
|
|
9
|
-
/**
|
|
10
|
-
* Voice Plugin 行为配置。
|
|
11
|
-
*/
|
|
12
|
-
export interface VoicePluginConfig {
|
|
13
|
-
/**
|
|
14
|
-
* 兼容统一结构化配置约束的索引签名。
|
|
15
|
-
*/
|
|
16
|
-
[key: string]: JsonValue | undefined;
|
|
17
|
-
/**
|
|
18
|
-
* 是否把转写结果注入 system/prompt 行为链。
|
|
19
|
-
*/
|
|
20
|
-
injectPrompt?: boolean;
|
|
21
|
-
/**
|
|
22
|
-
* 是否在消息进入 Agent 前自动增强语音内容。
|
|
23
|
-
*/
|
|
24
|
-
augmentMessage?: boolean;
|
|
25
|
-
/**
|
|
26
|
-
* 转写提供者类型。
|
|
27
|
-
*/
|
|
28
|
-
provider?: "local" | "command";
|
|
29
|
-
/**
|
|
30
|
-
* 当前激活模型 ID(可选)。
|
|
31
|
-
*/
|
|
32
|
-
modelId?: string;
|
|
33
|
-
/**
|
|
34
|
-
* 模型根目录(可选)。
|
|
35
|
-
*/
|
|
36
|
-
modelsDir?: string;
|
|
37
|
-
/**
|
|
38
|
-
* Python 可执行文件(可选)。
|
|
39
|
-
*/
|
|
40
|
-
pythonBin?: string;
|
|
41
|
-
/**
|
|
42
|
-
* 自定义命令模板(可选)。
|
|
43
|
-
*/
|
|
44
|
-
command?: string;
|
|
45
|
-
/**
|
|
46
|
-
* 默认语言提示(可选)。
|
|
47
|
-
*/
|
|
48
|
-
language?: string;
|
|
49
|
-
/**
|
|
50
|
-
* 转写超时时间(毫秒,可选)。
|
|
51
|
-
*/
|
|
52
|
-
timeoutMs?: number;
|
|
53
|
-
/**
|
|
54
|
-
* 本地推理策略(可选)。
|
|
55
|
-
*/
|
|
56
|
-
strategy?: "auto" | "funasr" | "transformers-whisper" | "command";
|
|
57
|
-
/**
|
|
58
|
-
* 已安装模型列表(可选)。
|
|
59
|
-
*/
|
|
60
|
-
installedModels?: string[];
|
|
61
|
-
}
|
|
62
|
-
/**
|
|
63
|
-
* Voice 转写配置。
|
|
64
|
-
*/
|
|
65
|
-
export interface VoiceTranscriberConfig {
|
|
66
|
-
/**
|
|
67
|
-
* 兼容统一结构化配置约束的索引签名。
|
|
68
|
-
*/
|
|
69
|
-
[key: string]: JsonValue | undefined;
|
|
70
|
-
/**
|
|
71
|
-
* 转写提供者类型。
|
|
72
|
-
*
|
|
73
|
-
* 说明(中文)
|
|
74
|
-
* - `local`:使用内建本地模型与 Python Runner。
|
|
75
|
-
* - `command`:使用用户自定义命令模板。
|
|
76
|
-
*/
|
|
77
|
-
provider?: "local" | "command";
|
|
78
|
-
/**
|
|
79
|
-
* 本地模型 ID(可选)。
|
|
80
|
-
*
|
|
81
|
-
* 说明(中文)
|
|
82
|
-
* - 这是 asr plugin 内部依赖字段,不要求其他 service 直接感知。
|
|
83
|
-
*/
|
|
84
|
-
modelId?: string;
|
|
85
|
-
/**
|
|
86
|
-
* 模型根目录(可选)。
|
|
87
|
-
*/
|
|
88
|
-
modelsDir?: string;
|
|
89
|
-
/**
|
|
90
|
-
* Python 可执行文件(可选)。
|
|
91
|
-
*/
|
|
92
|
-
pythonBin?: string;
|
|
93
|
-
/**
|
|
94
|
-
* 自定义命令模板(可选)。
|
|
95
|
-
*/
|
|
96
|
-
command?: string;
|
|
97
|
-
/**
|
|
98
|
-
* 默认语言提示(可选)。
|
|
99
|
-
*/
|
|
100
|
-
language?: string;
|
|
101
|
-
/**
|
|
102
|
-
* 转写超时时间(毫秒,可选)。
|
|
103
|
-
*/
|
|
104
|
-
timeoutMs?: number;
|
|
105
|
-
/**
|
|
106
|
-
* 本地推理策略(可选)。
|
|
107
|
-
*
|
|
108
|
-
* 说明(中文)
|
|
109
|
-
* - `auto`:按模型自动选择 runner。
|
|
110
|
-
* - `funasr` / `transformers-whisper`:固定使用对应 runner。
|
|
111
|
-
* - `command`:使用自定义命令模板。
|
|
112
|
-
*/
|
|
113
|
-
strategy?: "auto" | "funasr" | "transformers-whisper" | "command";
|
|
114
|
-
/**
|
|
115
|
-
* 已安装模型列表(可选)。
|
|
116
|
-
*
|
|
117
|
-
* 说明(中文)
|
|
118
|
-
* - 仅作为状态快照使用,不应被 plugin 直接依赖。
|
|
119
|
-
*/
|
|
120
|
-
installedModels?: string[];
|
|
121
|
-
}
|
|
122
|
-
/**
|
|
123
|
-
* Voice 转写安装输入。
|
|
124
|
-
*/
|
|
125
|
-
export interface VoiceTranscriberInstallInput {
|
|
126
|
-
/**
|
|
127
|
-
* 兼容统一结构化配置约束的索引签名。
|
|
128
|
-
*/
|
|
129
|
-
[key: string]: JsonValue | undefined;
|
|
130
|
-
/**
|
|
131
|
-
* 需要安装的模型 ID 列表(可选)。
|
|
132
|
-
*/
|
|
133
|
-
modelIds?: string[];
|
|
134
|
-
/**
|
|
135
|
-
* 安装完成后激活的模型 ID(可选)。
|
|
136
|
-
*/
|
|
137
|
-
activeModel?: string;
|
|
138
|
-
/**
|
|
139
|
-
* 是否强制覆盖已存在资源。
|
|
140
|
-
*/
|
|
141
|
-
force?: boolean;
|
|
142
|
-
/**
|
|
143
|
-
* 模型目录(可选)。
|
|
144
|
-
*/
|
|
145
|
-
modelsDir?: string;
|
|
146
|
-
/**
|
|
147
|
-
* Python 可执行文件(可选)。
|
|
148
|
-
*/
|
|
149
|
-
pythonBin?: string;
|
|
150
|
-
/**
|
|
151
|
-
* 是否同时安装转写依赖。
|
|
152
|
-
*/
|
|
153
|
-
installDeps?: boolean;
|
|
154
|
-
/**
|
|
155
|
-
* HuggingFace Token(可选)。
|
|
156
|
-
*/
|
|
157
|
-
hfToken?: string;
|
|
158
|
-
}
|
|
159
|
-
/**
|
|
160
|
-
* Voice 转写句柄。
|
|
161
|
-
*/
|
|
162
|
-
export interface VoiceTranscriberHandle {
|
|
163
|
-
/**
|
|
164
|
-
* 执行音频转写。
|
|
165
|
-
*/
|
|
166
|
-
transcribe(input: {
|
|
167
|
-
/**
|
|
168
|
-
* 待转写音频路径。
|
|
169
|
-
*/
|
|
170
|
-
audioPath: string;
|
|
171
|
-
/**
|
|
172
|
-
* 语言提示(可选)。
|
|
173
|
-
*/
|
|
174
|
-
language?: string;
|
|
175
|
-
}): Promise<{
|
|
176
|
-
/**
|
|
177
|
-
* 转写是否成功。
|
|
178
|
-
*/
|
|
179
|
-
success: boolean;
|
|
180
|
-
/**
|
|
181
|
-
* 转写文本(可选)。
|
|
182
|
-
*/
|
|
183
|
-
text?: string;
|
|
184
|
-
/**
|
|
185
|
-
* 错误信息(可选)。
|
|
186
|
-
*/
|
|
187
|
-
error?: string;
|
|
188
|
-
}>;
|
|
189
|
-
}
|
|
190
|
-
//# sourceMappingURL=VoicePlugin.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"VoicePlugin.d.ts","sourceRoot":"","sources":["../../../src/voice/types/VoicePlugin.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+CAA+C,CAAC;AAE/E;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;IACrC;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,sBAAsB,GAAG,SAAS,CAAC;IAClE;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC;;OAEG;IACH,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;IACrC;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,sBAAsB,GAAG,SAAS,CAAC;IAClE;;;;;OAKG;IACH,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC3C;;OAEG;IACH,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;IACrC;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC;;OAEG;IACH,UAAU,CAAC,KAAK,EAAE;QAChB;;WAEG;QACH,SAAS,EAAE,MAAM,CAAC;QAClB;;WAEG;QACH,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,GAAG,OAAO,CAAC;QACV;;WAEG;QACH,OAAO,EAAE,OAAO,CAAC;QACjB;;WAEG;QACH,IAAI,CAAC,EAAE,MAAM,CAAC;QACd;;WAEG;QACH,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC,CAAC;CACJ"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"VoicePlugin.js","sourceRoot":"","sources":["../../../src/voice/types/VoicePlugin.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
|
package/bin/web/Dependency.d.ts
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Web Plugin 兼容导出层。
|
|
3
|
-
*
|
|
4
|
-
* 关键点(中文)
|
|
5
|
-
* - `web` plugin 只保留薄适配层。
|
|
6
|
-
* - 真正的联网/浏览器能力由外部 provider 项目负责。
|
|
7
|
-
*/
|
|
8
|
-
export { readWebPluginConfig, writeWebPluginConfig, } from "../web/runtime/Config.js";
|
|
9
|
-
export { inspectWebPluginDependency, installWebPluginDependency, doctorWebPluginDependency, } from "../web/runtime/Source.js";
|
|
10
|
-
//# sourceMappingURL=Dependency.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Dependency.d.ts","sourceRoot":"","sources":["../../src/web/Dependency.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,0BAA0B,EAC1B,0BAA0B,EAC1B,yBAAyB,GAC1B,MAAM,yBAAyB,CAAC"}
|
package/bin/web/Dependency.js
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Web Plugin 兼容导出层。
|
|
3
|
-
*
|
|
4
|
-
* 关键点(中文)
|
|
5
|
-
* - `web` plugin 只保留薄适配层。
|
|
6
|
-
* - 真正的联网/浏览器能力由外部 provider 项目负责。
|
|
7
|
-
*/
|
|
8
|
-
export { readWebPluginConfig, writeWebPluginConfig, } from "../web/runtime/Config.js";
|
|
9
|
-
export { inspectWebPluginDependency, installWebPluginDependency, doctorWebPluginDependency, } from "../web/runtime/Source.js";
|
|
10
|
-
//# sourceMappingURL=Dependency.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Dependency.js","sourceRoot":"","sources":["../../src/web/Dependency.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,0BAA0B,EAC1B,0BAA0B,EAC1B,yBAAyB,GAC1B,MAAM,yBAAyB,CAAC"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 自动生成文件,请勿手改。
|
|
3
|
-
* 源文件:由同路径 `*.ts.txt` 生成。
|
|
4
|
-
*/
|
|
5
|
-
declare const TEXT_MODULE_CONTENT = "# Web Plugin / agent-browser\n\n\u5F53\u524D provider \u662F `agent-browser`\u3002\n\n\u4F60\u5E94\u76F4\u63A5\u4F7F\u7528 `agent-browser` \u9879\u76EE\u7684\u6D4F\u89C8\u5668\u81EA\u52A8\u5316\u65B9\u6CD5\uFF0C\u800C\u4E0D\u662F\u5728\u672C\u9879\u76EE\u91CC\u81EA\u5DF1\u5B9E\u73B0\u6D4F\u89C8\u5668\u4EA4\u4E92\u3002\n\n\u5DE5\u4F5C\u539F\u5219\uFF1A\n\n- \u6D4F\u89C8\u5668\u4EA4\u4E92\u3001\u6253\u5F00\u9875\u9762\u3001\u70B9\u51FB\u3001\u586B\u5199\u3001\u622A\u56FE\u3001\u6EDA\u52A8\u7B49\u64CD\u4F5C\u4F18\u5148\u4EA4\u7ED9 `agent-browser`\n- \u4E25\u683C\u9075\u5FAA `agent-browser` \u7684\u57FA\u672C\u5DE5\u4F5C\u6D41\uFF1A\n 1. `open`\n 2. `snapshot -i`\n 3. \u4F7F\u7528\u5143\u7D20\u5F15\u7528\u4EA4\u4E92\n 4. \u9875\u9762\u53D8\u5316\u540E\u91CD\u65B0 snapshot\n- \u5982\u679C `agent-browser` provider \u4E0D\u53EF\u7528\uFF0C\u5E94\u5148\u62A5\u544A\u4F9D\u8D56\u7F3A\u5931\n\n\u4F60\u5728\u5904\u7406\u9700\u8981\u6D4F\u89C8\u5668\u64CD\u4F5C\u7684\u4EFB\u52A1\u65F6\uFF0C\u5E94\u4EE5\u5916\u90E8 `agent-browser` \u9879\u76EE\u4E3A\u51C6\u3002\n";
|
|
6
|
-
export default TEXT_MODULE_CONTENT;
|
|
7
|
-
//# sourceMappingURL=PROMPT.agent-browser.d.ts.map
|