@downcity/plugins 1.0.52 → 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.
Files changed (329) hide show
  1. package/bin/BuiltinPlugins.d.ts +2 -3
  2. package/bin/BuiltinPlugins.d.ts.map +1 -1
  3. package/bin/BuiltinPlugins.js +2 -6
  4. package/bin/BuiltinPlugins.js.map +1 -1
  5. package/bin/asr/Plugin.d.ts +67 -8
  6. package/bin/asr/Plugin.d.ts.map +1 -1
  7. package/bin/asr/Plugin.js +229 -461
  8. package/bin/asr/Plugin.js.map +1 -1
  9. package/bin/asr/types/AsrPlugin.d.ts +114 -0
  10. package/bin/asr/types/AsrPlugin.d.ts.map +1 -0
  11. package/bin/asr/types/AsrPlugin.js +10 -0
  12. package/bin/asr/types/AsrPlugin.js.map +1 -0
  13. package/bin/auth/Plugin.d.ts +1 -2
  14. package/bin/auth/Plugin.d.ts.map +1 -1
  15. package/bin/auth/Plugin.js +2 -2
  16. package/bin/auth/Plugin.js.map +1 -1
  17. package/bin/chat/ChatPlugin.d.ts +1 -2
  18. package/bin/chat/ChatPlugin.d.ts.map +1 -1
  19. package/bin/chat/ChatPlugin.js +3 -12
  20. package/bin/chat/ChatPlugin.js.map +1 -1
  21. package/bin/chat/PROMPT.direct.d.ts +1 -1
  22. package/bin/chat/PROMPT.direct.d.ts.map +1 -1
  23. package/bin/chat/PROMPT.direct.js +1 -1
  24. package/bin/chat/PROMPT.direct.js.map +1 -1
  25. package/bin/chat/channels/qq/PROMPT.direct.d.ts +1 -1
  26. package/bin/chat/channels/qq/PROMPT.direct.d.ts.map +1 -1
  27. package/bin/chat/channels/qq/PROMPT.direct.js +1 -1
  28. package/bin/chat/channels/qq/PROMPT.direct.js.map +1 -1
  29. package/bin/chat/channels/telegram/Bot.d.ts +6 -0
  30. package/bin/chat/channels/telegram/Bot.d.ts.map +1 -1
  31. package/bin/chat/channels/telegram/Bot.js +24 -0
  32. package/bin/chat/channels/telegram/Bot.js.map +1 -1
  33. package/bin/chat/channels/telegram/TelegramPlatformClient.d.ts +14 -0
  34. package/bin/chat/channels/telegram/TelegramPlatformClient.d.ts.map +1 -1
  35. package/bin/chat/channels/telegram/TelegramPlatformClient.js +39 -5
  36. package/bin/chat/channels/telegram/TelegramPlatformClient.js.map +1 -1
  37. package/bin/contact/ContactPlugin.d.ts +1 -2
  38. package/bin/contact/ContactPlugin.d.ts.map +1 -1
  39. package/bin/contact/ContactPlugin.js +2 -2
  40. package/bin/contact/ContactPlugin.js.map +1 -1
  41. package/bin/contact/PROMPT.d.ts +1 -1
  42. package/bin/contact/PROMPT.d.ts.map +1 -1
  43. package/bin/contact/PROMPT.js +1 -1
  44. package/bin/contact/PROMPT.js.map +1 -1
  45. package/bin/image/ImagePlugin.d.ts +61 -0
  46. package/bin/image/ImagePlugin.d.ts.map +1 -0
  47. package/bin/image/ImagePlugin.js +207 -0
  48. package/bin/image/ImagePlugin.js.map +1 -0
  49. package/bin/image/types/ImagePlugin.d.ts +136 -0
  50. package/bin/image/types/ImagePlugin.d.ts.map +1 -0
  51. package/bin/image/types/ImagePlugin.js +10 -0
  52. package/bin/image/types/ImagePlugin.js.map +1 -0
  53. package/bin/index.d.ts +4 -0
  54. package/bin/index.d.ts.map +1 -1
  55. package/bin/index.js +1 -0
  56. package/bin/index.js.map +1 -1
  57. package/bin/shell/ShellPlugin.d.ts +1 -2
  58. package/bin/shell/ShellPlugin.d.ts.map +1 -1
  59. package/bin/shell/ShellPlugin.js +2 -2
  60. package/bin/shell/ShellPlugin.js.map +1 -1
  61. package/bin/skill/Action.d.ts +8 -3
  62. package/bin/skill/Action.d.ts.map +1 -1
  63. package/bin/skill/Action.js +9 -11
  64. package/bin/skill/Action.js.map +1 -1
  65. package/bin/skill/Command.d.ts +1 -1
  66. package/bin/skill/Command.d.ts.map +1 -1
  67. package/bin/skill/Command.js +3 -10
  68. package/bin/skill/Command.js.map +1 -1
  69. package/bin/skill/Config.d.ts +9 -9
  70. package/bin/skill/Config.d.ts.map +1 -1
  71. package/bin/skill/Config.js +36 -24
  72. package/bin/skill/Config.js.map +1 -1
  73. package/bin/skill/PROMPT.d.ts +1 -1
  74. package/bin/skill/PROMPT.d.ts.map +1 -1
  75. package/bin/skill/PROMPT.js +1 -1
  76. package/bin/skill/PROMPT.js.map +1 -1
  77. package/bin/skill/Plugin.d.ts +2 -2
  78. package/bin/skill/Plugin.d.ts.map +1 -1
  79. package/bin/skill/Plugin.js +20 -37
  80. package/bin/skill/Plugin.js.map +1 -1
  81. package/bin/skill/runtime/Discovery.d.ts +3 -3
  82. package/bin/skill/runtime/Discovery.d.ts.map +1 -1
  83. package/bin/skill/runtime/Discovery.js +37 -14
  84. package/bin/skill/runtime/Discovery.js.map +1 -1
  85. package/bin/skill/runtime/Paths.d.ts +5 -5
  86. package/bin/skill/runtime/Paths.d.ts.map +1 -1
  87. package/bin/skill/runtime/Paths.js +23 -33
  88. package/bin/skill/runtime/Paths.js.map +1 -1
  89. package/bin/skill/runtime/Prompt.d.ts +2 -2
  90. package/bin/skill/runtime/Prompt.d.ts.map +1 -1
  91. package/bin/skill/runtime/Prompt.js +3 -8
  92. package/bin/skill/runtime/Prompt.js.map +1 -1
  93. package/bin/skill/runtime/SystemProvider.d.ts +2 -2
  94. package/bin/skill/runtime/SystemProvider.d.ts.map +1 -1
  95. package/bin/skill/runtime/SystemProvider.js +2 -2
  96. package/bin/skill/runtime/SystemProvider.js.map +1 -1
  97. package/bin/skill/types/SkillPlugin.d.ts +34 -12
  98. package/bin/skill/types/SkillPlugin.d.ts.map +1 -1
  99. package/bin/skill/types/SkillPlugin.js +2 -1
  100. package/bin/skill/types/SkillPlugin.js.map +1 -1
  101. package/bin/skill/types/SkillRoot.d.ts +1 -1
  102. package/bin/task/Action.js +2 -2
  103. package/bin/task/Action.js.map +1 -1
  104. package/bin/task/PROMPT.d.ts +1 -1
  105. package/bin/task/PROMPT.d.ts.map +1 -1
  106. package/bin/task/PROMPT.js +1 -1
  107. package/bin/task/PROMPT.js.map +1 -1
  108. package/bin/task/TaskPlugin.d.ts +1 -2
  109. package/bin/task/TaskPlugin.d.ts.map +1 -1
  110. package/bin/task/TaskPlugin.js +2 -2
  111. package/bin/task/TaskPlugin.js.map +1 -1
  112. package/bin/tts/Plugin.d.ts +53 -7
  113. package/bin/tts/Plugin.d.ts.map +1 -1
  114. package/bin/tts/Plugin.js +197 -474
  115. package/bin/tts/Plugin.js.map +1 -1
  116. package/bin/tts/types/TtsPlugin.d.ts +63 -102
  117. package/bin/tts/types/TtsPlugin.d.ts.map +1 -1
  118. package/bin/tts/types/TtsPlugin.js +4 -3
  119. package/bin/tts/types/TtsPlugin.js.map +1 -1
  120. package/bin/web/PROMPT.d.ts +1 -1
  121. package/bin/web/PROMPT.d.ts.map +1 -1
  122. package/bin/web/PROMPT.js +1 -1
  123. package/bin/web/PROMPT.js.map +1 -1
  124. package/bin/web/Plugin.d.ts +66 -6
  125. package/bin/web/Plugin.d.ts.map +1 -1
  126. package/bin/web/Plugin.js +130 -447
  127. package/bin/web/Plugin.js.map +1 -1
  128. package/bin/web/WebPromptAssets.d.ts +1 -9
  129. package/bin/web/WebPromptAssets.d.ts.map +1 -1
  130. package/bin/web/WebPromptAssets.js +1 -11
  131. package/bin/web/WebPromptAssets.js.map +1 -1
  132. package/bin/web/runtime/Install.d.ts +19 -0
  133. package/bin/web/runtime/Install.d.ts.map +1 -0
  134. package/bin/web/runtime/Install.js +178 -0
  135. package/bin/web/runtime/Install.js.map +1 -0
  136. package/bin/web/types/WebPlugin.d.ts +37 -109
  137. package/bin/web/types/WebPlugin.d.ts.map +1 -1
  138. package/bin/web/types/WebPlugin.js +5 -7
  139. package/bin/web/types/WebPlugin.js.map +1 -1
  140. package/bin/workboard/Plugin.d.ts +1 -2
  141. package/bin/workboard/Plugin.d.ts.map +1 -1
  142. package/bin/workboard/Plugin.js +2 -2
  143. package/bin/workboard/Plugin.js.map +1 -1
  144. package/package.json +2 -2
  145. package/src/BuiltinPlugins.ts +3 -10
  146. package/src/asr/Plugin.ts +264 -484
  147. package/src/asr/types/AsrPlugin.ts +118 -0
  148. package/src/auth/Plugin.ts +2 -3
  149. package/src/chat/ChatPlugin.ts +3 -14
  150. package/src/chat/PROMPT.direct.ts +1 -1
  151. package/src/chat/PROMPT.direct.ts.txt +5 -7
  152. package/src/chat/channels/qq/PROMPT.direct.ts +1 -1
  153. package/src/chat/channels/qq/PROMPT.direct.ts.txt +1 -1
  154. package/src/chat/channels/telegram/Bot.ts +22 -0
  155. package/src/chat/channels/telegram/TelegramPlatformClient.ts +42 -6
  156. package/src/contact/ContactPlugin.ts +2 -3
  157. package/src/contact/PROMPT.ts +1 -1
  158. package/src/contact/PROMPT.ts.txt +12 -12
  159. package/src/image/ImagePlugin.ts +268 -0
  160. package/src/image/types/ImagePlugin.ts +157 -0
  161. package/src/index.ts +25 -0
  162. package/src/shell/ShellPlugin.ts +2 -3
  163. package/src/skill/Action.ts +20 -9
  164. package/src/skill/Command.ts +3 -13
  165. package/src/skill/Config.ts +41 -34
  166. package/src/skill/PROMPT.ts +1 -1
  167. package/src/skill/PROMPT.ts.txt +14 -2
  168. package/src/skill/Plugin.ts +205 -214
  169. package/src/skill/runtime/Discovery.ts +43 -17
  170. package/src/skill/runtime/Paths.ts +24 -35
  171. package/src/skill/runtime/Prompt.ts +4 -10
  172. package/src/skill/runtime/SystemProvider.ts +4 -4
  173. package/src/skill/types/SkillPlugin.ts +39 -12
  174. package/src/skill/types/SkillRoot.ts +1 -1
  175. package/src/task/Action.ts +2 -2
  176. package/src/task/PROMPT.ts +1 -1
  177. package/src/task/PROMPT.ts.txt +10 -10
  178. package/src/task/TaskPlugin.ts +2 -3
  179. package/src/tts/Plugin.ts +225 -493
  180. package/src/tts/types/TtsPlugin.ts +67 -102
  181. package/src/web/PROMPT.ts +1 -1
  182. package/src/web/PROMPT.ts.txt +32 -6
  183. package/src/web/Plugin.ts +119 -454
  184. package/src/web/WebPromptAssets.ts +1 -13
  185. package/src/web/runtime/Install.ts +241 -0
  186. package/src/web/types/WebPlugin.ts +37 -113
  187. package/src/workboard/Plugin.ts +2 -3
  188. package/bin/asr/Config.d.ts +0 -43
  189. package/bin/asr/Config.d.ts.map +0 -1
  190. package/bin/asr/Config.js +0 -107
  191. package/bin/asr/Config.js.map +0 -1
  192. package/bin/asr/Dependency.d.ts +0 -77
  193. package/bin/asr/Dependency.d.ts.map +0 -1
  194. package/bin/asr/Dependency.js +0 -238
  195. package/bin/asr/Dependency.js.map +0 -1
  196. package/bin/asr/InboundAugment.d.ts +0 -17
  197. package/bin/asr/InboundAugment.d.ts.map +0 -1
  198. package/bin/asr/InboundAugment.js +0 -47
  199. package/bin/asr/InboundAugment.js.map +0 -1
  200. package/bin/asr/ModelCatalog.d.ts +0 -29
  201. package/bin/asr/ModelCatalog.d.ts.map +0 -1
  202. package/bin/asr/ModelCatalog.js +0 -25
  203. package/bin/asr/ModelCatalog.js.map +0 -1
  204. package/bin/tts/Dependency.d.ts +0 -90
  205. package/bin/tts/Dependency.d.ts.map +0 -1
  206. package/bin/tts/Dependency.js +0 -344
  207. package/bin/tts/Dependency.js.map +0 -1
  208. package/bin/tts/PluginSupport.d.ts +0 -25
  209. package/bin/tts/PluginSupport.d.ts.map +0 -1
  210. package/bin/tts/PluginSupport.js +0 -72
  211. package/bin/tts/PluginSupport.js.map +0 -1
  212. package/bin/tts/runtime/Catalog.d.ts +0 -21
  213. package/bin/tts/runtime/Catalog.d.ts.map +0 -1
  214. package/bin/tts/runtime/Catalog.js +0 -90
  215. package/bin/tts/runtime/Catalog.js.map +0 -1
  216. package/bin/tts/runtime/DependencyInstaller.d.ts +0 -143
  217. package/bin/tts/runtime/DependencyInstaller.d.ts.map +0 -1
  218. package/bin/tts/runtime/DependencyInstaller.js +0 -261
  219. package/bin/tts/runtime/DependencyInstaller.js.map +0 -1
  220. package/bin/tts/runtime/Installer.d.ts +0 -89
  221. package/bin/tts/runtime/Installer.d.ts.map +0 -1
  222. package/bin/tts/runtime/Installer.js +0 -188
  223. package/bin/tts/runtime/Installer.js.map +0 -1
  224. package/bin/tts/runtime/Paths.d.ts +0 -20
  225. package/bin/tts/runtime/Paths.d.ts.map +0 -1
  226. package/bin/tts/runtime/Paths.js +0 -32
  227. package/bin/tts/runtime/Paths.js.map +0 -1
  228. package/bin/tts/runtime/Synthesizer.d.ts +0 -44
  229. package/bin/tts/runtime/Synthesizer.d.ts.map +0 -1
  230. package/bin/tts/runtime/Synthesizer.js +0 -363
  231. package/bin/tts/runtime/Synthesizer.js.map +0 -1
  232. package/bin/tts/types/Tts.d.ts +0 -91
  233. package/bin/tts/types/Tts.d.ts.map +0 -1
  234. package/bin/tts/types/Tts.js +0 -9
  235. package/bin/tts/types/Tts.js.map +0 -1
  236. package/bin/voice/Config.d.ts +0 -43
  237. package/bin/voice/Config.d.ts.map +0 -1
  238. package/bin/voice/Config.js +0 -104
  239. package/bin/voice/Config.js.map +0 -1
  240. package/bin/voice/Dependency.d.ts +0 -77
  241. package/bin/voice/Dependency.d.ts.map +0 -1
  242. package/bin/voice/Dependency.js +0 -237
  243. package/bin/voice/Dependency.js.map +0 -1
  244. package/bin/voice/InboundAugment.d.ts +0 -17
  245. package/bin/voice/InboundAugment.d.ts.map +0 -1
  246. package/bin/voice/InboundAugment.js +0 -47
  247. package/bin/voice/InboundAugment.js.map +0 -1
  248. package/bin/voice/ModelCatalog.d.ts +0 -29
  249. package/bin/voice/ModelCatalog.d.ts.map +0 -1
  250. package/bin/voice/ModelCatalog.js +0 -25
  251. package/bin/voice/ModelCatalog.js.map +0 -1
  252. package/bin/voice/runtime/Catalog.d.ts +0 -18
  253. package/bin/voice/runtime/Catalog.d.ts.map +0 -1
  254. package/bin/voice/runtime/Catalog.js +0 -61
  255. package/bin/voice/runtime/Catalog.js.map +0 -1
  256. package/bin/voice/runtime/DependencyInstaller.d.ts +0 -145
  257. package/bin/voice/runtime/DependencyInstaller.d.ts.map +0 -1
  258. package/bin/voice/runtime/DependencyInstaller.js +0 -309
  259. package/bin/voice/runtime/DependencyInstaller.js.map +0 -1
  260. package/bin/voice/runtime/Installer.d.ts +0 -94
  261. package/bin/voice/runtime/Installer.d.ts.map +0 -1
  262. package/bin/voice/runtime/Installer.js +0 -200
  263. package/bin/voice/runtime/Installer.js.map +0 -1
  264. package/bin/voice/runtime/Paths.d.ts +0 -8
  265. package/bin/voice/runtime/Paths.d.ts.map +0 -1
  266. package/bin/voice/runtime/Paths.js +0 -26
  267. package/bin/voice/runtime/Paths.js.map +0 -1
  268. package/bin/voice/runtime/Transcriber.d.ts +0 -57
  269. package/bin/voice/runtime/Transcriber.d.ts.map +0 -1
  270. package/bin/voice/runtime/Transcriber.js +0 -329
  271. package/bin/voice/runtime/Transcriber.js.map +0 -1
  272. package/bin/voice/types/Voice.d.ts +0 -58
  273. package/bin/voice/types/Voice.d.ts.map +0 -1
  274. package/bin/voice/types/Voice.js +0 -9
  275. package/bin/voice/types/Voice.js.map +0 -1
  276. package/bin/voice/types/VoicePlugin.d.ts +0 -190
  277. package/bin/voice/types/VoicePlugin.d.ts.map +0 -1
  278. package/bin/voice/types/VoicePlugin.js +0 -9
  279. package/bin/voice/types/VoicePlugin.js.map +0 -1
  280. package/bin/web/Dependency.d.ts +0 -10
  281. package/bin/web/Dependency.d.ts.map +0 -1
  282. package/bin/web/Dependency.js +0 -10
  283. package/bin/web/Dependency.js.map +0 -1
  284. package/bin/web/PROMPT.agent-browser.d.ts +0 -7
  285. package/bin/web/PROMPT.agent-browser.d.ts.map +0 -1
  286. package/bin/web/PROMPT.agent-browser.js +0 -8
  287. package/bin/web/PROMPT.agent-browser.js.map +0 -1
  288. package/bin/web/PROMPT.web-access.d.ts +0 -7
  289. package/bin/web/PROMPT.web-access.d.ts.map +0 -1
  290. package/bin/web/PROMPT.web-access.js +0 -8
  291. package/bin/web/PROMPT.web-access.js.map +0 -1
  292. package/bin/web/runtime/Config.d.ts +0 -21
  293. package/bin/web/runtime/Config.d.ts.map +0 -1
  294. package/bin/web/runtime/Config.js +0 -79
  295. package/bin/web/runtime/Config.js.map +0 -1
  296. package/bin/web/runtime/Source.d.ts +0 -29
  297. package/bin/web/runtime/Source.d.ts.map +0 -1
  298. package/bin/web/runtime/Source.js +0 -209
  299. package/bin/web/runtime/Source.js.map +0 -1
  300. package/src/asr/Config.ts +0 -138
  301. package/src/asr/Dependency.ts +0 -336
  302. package/src/asr/InboundAugment.ts +0 -59
  303. package/src/asr/ModelCatalog.ts +0 -43
  304. package/src/tts/Dependency.ts +0 -473
  305. package/src/tts/PluginSupport.ts +0 -85
  306. package/src/tts/runtime/Catalog.ts +0 -97
  307. package/src/tts/runtime/DependencyInstaller.ts +0 -436
  308. package/src/tts/runtime/Installer.ts +0 -297
  309. package/src/tts/runtime/Paths.ts +0 -39
  310. package/src/tts/runtime/Synthesizer.ts +0 -480
  311. package/src/tts/types/Tts.ts +0 -99
  312. package/src/voice/Config.ts +0 -135
  313. package/src/voice/Dependency.ts +0 -329
  314. package/src/voice/InboundAugment.ts +0 -59
  315. package/src/voice/ModelCatalog.ts +0 -43
  316. package/src/voice/runtime/Catalog.ts +0 -68
  317. package/src/voice/runtime/DependencyInstaller.ts +0 -505
  318. package/src/voice/runtime/Installer.ts +0 -324
  319. package/src/voice/runtime/Paths.ts +0 -26
  320. package/src/voice/runtime/Transcriber.ts +0 -467
  321. package/src/voice/types/Voice.ts +0 -68
  322. package/src/voice/types/VoicePlugin.ts +0 -194
  323. package/src/web/Dependency.ts +0 -17
  324. package/src/web/PROMPT.agent-browser.ts +0 -9
  325. package/src/web/PROMPT.agent-browser.ts.txt +0 -17
  326. package/src/web/PROMPT.web-access.ts +0 -9
  327. package/src/web/PROMPT.web-access.ts.txt +0 -13
  328. package/src/web/runtime/Config.ts +0 -105
  329. package/src/web/runtime/Source.ts +0 -257
