@downcity/plugins 1.0.56 → 1.0.59
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 -6
- 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/auth/types/AuthPlugin.d.ts +12 -16
- package/bin/auth/types/AuthPlugin.d.ts.map +1 -1
- package/bin/auth/types/AuthPlugin.js +9 -13
- package/bin/auth/types/AuthPlugin.js.map +1 -1
- package/bin/chat/ChatPlugin.d.ts +37 -6
- package/bin/chat/ChatPlugin.d.ts.map +1 -1
- package/bin/chat/ChatPlugin.js +58 -80
- package/bin/chat/ChatPlugin.js.map +1 -1
- package/bin/chat/Index.d.ts +4 -1
- package/bin/chat/Index.d.ts.map +1 -1
- package/bin/chat/Index.js +2 -1
- package/bin/chat/Index.js.map +1 -1
- package/bin/chat/channels/Configuration.d.ts +1 -1
- package/bin/chat/channels/Configuration.js +1 -1
- package/bin/chat/channels/RuntimeChannel.d.ts +145 -0
- package/bin/chat/channels/RuntimeChannel.d.ts.map +1 -0
- package/bin/chat/channels/RuntimeChannel.js +148 -0
- package/bin/chat/channels/RuntimeChannel.js.map +1 -0
- package/bin/chat/runtime/ChatAuthorizationRuntime.d.ts +22 -0
- package/bin/chat/runtime/ChatAuthorizationRuntime.d.ts.map +1 -0
- package/bin/chat/runtime/ChatAuthorizationRuntime.js +189 -0
- package/bin/chat/runtime/ChatAuthorizationRuntime.js.map +1 -0
- package/bin/chat/runtime/ChatChannelActions.d.ts.map +1 -1
- package/bin/chat/runtime/ChatChannelActions.js +19 -9
- package/bin/chat/runtime/ChatChannelActions.js.map +1 -1
- package/bin/chat/runtime/ChatChannelConfig.d.ts +2 -18
- package/bin/chat/runtime/ChatChannelConfig.d.ts.map +1 -1
- package/bin/chat/runtime/ChatChannelConfig.js +2 -73
- package/bin/chat/runtime/ChatChannelConfig.js.map +1 -1
- package/bin/chat/runtime/ChatChannelCore.d.ts +22 -1
- package/bin/chat/runtime/ChatChannelCore.d.ts.map +1 -1
- package/bin/chat/runtime/ChatChannelCore.js +5 -5
- package/bin/chat/runtime/ChatChannelCore.js.map +1 -1
- package/bin/chat/runtime/ChatPluginActionRegistry.js +1 -1
- package/bin/chat/runtime/ChatPluginActionRegistry.js.map +1 -1
- package/bin/chat/runtime/PluginPoints.d.ts +3 -3
- package/bin/chat/runtime/PluginPoints.js +3 -3
- package/bin/chat/types/ChannelStatus.d.ts +1 -1
- package/bin/chat/types/ChatPluginOptions.d.ts +76 -0
- package/bin/chat/types/ChatPluginOptions.d.ts.map +1 -0
- package/bin/chat/types/ChatPluginOptions.js +10 -0
- package/bin/chat/types/ChatPluginOptions.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 +6 -3
- package/bin/index.d.ts.map +1 -1
- package/bin/index.js +2 -2
- package/bin/index.js.map +1 -1
- package/bin/skill/Action.d.ts.map +1 -1
- package/bin/skill/Action.js +2 -2
- package/bin/skill/Action.js.map +1 -1
- package/bin/skill/Command.js +5 -5
- package/bin/skill/Command.js.map +1 -1
- package/bin/skill/Plugin.js +1 -1
- package/bin/skill/Plugin.js.map +1 -1
- package/bin/skill/runtime/Discovery.d.ts +4 -4
- package/bin/skill/runtime/Discovery.d.ts.map +1 -1
- package/bin/skill/runtime/Discovery.js +5 -5
- package/bin/skill/runtime/Discovery.js.map +1 -1
- package/bin/skill/runtime/Paths.d.ts +1 -5
- package/bin/skill/runtime/Paths.d.ts.map +1 -1
- package/bin/skill/runtime/Paths.js +1 -9
- package/bin/skill/runtime/Paths.js.map +1 -1
- package/bin/skill/runtime/Prompt.d.ts +2 -2
- package/bin/skill/runtime/Prompt.d.ts.map +1 -1
- package/bin/skill/runtime/Prompt.js +3 -3
- package/bin/skill/runtime/Prompt.js.map +1 -1
- package/bin/skill/runtime/Store.d.ts +2 -2
- package/bin/skill/runtime/Store.d.ts.map +1 -1
- package/bin/skill/runtime/Store.js.map +1 -1
- package/bin/skill/runtime/SystemProvider.js +4 -4
- package/bin/skill/runtime/SystemProvider.js.map +1 -1
- package/bin/skill/runtime/Types.d.ts +3 -3
- package/bin/skill/runtime/Types.d.ts.map +1 -1
- package/bin/skill/types/{ClaudeSkill.d.ts → SkillDefinition.d.ts} +4 -4
- package/bin/skill/types/SkillDefinition.d.ts.map +1 -0
- package/bin/skill/types/{ClaudeSkill.js → SkillDefinition.js} +2 -2
- package/bin/skill/types/SkillDefinition.js.map +1 -0
- package/bin/skill/types/SkillPlugin.d.ts +2 -2
- package/bin/skill/types/SkillPlugin.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 +38 -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/bin/workboard/Plugin.d.ts +23 -3
- package/bin/workboard/Plugin.d.ts.map +1 -1
- package/bin/workboard/Plugin.js +66 -85
- package/bin/workboard/Plugin.js.map +1 -1
- package/package.json +2 -2
- package/src/BuiltinPlugins.ts +0 -6
- package/src/asr/Plugin.ts +264 -483
- package/src/asr/types/AsrPlugin.ts +118 -0
- package/src/auth/types/AuthPlugin.ts +12 -17
- package/src/chat/ChatPlugin.ts +92 -89
- package/src/chat/Index.ts +18 -1
- package/src/chat/channels/Configuration.ts +1 -1
- package/src/chat/channels/RuntimeChannel.ts +264 -0
- package/src/chat/runtime/ChatAuthorizationRuntime.ts +229 -0
- package/src/chat/runtime/ChatChannelActions.ts +24 -9
- package/src/chat/runtime/ChatChannelConfig.ts +2 -100
- package/src/chat/runtime/ChatChannelCore.ts +20 -8
- package/src/chat/runtime/ChatPluginActionRegistry.ts +1 -1
- package/src/chat/runtime/PluginPoints.ts +3 -3
- package/src/chat/types/ChannelStatus.ts +1 -1
- package/src/chat/types/ChatPluginOptions.ts +79 -0
- package/src/image/ImagePlugin.ts +23 -5
- package/src/index.ts +29 -6
- package/src/skill/Action.ts +10 -7
- package/src/skill/Command.ts +5 -5
- package/src/skill/Plugin.ts +1 -1
- package/src/skill/runtime/Discovery.ts +14 -11
- package/src/skill/runtime/Paths.ts +1 -13
- package/src/skill/runtime/Prompt.ts +5 -5
- package/src/skill/runtime/Store.ts +6 -3
- package/src/skill/runtime/SystemProvider.ts +4 -4
- package/src/skill/runtime/Types.ts +3 -3
- package/src/skill/types/{ClaudeSkill.ts → SkillDefinition.ts} +3 -3
- package/src/skill/types/SkillPlugin.ts +2 -2
- 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 +38 -114
- package/src/workboard/Plugin.ts +80 -95
- 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/auth/Plugin.d.ts +0 -17
- package/bin/auth/Plugin.d.ts.map +0 -1
- package/bin/auth/Plugin.js +0 -199
- package/bin/auth/Plugin.js.map +0 -1
- package/bin/chat/ChatPluginTypes.d.ts +0 -122
- package/bin/chat/ChatPluginTypes.d.ts.map +0 -1
- package/bin/chat/ChatPluginTypes.js +0 -10
- package/bin/chat/ChatPluginTypes.js.map +0 -1
- package/bin/skill/types/ClaudeSkill.d.ts.map +0 -1
- package/bin/skill/types/ClaudeSkill.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/auth/Plugin.ts +0 -237
- package/src/chat/ChatPluginTypes.ts +0 -126
- 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
|