@@ -1,238 +0,0 @@
1
- /**
2
- * ASR Plugin Dependency Helper。
3
- *
4
- * 关键点(中文)
5
- * - ASR 的转写依赖现在内聚在 plugin 内部,不再暴露独立依赖端口心智。
6
- * - 这里统一管理检查、安装、配置读写与转写句柄解析。
7
- */
8
- import { execFile as execFileCb } from "node:child_process";
9
- import { promisify } from "node:util";
10
- import { transcribeVoiceAudio } from "../voice/runtime/Transcriber.js";
11
- import { VOICE_MODEL_CATALOG, resolveVoiceModelId, } from "../voice/runtime/Catalog.js";
12
- import { detectLocalVoiceModelInstallState, installVoiceModelFromHuggingFace, } from "../voice/runtime/Installer.js";
13
- import { installVoiceTranscribeDependencies, resolveVoiceRunnersByModels, resolveVoiceStrategyByModel, } from "../voice/runtime/DependencyInstaller.js";
14
- import { resolveVoiceModelsRootDir } from "../voice/runtime/Paths.js";
15
- const execFileAsync = promisify(execFileCb);
16
- function readVoicePluginRecord(context) {
17
- const current = context.config.plugins?.asr;
18
- if (!current || typeof current !== "object" || Array.isArray(current)) {
19
- return {};
20
- }
21
- return current;
22
- }
23
- function toJsonObject(input) {
24
- const out = {};
25
- if (!input)
26
- return out;
27
- for (const [key, value] of Object.entries(input)) {
28
- if (value === undefined)
29
- continue;
30
- if (value === null ||
31
- typeof value === "string" ||
32
- typeof value === "number" ||
33
- typeof value === "boolean") {
34
- out[key] = value;
35
- continue;
36
- }
37
- if (Array.isArray(value)) {
38
- out[key] = value
39
- .filter((item) => item !== undefined)
40
- .map((item) => item);
41
- continue;
42
- }
43
- if (typeof value === "object") {
44
- out[key] = toJsonObject(value);
45
- }
46
- }
47
- return out;
48
- }
49
- /**
50
- * 读取 ASR 转写依赖配置。
51
- */
52
- export function readVoiceTranscriberConfig(context) {
53
- const { enabled: _ignoredEnabled, ...current } = readVoicePluginRecord(context);
54
- return {
55
- provider: "local",
56
- ...current,
57
- };
58
- }
59
- /**
60
- * 写入 ASR 转写依赖配置。
61
- */
62
- export async function writeVoiceTranscriberConfig(params) {
63
- if (!params.context.config.plugins) {
64
- params.context.config.plugins = {};
65
- }
66
- const current = readVoicePluginRecord(params.context);
67
- const next = {
68
- ...current,
69
- ...params.value,
70
- };
71
- delete next.enabled;
72
- params.context.config.plugins.asr = toJsonObject(next);
73
- await params.context.pluginConfig.persistProjectPlugins(params.context.config.plugins);
74
- return params.context.config.plugins.asr;
75
- }
76
- async function checkLocalProviderAvailability(context, config) {
77
- const reasons = [];
78
- const modelId = resolveVoiceModelId(String(config.modelId || ""));
79
- if (!modelId) {
80
- reasons.push("asr transcriber modelId is missing");
81
- return {
82
- available: false,
83
- reasons,
84
- };
85
- }
86
- const modelsRootDir = resolveVoiceModelsRootDir({
87
- projectRoot: context.rootPath,
88
- modelsDir: config.modelsDir,
89
- });
90
- const installState = await detectLocalVoiceModelInstallState({
91
- modelId,
92
- modelsRootDir,
93
- });
94
- if (!installState.installed) {
95
- reasons.push(`asr model is not installed: ${modelId}`);
96
- }
97
- const pythonBin = String(config.pythonBin || "").trim() || "python3";
98
- try {
99
- await execFileAsync(pythonBin, ["--version"], {
100
- timeout: 15_000,
101
- maxBuffer: 1024 * 1024,
102
- });
103
- }
104
- catch (error) {
105
- reasons.push(`python runtime missing: ${String(error)}`);
106
- }
107
- return {
108
- available: reasons.length === 0,
109
- reasons,
110
- };
111
- }
112
- /**
113
- * 检查 ASR 转写依赖可用性。
114
- */
115
- export async function checkVoiceTranscriber(context) {
116
- const config = readVoiceTranscriberConfig(context);
117
- if (config.provider === "command") {
118
- const command = String(config.command || "").trim();
119
- return {
120
- available: Boolean(command),
121
- reasons: command ? [] : ["asr transcriber command is missing"],
122
- };
123
- }
124
- return checkLocalProviderAvailability(context, config);
125
- }
126
- /**
127
- * 安装或修复 ASR 转写依赖。
128
- */
129
- export async function installVoiceTranscriber(params) {
130
- const context = params.context;
131
- const input = params.input;
132
- const config = readVoiceTranscriberConfig(context);
133
- if (config.provider === "command") {
134
- return {
135
- success: true,
136
- message: "asr command provider does not require install",
137
- };
138
- }
139
- const requestedModelIds = (Array.isArray(input?.modelIds) ? input?.modelIds : [])
140
- .map((item) => resolveVoiceModelId(String(item || "").trim()))
141
- .filter((item) => Boolean(item));
142
- const selectedModelIds = requestedModelIds.length > 0
143
- ? requestedModelIds
144
- : [resolveVoiceModelId(String(config.modelId || "SenseVoiceSmall")) || "SenseVoiceSmall"];
145
- const modelsRootDir = resolveVoiceModelsRootDir({
146
- projectRoot: context.rootPath,
147
- modelsDir: input?.modelsDir || config.modelsDir,
148
- });
149
- for (const modelId of selectedModelIds) {
150
- const model = VOICE_MODEL_CATALOG.find((item) => item.id === modelId);
151
- if (!model) {
152
- throw new Error(`Unsupported asr model: ${modelId}`);
153
- }
154
- const installState = await detectLocalVoiceModelInstallState({
155
- modelId,
156
- modelsRootDir,
157
- });
158
- if (!installState.installed || input?.force === true) {
159
- await installVoiceModelFromHuggingFace({
160
- model,
161
- modelsRootDir,
162
- force: input?.force === true,
163
- hfToken: input?.hfToken,
164
- });
165
- }
166
- }
167
- if (input?.installDeps !== false) {
168
- await installVoiceTranscribeDependencies({
169
- pythonBin: String(input?.pythonBin || config.pythonBin || "").trim() || "python3",
170
- runners: resolveVoiceRunnersByModels(selectedModelIds),
171
- });
172
- }
173
- const activeModelId = resolveVoiceModelId(String(input?.activeModel || "")) ||
174
- selectedModelIds[0];
175
- const nextConfig = {
176
- ...config,
177
- provider: "local",
178
- modelId: activeModelId,
179
- modelsDir: modelsRootDir,
180
- pythonBin: String(input?.pythonBin || config.pythonBin || "").trim() || undefined,
181
- ...(config.command ? { command: config.command } : {}),
182
- language: typeof config.language === "string" && config.language.trim()
183
- ? config.language.trim()
184
- : undefined,
185
- strategy: resolveVoiceStrategyByModel(activeModelId),
186
- installedModels: selectedModelIds,
187
- };
188
- await writeVoiceTranscriberConfig({
189
- context,
190
- value: nextConfig,
191
- });
192
- return {
193
- success: true,
194
- message: "asr transcriber installed",
195
- details: {
196
- modelIds: selectedModelIds,
197
- activeModel: activeModelId,
198
- modelsRootDir,
199
- },
200
- };
201
- }
202
- /**
203
- * 解析 ASR 转写句柄。
204
- */
205
- export async function resolveVoiceTranscriber(context) {
206
- return {
207
- async transcribe(input) {
208
- try {
209
- const result = await transcribeVoiceAudio({
210
- context,
211
- audioPath: input.audioPath,
212
- language: input.language,
213
- });
214
- return {
215
- success: true,
216
- text: result.text,
217
- };
218
- }
219
- catch (error) {
220
- return {
221
- success: false,
222
- error: String(error),
223
- };
224
- }
225
- },
226
- };
227
- }
228
- /**
229
- * 执行一次 ASR 转写。
230
- */
231
- export async function transcribeWithVoiceDependency(params) {
232
- const transcriber = await resolveVoiceTranscriber(params.context);
233
- return transcriber.transcribe({
234
- audioPath: params.audioPath,
235
- ...(params.language ? { language: params.language } : {}),
236
- });
237
- }
238
- //# sourceMappingURL=Dependency.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Dependency.js","sourceRoot":"","sources":["../../src/asr/Dependency.ts"],"names":[],"mappings":"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"}
@@ -1,17 +0,0 @@
1
- /**
2
- * ASR 入站消息增强 hook。
3
- *
4
- * 关键点(中文)
5
- * - 只处理 voice/audio 附件,转写结果作为 plugin section 注入。
6
- * - 转写失败不阻塞主链路,保持 best-effort。
7
- */
8
- import type { AgentContext } from "@downcity/agent/internal/types/runtime/agent/AgentContext.js";
9
- import type { JsonValue } from "@downcity/agent/internal/types/common/Json.js";
10
- /**
11
- * 自动转写入站语音附件。
12
- */
13
- export declare function augmentAsrInboundMessage(params: {
14
- context: AgentContext;
15
- value: JsonValue;
16
- }): Promise<JsonValue>;
17
- //# sourceMappingURL=InboundAugment.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"InboundAugment.d.ts","sourceRoot":"","sources":["../../src/asr/InboundAugment.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8DAA8D,CAAC;AAEjG,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+CAA+C,CAAC;AAG/E;;GAEG;AACH,wBAAsB,wBAAwB,CAAC,MAAM,EAAE;IACrD,OAAO,EAAE,YAAY,CAAC;IACtB,KAAK,EAAE,SAAS,CAAC;CAClB,GAAG,OAAO,CAAC,SAAS,CAAC,CAuCrB"}
@@ -1,47 +0,0 @@
1
- /**
2
- * ASR 入站消息增强 hook。
3
- *
4
- * 关键点(中文)
5
- * - 只处理 voice/audio 附件,转写结果作为 plugin section 注入。
6
- * - 转写失败不阻塞主链路,保持 best-effort。
7
- */
8
- import { transcribeWithVoiceDependency } from "../asr/Dependency.js";
9
- /**
10
- * 自动转写入站语音附件。
11
- */
12
- export async function augmentAsrInboundMessage(params) {
13
- const input = params.value;
14
- const voiceAttachments = (Array.isArray(input.attachments) ? input.attachments : []).filter((item) => (item.kind === "voice" || item.kind === "audio") &&
15
- typeof item.path === "string" &&
16
- item.path.trim());
17
- if (voiceAttachments.length === 0) {
18
- return input;
19
- }
20
- const pluginSections = Array.isArray(input.pluginSections)
21
- ? [...input.pluginSections]
22
- : [];
23
- for (const attachment of voiceAttachments) {
24
- try {
25
- const result = await transcribeWithVoiceDependency({
26
- context: params.context,
27
- audioPath: String(attachment.path || "").trim(),
28
- });
29
- const text = typeof result.text === "string" ? result.text.trim() : "";
30
- if (!text)
31
- continue;
32
- const absPath = String(attachment.path || "").trim();
33
- const rel = absPath.startsWith(`${params.context.rootPath}/`)
34
- ? absPath.slice(params.context.rootPath.length + 1)
35
- : absPath;
36
- pluginSections.push(`【语音转写 ${attachment.kind}: ${rel}】\n${text}`);
37
- }
38
- catch {
39
- // 关键点(中文):转写失败不阻塞主链路,保持 best-effort。
40
- }
41
- }
42
- return {
43
- ...input,
44
- pluginSections,
45
- };
46
- }
47
- //# sourceMappingURL=InboundAugment.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"InboundAugment.js","sourceRoot":"","sources":["../../src/asr/InboundAugment.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,EAAE,6BAA6B,EAAE,MAAM,qBAAqB,CAAC;AAEpE;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,MAG9C;IACC,MAAM,KAAK,GAAG,MAAM,CAAC,KAA2C,CAAC;IACjE,MAAM,gBAAgB,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CACzF,CAAC,IAAI,EAAE,EAAE,CACP,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC;QAChD,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ;QAC7B,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CACnB,CAAC;IACF,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClC,OAAO,KAA6B,CAAC;IACvC,CAAC;IAED,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC;QACxD,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,cAAc,CAAC;QAC3B,CAAC,CAAC,EAAE,CAAC;IAEP,KAAK,MAAM,UAAU,IAAI,gBAAgB,EAAE,CAAC;QAC1C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,6BAA6B,CAAC;gBACjD,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,SAAS,EAAE,MAAM,CAAC,UAAU,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;aAChD,CAAC,CAAC;YACH,MAAM,IAAI,GAAG,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvE,IAAI,CAAC,IAAI;gBAAE,SAAS;YAEpB,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YACrD,MAAM,GAAG,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,GAAG,CAAC;gBAC3D,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;gBACnD,CAAC,CAAC,OAAO,CAAC;YACZ,cAAc,CAAC,IAAI,CAAC,SAAS,UAAU,CAAC,IAAI,KAAK,GAAG,MAAM,IAAI,EAAE,CAAC,CAAC;QACpE,CAAC;QAAC,MAAM,CAAC;YACP,qCAAqC;QACvC,CAAC;IACH,CAAC;IAED,OAAO;QACL,GAAG,KAAK;QACR,cAAc;KACS,CAAC;AAC5B,CAAC"}
@@ -1,29 +0,0 @@
1
- /**
2
- * Voice 插件模型目录封装。
3
- *
4
- * 关键点(中文)
5
- * - 对 plugin 层暴露稳定的 ASR 模型目录接口。
6
- * - plugin 不直接依赖底层 runtime 文件布局,只依赖这里的领域封装。
7
- */
8
- /**
9
- * 列出内置 voice 模型目录。
10
- */
11
- export declare function listVoiceModels(): Array<{
12
- /**
13
- * 稳定模型 ID。
14
- */
15
- id: string;
16
- /**
17
- * 用户可读标签。
18
- */
19
- label: string;
20
- /**
21
- * 用户可读说明。
22
- */
23
- description: string;
24
- }>;
25
- /**
26
- * 解析用户输入的 voice 模型 ID。
27
- */
28
- export declare function resolveVoicePluginModelId(input: string): string | null;
29
- //# sourceMappingURL=ModelCatalog.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ModelCatalog.d.ts","sourceRoot":"","sources":["../../src/asr/ModelCatalog.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAOH;;GAEG;AACH,wBAAgB,eAAe,IAAI,KAAK,CAAC;IACvC;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IACX;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC,CAMD;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAEtE"}
@@ -1,25 +0,0 @@
1
- /**
2
- * Voice 插件模型目录封装。
3
- *
4
- * 关键点(中文)
5
- * - 对 plugin 层暴露稳定的 ASR 模型目录接口。
6
- * - plugin 不直接依赖底层 runtime 文件布局,只依赖这里的领域封装。
7
- */
8
- import { VOICE_MODEL_CATALOG, resolveVoiceModelId, } from "../voice/runtime/Catalog.js";
9
- /**
10
- * 列出内置 voice 模型目录。
11
- */
12
- export function listVoiceModels() {
13
- return VOICE_MODEL_CATALOG.map((item) => ({
14
- id: item.id,
15
- label: item.label,
16
- description: item.description,
17
- }));
18
- }
19
- /**
20
- * 解析用户输入的 voice 模型 ID。
21
- */
22
- export function resolveVoicePluginModelId(input) {
23
- return resolveVoiceModelId(input);
24
- }
25
- //# sourceMappingURL=ModelCatalog.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ModelCatalog.js","sourceRoot":"","sources":["../../src/asr/ModelCatalog.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,4BAA4B,CAAC;AAEpC;;GAEG;AACH,MAAM,UAAU,eAAe;IAc7B,OAAO,mBAAmB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACxC,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,WAAW,EAAE,IAAI,CAAC,WAAW;KAC9B,CAAC,CAAC,CAAC;AACN,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,yBAAyB,CAAC,KAAa;IACrD,OAAO,mBAAmB,CAAC,KAAK,CAAC,CAAC;AACpC,CAAC"}
@@ -1,90 +0,0 @@
1
- /**
2
- * TTS Plugin Dependency Helper。
3
- *
4
- * 关键点(中文)
5
- * - TTS 的模型安装、配置读写与可用性检查都内聚在 plugin 内部。
6
- * - Console 只调用 plugin action,不直接理解底层资源结构。
7
- */
8
- import type { JsonValue } from "@downcity/agent/internal/types/common/Json.js";
9
- import type { PluginCommandContext } from "@downcity/agent/internal/plugin/types/Plugin.js";
10
- import type { TtsInstallInput, TtsPluginConfig } from "../tts/types/TtsPlugin.js";
11
- export interface TtsDependencyCheckResult {
12
- /**
13
- * 当前依赖是否可用。
14
- */
15
- available: boolean;
16
- /**
17
- * 不可用原因列表。
18
- */
19
- reasons: string[];
20
- /**
21
- * 结构化附加数据(可选)。
22
- */
23
- details?: JsonValue;
24
- }
25
- export interface TtsDependencyInstallResult {
26
- /**
27
- * 安装是否成功。
28
- */
29
- success: boolean;
30
- /**
31
- * 人类可读消息(可选)。
32
- */
33
- message?: string;
34
- /**
35
- * 结构化附加数据(可选)。
36
- */
37
- details?: JsonValue;
38
- }
39
- /**
40
- * 读取 TTS Plugin 配置。
41
- */
42
- export declare function readTtsPluginConfig(context: PluginCommandContext): TtsPluginConfig;
43
- /**
44
- * 写入完整 TTS plugin 配置。
45
- */
46
- export declare function writeTtsPluginConfig(params: {
47
- /**
48
- * 当前执行上下文。
49
- */
50
- context: PluginCommandContext;
51
- /**
52
- * 目标配置值。
53
- */
54
- value: TtsPluginConfig;
55
- }): Promise<TtsPluginConfig>;
56
- /**
57
- * 检查 TTS 依赖可用性。
58
- */
59
- export declare function checkTtsSynthesizer(context: PluginCommandContext): Promise<TtsDependencyCheckResult>;
60
- /**
61
- * 安装或修复 TTS 依赖。
62
- */
63
- export declare function installTtsSynthesizer(params: {
64
- /**
65
- * 当前执行上下文。
66
- */
67
- context: PluginCommandContext;
68
- /**
69
- * 安装输入(可选)。
70
- */
71
- input?: TtsInstallInput;
72
- }): Promise<TtsDependencyInstallResult>;
73
- /**
74
- * 列出可用于 TTS 的内置模型选项。
75
- */
76
- export declare function listTtsModelOptions(): Array<{
77
- /**
78
- * 选项标签。
79
- */
80
- label: string;
81
- /**
82
- * 选项值。
83
- */
84
- value: string;
85
- /**
86
- * 选项说明。
87
- */
88
- hint: string;
89
- }>;
90
- //# sourceMappingURL=Dependency.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Dependency.d.ts","sourceRoot":"","sources":["../../src/tts/Dependency.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,KAAK,EAAc,SAAS,EAAE,MAAM,+CAA+C,CAAC;AAC3F,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iDAAiD,CAAC;AAC5F,OAAO,KAAK,EACV,eAAe,EACf,eAAe,EAChB,MAAM,0BAA0B,CAAC;AA4BlC,MAAM,WAAW,wBAAwB;IACvC;;OAEG;IACH,SAAS,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB;;OAEG;IACH,OAAO,CAAC,EAAE,SAAS,CAAC;CACrB;AAED,MAAM,WAAW,0BAA0B;IACzC;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,OAAO,CAAC,EAAE,SAAS,CAAC;CACrB;AAkFD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,oBAAoB,GAAG,eAAe,CAsBlF;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,MAAM,EAAE;IACjD;;OAEG;IACH,OAAO,EAAE,oBAAoB,CAAC;IAC9B;;OAEG;IACH,KAAK,EAAE,eAAe,CAAC;CACxB,GAAG,OAAO,CAAC,eAAe,CAAC,CAW3B;AAqBD;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,wBAAwB,CAAC,CAmEnC;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CAAC,MAAM,EAAE;IAClD;;OAEG;IACH,OAAO,EAAE,oBAAoB,CAAC;IAC9B;;OAEG;IACH,KAAK,CAAC,EAAE,eAAe,CAAC;CACzB,GAAG,OAAO,CAAC,0BAA0B,CAAC,CA0ItC;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,KAAK,CAAC;IAC3C;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;CACd,CAAC,CAMD"}