@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.
Files changed (318) hide show
  1. package/bin/BuiltinPlugins.d.ts.map +1 -1
  2. package/bin/BuiltinPlugins.js +0 -6
  3. package/bin/BuiltinPlugins.js.map +1 -1
  4. package/bin/asr/Plugin.d.ts +67 -7
  5. package/bin/asr/Plugin.d.ts.map +1 -1
  6. package/bin/asr/Plugin.js +229 -461
  7. package/bin/asr/Plugin.js.map +1 -1
  8. package/bin/asr/types/AsrPlugin.d.ts +114 -0
  9. package/bin/asr/types/AsrPlugin.d.ts.map +1 -0
  10. package/bin/asr/types/AsrPlugin.js +10 -0
  11. package/bin/asr/types/AsrPlugin.js.map +1 -0
  12. package/bin/auth/types/AuthPlugin.d.ts +12 -16
  13. package/bin/auth/types/AuthPlugin.d.ts.map +1 -1
  14. package/bin/auth/types/AuthPlugin.js +9 -13
  15. package/bin/auth/types/AuthPlugin.js.map +1 -1
  16. package/bin/chat/ChatPlugin.d.ts +37 -6
  17. package/bin/chat/ChatPlugin.d.ts.map +1 -1
  18. package/bin/chat/ChatPlugin.js +58 -80
  19. package/bin/chat/ChatPlugin.js.map +1 -1
  20. package/bin/chat/Index.d.ts +4 -1
  21. package/bin/chat/Index.d.ts.map +1 -1
  22. package/bin/chat/Index.js +2 -1
  23. package/bin/chat/Index.js.map +1 -1
  24. package/bin/chat/channels/Configuration.d.ts +1 -1
  25. package/bin/chat/channels/Configuration.js +1 -1
  26. package/bin/chat/channels/RuntimeChannel.d.ts +145 -0
  27. package/bin/chat/channels/RuntimeChannel.d.ts.map +1 -0
  28. package/bin/chat/channels/RuntimeChannel.js +148 -0
  29. package/bin/chat/channels/RuntimeChannel.js.map +1 -0
  30. package/bin/chat/runtime/ChatAuthorizationRuntime.d.ts +22 -0
  31. package/bin/chat/runtime/ChatAuthorizationRuntime.d.ts.map +1 -0
  32. package/bin/chat/runtime/ChatAuthorizationRuntime.js +189 -0
  33. package/bin/chat/runtime/ChatAuthorizationRuntime.js.map +1 -0
  34. package/bin/chat/runtime/ChatChannelActions.d.ts.map +1 -1
  35. package/bin/chat/runtime/ChatChannelActions.js +19 -9
  36. package/bin/chat/runtime/ChatChannelActions.js.map +1 -1
  37. package/bin/chat/runtime/ChatChannelConfig.d.ts +2 -18
  38. package/bin/chat/runtime/ChatChannelConfig.d.ts.map +1 -1
  39. package/bin/chat/runtime/ChatChannelConfig.js +2 -73
  40. package/bin/chat/runtime/ChatChannelConfig.js.map +1 -1
  41. package/bin/chat/runtime/ChatChannelCore.d.ts +22 -1
  42. package/bin/chat/runtime/ChatChannelCore.d.ts.map +1 -1
  43. package/bin/chat/runtime/ChatChannelCore.js +5 -5
  44. package/bin/chat/runtime/ChatChannelCore.js.map +1 -1
  45. package/bin/chat/runtime/ChatPluginActionRegistry.js +1 -1
  46. package/bin/chat/runtime/ChatPluginActionRegistry.js.map +1 -1
  47. package/bin/chat/runtime/PluginPoints.d.ts +3 -3
  48. package/bin/chat/runtime/PluginPoints.js +3 -3
  49. package/bin/chat/types/ChannelStatus.d.ts +1 -1
  50. package/bin/chat/types/ChatPluginOptions.d.ts +76 -0
  51. package/bin/chat/types/ChatPluginOptions.d.ts.map +1 -0
  52. package/bin/chat/types/ChatPluginOptions.js +10 -0
  53. package/bin/chat/types/ChatPluginOptions.js.map +1 -0
  54. package/bin/image/ImagePlugin.d.ts +1 -1
  55. package/bin/image/ImagePlugin.d.ts.map +1 -1
  56. package/bin/image/ImagePlugin.js +23 -5
  57. package/bin/image/ImagePlugin.js.map +1 -1
  58. package/bin/index.d.ts +6 -3
  59. package/bin/index.d.ts.map +1 -1
  60. package/bin/index.js +2 -2
  61. package/bin/index.js.map +1 -1
  62. package/bin/skill/Action.d.ts.map +1 -1
  63. package/bin/skill/Action.js +2 -2
  64. package/bin/skill/Action.js.map +1 -1
  65. package/bin/skill/Command.js +5 -5
  66. package/bin/skill/Command.js.map +1 -1
  67. package/bin/skill/Plugin.js +1 -1
  68. package/bin/skill/Plugin.js.map +1 -1
  69. package/bin/skill/runtime/Discovery.d.ts +4 -4
  70. package/bin/skill/runtime/Discovery.d.ts.map +1 -1
  71. package/bin/skill/runtime/Discovery.js +5 -5
  72. package/bin/skill/runtime/Discovery.js.map +1 -1
  73. package/bin/skill/runtime/Paths.d.ts +1 -5
  74. package/bin/skill/runtime/Paths.d.ts.map +1 -1
  75. package/bin/skill/runtime/Paths.js +1 -9
  76. package/bin/skill/runtime/Paths.js.map +1 -1
  77. package/bin/skill/runtime/Prompt.d.ts +2 -2
  78. package/bin/skill/runtime/Prompt.d.ts.map +1 -1
  79. package/bin/skill/runtime/Prompt.js +3 -3
  80. package/bin/skill/runtime/Prompt.js.map +1 -1
  81. package/bin/skill/runtime/Store.d.ts +2 -2
  82. package/bin/skill/runtime/Store.d.ts.map +1 -1
  83. package/bin/skill/runtime/Store.js.map +1 -1
  84. package/bin/skill/runtime/SystemProvider.js +4 -4
  85. package/bin/skill/runtime/SystemProvider.js.map +1 -1
  86. package/bin/skill/runtime/Types.d.ts +3 -3
  87. package/bin/skill/runtime/Types.d.ts.map +1 -1
  88. package/bin/skill/types/{ClaudeSkill.d.ts → SkillDefinition.d.ts} +4 -4
  89. package/bin/skill/types/SkillDefinition.d.ts.map +1 -0
  90. package/bin/skill/types/{ClaudeSkill.js → SkillDefinition.js} +2 -2
  91. package/bin/skill/types/SkillDefinition.js.map +1 -0
  92. package/bin/skill/types/SkillPlugin.d.ts +2 -2
  93. package/bin/skill/types/SkillPlugin.d.ts.map +1 -1
  94. package/bin/tts/Plugin.d.ts +53 -6
  95. package/bin/tts/Plugin.d.ts.map +1 -1
  96. package/bin/tts/Plugin.js +197 -474
  97. package/bin/tts/Plugin.js.map +1 -1
  98. package/bin/tts/types/TtsPlugin.d.ts +63 -102
  99. package/bin/tts/types/TtsPlugin.d.ts.map +1 -1
  100. package/bin/tts/types/TtsPlugin.js +4 -3
  101. package/bin/tts/types/TtsPlugin.js.map +1 -1
  102. package/bin/web/PROMPT.d.ts +1 -1
  103. package/bin/web/PROMPT.d.ts.map +1 -1
  104. package/bin/web/PROMPT.js +1 -1
  105. package/bin/web/PROMPT.js.map +1 -1
  106. package/bin/web/Plugin.d.ts +66 -5
  107. package/bin/web/Plugin.d.ts.map +1 -1
  108. package/bin/web/Plugin.js +126 -450
  109. package/bin/web/Plugin.js.map +1 -1
  110. package/bin/web/WebPromptAssets.d.ts +1 -9
  111. package/bin/web/WebPromptAssets.d.ts.map +1 -1
  112. package/bin/web/WebPromptAssets.js +1 -11
  113. package/bin/web/WebPromptAssets.js.map +1 -1
  114. package/bin/web/runtime/Install.d.ts +19 -0
  115. package/bin/web/runtime/Install.d.ts.map +1 -0
  116. package/bin/web/runtime/Install.js +178 -0
  117. package/bin/web/runtime/Install.js.map +1 -0
  118. package/bin/web/types/WebPlugin.d.ts +38 -109
  119. package/bin/web/types/WebPlugin.d.ts.map +1 -1
  120. package/bin/web/types/WebPlugin.js +5 -7
  121. package/bin/web/types/WebPlugin.js.map +1 -1
  122. package/bin/workboard/Plugin.d.ts +23 -3
  123. package/bin/workboard/Plugin.d.ts.map +1 -1
  124. package/bin/workboard/Plugin.js +66 -85
  125. package/bin/workboard/Plugin.js.map +1 -1
  126. package/package.json +2 -2
  127. package/src/BuiltinPlugins.ts +0 -6
  128. package/src/asr/Plugin.ts +264 -483
  129. package/src/asr/types/AsrPlugin.ts +118 -0
  130. package/src/auth/types/AuthPlugin.ts +12 -17
  131. package/src/chat/ChatPlugin.ts +92 -89
  132. package/src/chat/Index.ts +18 -1
  133. package/src/chat/channels/Configuration.ts +1 -1
  134. package/src/chat/channels/RuntimeChannel.ts +264 -0
  135. package/src/chat/runtime/ChatAuthorizationRuntime.ts +229 -0
  136. package/src/chat/runtime/ChatChannelActions.ts +24 -9
  137. package/src/chat/runtime/ChatChannelConfig.ts +2 -100
  138. package/src/chat/runtime/ChatChannelCore.ts +20 -8
  139. package/src/chat/runtime/ChatPluginActionRegistry.ts +1 -1
  140. package/src/chat/runtime/PluginPoints.ts +3 -3
  141. package/src/chat/types/ChannelStatus.ts +1 -1
  142. package/src/chat/types/ChatPluginOptions.ts +79 -0
  143. package/src/image/ImagePlugin.ts +23 -5
  144. package/src/index.ts +29 -6
  145. package/src/skill/Action.ts +10 -7
  146. package/src/skill/Command.ts +5 -5
  147. package/src/skill/Plugin.ts +1 -1
  148. package/src/skill/runtime/Discovery.ts +14 -11
  149. package/src/skill/runtime/Paths.ts +1 -13
  150. package/src/skill/runtime/Prompt.ts +5 -5
  151. package/src/skill/runtime/Store.ts +6 -3
  152. package/src/skill/runtime/SystemProvider.ts +4 -4
  153. package/src/skill/runtime/Types.ts +3 -3
  154. package/src/skill/types/{ClaudeSkill.ts → SkillDefinition.ts} +3 -3
  155. package/src/skill/types/SkillPlugin.ts +2 -2
  156. package/src/tts/Plugin.ts +225 -492
  157. package/src/tts/types/TtsPlugin.ts +67 -102
  158. package/src/web/PROMPT.ts +1 -1
  159. package/src/web/PROMPT.ts.txt +32 -6
  160. package/src/web/Plugin.ts +119 -453
  161. package/src/web/WebPromptAssets.ts +1 -13
  162. package/src/web/runtime/Install.ts +241 -0
  163. package/src/web/types/WebPlugin.ts +38 -114
  164. package/src/workboard/Plugin.ts +80 -95
  165. package/bin/asr/Config.d.ts +0 -43
  166. package/bin/asr/Config.d.ts.map +0 -1
  167. package/bin/asr/Config.js +0 -107
  168. package/bin/asr/Config.js.map +0 -1
  169. package/bin/asr/Dependency.d.ts +0 -77
  170. package/bin/asr/Dependency.d.ts.map +0 -1
  171. package/bin/asr/Dependency.js +0 -238
  172. package/bin/asr/Dependency.js.map +0 -1
  173. package/bin/asr/InboundAugment.d.ts +0 -17
  174. package/bin/asr/InboundAugment.d.ts.map +0 -1
  175. package/bin/asr/InboundAugment.js +0 -47
  176. package/bin/asr/InboundAugment.js.map +0 -1
  177. package/bin/asr/ModelCatalog.d.ts +0 -29
  178. package/bin/asr/ModelCatalog.d.ts.map +0 -1
  179. package/bin/asr/ModelCatalog.js +0 -25
  180. package/bin/asr/ModelCatalog.js.map +0 -1
  181. package/bin/auth/Plugin.d.ts +0 -17
  182. package/bin/auth/Plugin.d.ts.map +0 -1
  183. package/bin/auth/Plugin.js +0 -199
  184. package/bin/auth/Plugin.js.map +0 -1
  185. package/bin/chat/ChatPluginTypes.d.ts +0 -122
  186. package/bin/chat/ChatPluginTypes.d.ts.map +0 -1
  187. package/bin/chat/ChatPluginTypes.js +0 -10
  188. package/bin/chat/ChatPluginTypes.js.map +0 -1
  189. package/bin/skill/types/ClaudeSkill.d.ts.map +0 -1
  190. package/bin/skill/types/ClaudeSkill.js.map +0 -1
  191. package/bin/tts/Dependency.d.ts +0 -90
  192. package/bin/tts/Dependency.d.ts.map +0 -1
  193. package/bin/tts/Dependency.js +0 -344
  194. package/bin/tts/Dependency.js.map +0 -1
  195. package/bin/tts/PluginSupport.d.ts +0 -25
  196. package/bin/tts/PluginSupport.d.ts.map +0 -1
  197. package/bin/tts/PluginSupport.js +0 -72
  198. package/bin/tts/PluginSupport.js.map +0 -1
  199. package/bin/tts/runtime/Catalog.d.ts +0 -21
  200. package/bin/tts/runtime/Catalog.d.ts.map +0 -1
  201. package/bin/tts/runtime/Catalog.js +0 -90
  202. package/bin/tts/runtime/Catalog.js.map +0 -1
  203. package/bin/tts/runtime/DependencyInstaller.d.ts +0 -143
  204. package/bin/tts/runtime/DependencyInstaller.d.ts.map +0 -1
  205. package/bin/tts/runtime/DependencyInstaller.js +0 -261
  206. package/bin/tts/runtime/DependencyInstaller.js.map +0 -1
  207. package/bin/tts/runtime/Installer.d.ts +0 -89
  208. package/bin/tts/runtime/Installer.d.ts.map +0 -1
  209. package/bin/tts/runtime/Installer.js +0 -188
  210. package/bin/tts/runtime/Installer.js.map +0 -1
  211. package/bin/tts/runtime/Paths.d.ts +0 -20
  212. package/bin/tts/runtime/Paths.d.ts.map +0 -1
  213. package/bin/tts/runtime/Paths.js +0 -32
  214. package/bin/tts/runtime/Paths.js.map +0 -1
  215. package/bin/tts/runtime/Synthesizer.d.ts +0 -44
  216. package/bin/tts/runtime/Synthesizer.d.ts.map +0 -1
  217. package/bin/tts/runtime/Synthesizer.js +0 -363
  218. package/bin/tts/runtime/Synthesizer.js.map +0 -1
  219. package/bin/tts/types/Tts.d.ts +0 -91
  220. package/bin/tts/types/Tts.d.ts.map +0 -1
  221. package/bin/tts/types/Tts.js +0 -9
  222. package/bin/tts/types/Tts.js.map +0 -1
  223. package/bin/voice/Config.d.ts +0 -43
  224. package/bin/voice/Config.d.ts.map +0 -1
  225. package/bin/voice/Config.js +0 -104
  226. package/bin/voice/Config.js.map +0 -1
  227. package/bin/voice/Dependency.d.ts +0 -77
  228. package/bin/voice/Dependency.d.ts.map +0 -1
  229. package/bin/voice/Dependency.js +0 -237
  230. package/bin/voice/Dependency.js.map +0 -1
  231. package/bin/voice/InboundAugment.d.ts +0 -17
  232. package/bin/voice/InboundAugment.d.ts.map +0 -1
  233. package/bin/voice/InboundAugment.js +0 -47
  234. package/bin/voice/InboundAugment.js.map +0 -1
  235. package/bin/voice/ModelCatalog.d.ts +0 -29
  236. package/bin/voice/ModelCatalog.d.ts.map +0 -1
  237. package/bin/voice/ModelCatalog.js +0 -25
  238. package/bin/voice/ModelCatalog.js.map +0 -1
  239. package/bin/voice/runtime/Catalog.d.ts +0 -18
  240. package/bin/voice/runtime/Catalog.d.ts.map +0 -1
  241. package/bin/voice/runtime/Catalog.js +0 -61
  242. package/bin/voice/runtime/Catalog.js.map +0 -1
  243. package/bin/voice/runtime/DependencyInstaller.d.ts +0 -145
  244. package/bin/voice/runtime/DependencyInstaller.d.ts.map +0 -1
  245. package/bin/voice/runtime/DependencyInstaller.js +0 -309
  246. package/bin/voice/runtime/DependencyInstaller.js.map +0 -1
  247. package/bin/voice/runtime/Installer.d.ts +0 -94
  248. package/bin/voice/runtime/Installer.d.ts.map +0 -1
  249. package/bin/voice/runtime/Installer.js +0 -200
  250. package/bin/voice/runtime/Installer.js.map +0 -1
  251. package/bin/voice/runtime/Paths.d.ts +0 -8
  252. package/bin/voice/runtime/Paths.d.ts.map +0 -1
  253. package/bin/voice/runtime/Paths.js +0 -26
  254. package/bin/voice/runtime/Paths.js.map +0 -1
  255. package/bin/voice/runtime/Transcriber.d.ts +0 -57
  256. package/bin/voice/runtime/Transcriber.d.ts.map +0 -1
  257. package/bin/voice/runtime/Transcriber.js +0 -329
  258. package/bin/voice/runtime/Transcriber.js.map +0 -1
  259. package/bin/voice/types/Voice.d.ts +0 -58
  260. package/bin/voice/types/Voice.d.ts.map +0 -1
  261. package/bin/voice/types/Voice.js +0 -9
  262. package/bin/voice/types/Voice.js.map +0 -1
  263. package/bin/voice/types/VoicePlugin.d.ts +0 -190
  264. package/bin/voice/types/VoicePlugin.d.ts.map +0 -1
  265. package/bin/voice/types/VoicePlugin.js +0 -9
  266. package/bin/voice/types/VoicePlugin.js.map +0 -1
  267. package/bin/web/Dependency.d.ts +0 -10
  268. package/bin/web/Dependency.d.ts.map +0 -1
  269. package/bin/web/Dependency.js +0 -10
  270. package/bin/web/Dependency.js.map +0 -1
  271. package/bin/web/PROMPT.agent-browser.d.ts +0 -7
  272. package/bin/web/PROMPT.agent-browser.d.ts.map +0 -1
  273. package/bin/web/PROMPT.agent-browser.js +0 -8
  274. package/bin/web/PROMPT.agent-browser.js.map +0 -1
  275. package/bin/web/PROMPT.web-access.d.ts +0 -7
  276. package/bin/web/PROMPT.web-access.d.ts.map +0 -1
  277. package/bin/web/PROMPT.web-access.js +0 -8
  278. package/bin/web/PROMPT.web-access.js.map +0 -1
  279. package/bin/web/runtime/Config.d.ts +0 -21
  280. package/bin/web/runtime/Config.d.ts.map +0 -1
  281. package/bin/web/runtime/Config.js +0 -79
  282. package/bin/web/runtime/Config.js.map +0 -1
  283. package/bin/web/runtime/Source.d.ts +0 -29
  284. package/bin/web/runtime/Source.d.ts.map +0 -1
  285. package/bin/web/runtime/Source.js +0 -209
  286. package/bin/web/runtime/Source.js.map +0 -1
  287. package/src/asr/Config.ts +0 -138
  288. package/src/asr/Dependency.ts +0 -336
  289. package/src/asr/InboundAugment.ts +0 -59
  290. package/src/asr/ModelCatalog.ts +0 -43
  291. package/src/auth/Plugin.ts +0 -237
  292. package/src/chat/ChatPluginTypes.ts +0 -126
  293. package/src/tts/Dependency.ts +0 -473
  294. package/src/tts/PluginSupport.ts +0 -85
  295. package/src/tts/runtime/Catalog.ts +0 -97
  296. package/src/tts/runtime/DependencyInstaller.ts +0 -436
  297. package/src/tts/runtime/Installer.ts +0 -297
  298. package/src/tts/runtime/Paths.ts +0 -39
  299. package/src/tts/runtime/Synthesizer.ts +0 -480
  300. package/src/tts/types/Tts.ts +0 -99
  301. package/src/voice/Config.ts +0 -135
  302. package/src/voice/Dependency.ts +0 -329
  303. package/src/voice/InboundAugment.ts +0 -59
  304. package/src/voice/ModelCatalog.ts +0 -43
  305. package/src/voice/runtime/Catalog.ts +0 -68
  306. package/src/voice/runtime/DependencyInstaller.ts +0 -505
  307. package/src/voice/runtime/Installer.ts +0 -324
  308. package/src/voice/runtime/Paths.ts +0 -26
  309. package/src/voice/runtime/Transcriber.ts +0 -467
  310. package/src/voice/types/Voice.ts +0 -68
  311. package/src/voice/types/VoicePlugin.ts +0 -194
  312. package/src/web/Dependency.ts +0 -17
  313. package/src/web/PROMPT.agent-browser.ts +0 -9
  314. package/src/web/PROMPT.agent-browser.ts.txt +0 -17
  315. package/src/web/PROMPT.web-access.ts +0 -9
  316. package/src/web/PROMPT.web-access.ts.txt +0 -13
  317. package/src/web/runtime/Config.ts +0 -105
  318. package/src/web/runtime/Source.ts +0 -257
@@ -1,164 +1,129 @@
1
1
  /**
2
- * TTS Plugin 类型定义。
2
+ * TtsPlugin 类型定义。
3
3
  *
4
4
  * 关键点(中文)
5
- * - TTS 的行为配置与本地模型依赖统一收敛到 `plugins.tts`。
6
- * - Console 只需要理解 plugin setup,不需要理解底层 asset 细节。
5
+ * - TTS plugin 只定义 agent 侧协议,不绑定本地模型、Python 或 City 具体实现。
6
+ * - 真实语音合成能力通过 constructor `tts` 函数注入,推荐传入 `city.ai.tts`。
7
+ * - action 最终统一返回 AI SDK UIMessage,便于 agent 统一处理音频 file part。
7
8
  */
8
9
 
9
- import type { JsonValue } from "@downcity/agent/internal/types/common/Json.js";
10
- import type { TtsAudioFormat, TtsProvider } from "@/tts/types/Tts.js";
10
+ import type { UIMessage } from "ai";
11
+ import type { JsonObject, JsonValue } from "@downcity/agent/internal/types/common/Json.js";
11
12
 
12
13
  /**
13
- * TTS Plugin 配置。
14
+ * TTS 输入。
14
15
  */
15
- export interface TtsPluginConfig {
16
+ export interface TtsPluginInput {
16
17
  /**
17
- * 兼容统一结构化配置约束的索引签名。
18
+ * 需要合成为语音的文本。
18
19
  */
19
- [key: string]: JsonValue | undefined;
20
- /**
21
- * 语音合成 provider 类型。
22
- *
23
- * 说明(中文)
24
- * - 当前固定为 `local`。
25
- */
26
- provider?: TtsProvider;
27
- /**
28
- * 当前激活的本地模型 ID。
29
- */
30
- modelId?: string;
31
- /**
32
- * 本地模型根目录(可选)。
33
- */
34
- modelsDir?: string;
20
+ text: string;
35
21
  /**
36
- * Python 可执行文件(可选)。
37
- */
38
- pythonBin?: string;
39
- /**
40
- * 默认语言提示(可选)。
41
- *
42
- * 说明(中文)
43
- * - `auto` / `zh` / `en` 等简短值即可。
22
+ * 语言提示,例如 `auto`、`zh`、`en`。
44
23
  */
45
24
  language?: string;
46
25
  /**
47
- * 默认音色 ID(可选)。
48
- *
49
- * 说明(中文)
50
- * - 主要给运行时做覆盖;Console 默认不要求手动填写。
26
+ * 音色提示或上游 provider 的 voice id。
51
27
  */
52
28
  voice?: string;
53
29
  /**
54
- * 默认输出格式。
30
+ * 输出格式提示,例如 `wav`、`mp3`、`ogg`。
55
31
  */
56
- format?: TtsAudioFormat;
32
+ format?: string;
57
33
  /**
58
- * 默认语速倍率。
34
+ * 语速倍率。
59
35
  */
60
36
  speed?: number;
61
37
  /**
62
- * 输出目录。
63
- *
64
- * 说明(中文)
65
- * - 可为相对项目根目录或绝对路径。
66
- * - 为空时默认写到 `.downcity/.cache/tts/`。
67
- */
68
- outputDir?: string;
69
- /**
70
- * 单次合成超时时间(毫秒,可选)。
38
+ * Provider 私有参数。
71
39
  */
72
- timeoutMs?: number;
40
+ provider_options?: JsonObject;
73
41
  /**
74
- * 已安装模型列表(可选)。
75
- *
76
- * 说明(中文)
77
- * - 仅作为状态快照使用,不应作为真实安装判断唯一依据。
42
+ * 允许外部 tts 函数接收其他 JSON 可序列化参数。
78
43
  */
79
- installedModels?: string[];
44
+ [key: string]: JsonValue | undefined;
80
45
  }
81
46
 
82
47
  /**
83
- * TTS 安装输入。
48
+ * TTS 返回的标准 UIMessage。
84
49
  */
85
- export interface TtsInstallInput {
86
- /**
87
- * 兼容统一结构化配置约束的索引签名。
88
- */
89
- [key: string]: JsonValue | undefined;
90
- /**
91
- * 需要安装的模型 ID 列表(可选)。
92
- */
93
- modelIds?: string[];
50
+ export type TtsPluginUiMessageResult = UIMessage;
51
+
52
+ /**
53
+ * TTS 返回的简单音频结果。
54
+ */
55
+ export interface TtsPluginSimpleAudioResult {
94
56
  /**
95
- * 安装完成后激活的模型 ID(可选)。
57
+ * 音频 URL,可为远程 URL、本地路径或 data URL。
96
58
  */
97
- activeModel?: string;
59
+ url?: string;
98
60
  /**
99
- * 是否强制覆盖已存在资源。
61
+ * data URL 音频内容。
100
62
  */
101
- force?: boolean;
63
+ data_url?: string;
102
64
  /**
103
- * 模型目录(可选)。
65
+ * 本地音频文件路径。
104
66
  */
105
- modelsDir?: string;
67
+ audio_path?: string;
106
68
  /**
107
- * Python 可执行文件(可选)。
69
+ * 音频 MIME 类型,例如 `audio/wav`。
108
70
  */
109
- pythonBin?: string;
71
+ media_type?: string;
110
72
  /**
111
- * 是否同时安装 Python 依赖。
73
+ * 建议文件名。
112
74
  */
113
- installDeps?: boolean;
75
+ filename?: string;
114
76
  /**
115
- * HuggingFace Token(可选)。
77
+ * 可选说明文本。
116
78
  */
117
- hfToken?: string;
79
+ text?: string;
118
80
  /**
119
- * 安装完成后默认输出格式(可选)。
81
+ * 允许外部 tts 函数返回其他 JSON 可序列化字段。
120
82
  */
121
- format?: TtsAudioFormat;
83
+ [key: string]: JsonValue | undefined;
122
84
  }
123
85
 
124
86
  /**
125
- * TTS 合成输入。
87
+ * TTS 输出。
126
88
  */
127
- export interface TtsSynthesizeInput {
128
- /**
129
- * 兼容统一结构化配置约束的索引签名。
130
- */
131
- [key: string]: JsonValue | undefined;
89
+ export type TtsPluginResult =
90
+ | TtsPluginUiMessageResult
91
+ | TtsPluginSimpleAudioResult;
92
+
93
+ /**
94
+ * TtsPlugin 构造参数。
95
+ */
96
+ export interface TtsPluginOptions {
132
97
  /**
133
- * 需要合成的文本内容。
98
+ * Plugin 稳定名称,默认 `tts`。
134
99
  */
135
- text?: string;
100
+ name?: string;
136
101
  /**
137
- * 覆盖当前使用的模型 ID。
102
+ * Plugin 展示标题,默认 `TTS`。
138
103
  */
139
- modelId?: string;
104
+ title?: string;
140
105
  /**
141
- * 覆盖当前语言提示(可选)。
106
+ * Plugin 用途说明。
142
107
  */
143
- language?: string;
108
+ description?: string;
144
109
  /**
145
- * 覆盖当前音色(可选)。
110
+ * 真实 TTS 能力函数。
111
+ *
112
+ * 说明(中文)
113
+ * - 推荐传入 `(input) => city.ai.tts(input)`。
114
+ * - plugin 只负责调用该函数,不关心模型、provider、鉴权或运行依赖。
146
115
  */
147
- voice?: string;
116
+ tts: (input: TtsPluginInput) => Promise<TtsPluginResult> | TtsPluginResult;
148
117
  /**
149
- * 覆盖当前输出格式。
118
+ * 默认语言提示。
150
119
  */
151
- format?: TtsAudioFormat;
120
+ language?: string;
152
121
  /**
153
- * 覆盖当前语速倍率。
122
+ * 默认音色提示。
154
123
  */
155
- speed?: number;
124
+ voice?: string;
156
125
  /**
157
- * 覆盖当前输出路径或目录。
158
- *
159
- * 说明(中文)
160
- * - 若传入带扩展名的路径,则直接写该文件。
161
- * - 若传入目录,则按默认命名生成文件。
126
+ * 默认输出格式提示。
162
127
  */
163
- output?: string;
128
+ format?: string;
164
129
  }
package/src/web/PROMPT.ts CHANGED
@@ -4,6 +4,6 @@
4
4
  */
5
5
 
6
6
  // Source: src/web/PROMPT.ts.txt
7
- const TEXT_MODULE_CONTENT = "# Web Plugin\n\n此 plugin 已内化 `web-access` 的核心联网策略。只要 plugin 启用,就应把联网任务当作一等能力处理。\n\n## 总原则\n\n- 目标驱动:像人一样思考,先定义成功标准,再选择最可能直达的起点。\n- 过程校验:每一步结果都是证据。路径不推进时,及时切换方法,不在错误方式上反复重试。\n- 一手来源优先:搜索引擎用于发现线索,结论尽量回到官网、官方平台、原始页面、官方文档或源码。\n- 完成即停止:达到目标后不要为了“看起来更完整”继续消耗额外步骤。\n\n## 工具选择\n\n- 需要发现信息来源、查关键词脉络:优先 `WebSearch`\n- 已知 URL,需要定向提取页面正文或答案:优先 `WebFetch`\n- 已知 URL,需要原始 HTML、meta、JSON-LD 等结构化内容:优先 `curl`\n- 需要登录态、动态渲染、站内导航、复杂交互或反爬站点:直接使用浏览器/CDP 能力\n- 页面正文导向内容可优先考虑 Jina 类 markdown 预处理,以节省 token;但数据面板、商品页、复杂布局页面不要盲信预处理结果\n\n## 浏览器策略\n\n- 进入浏览器层后,先理解页面结构,再决定下一步动作\n- 程序化手段快但更容易触发反爬;GUI 交互更慢但确定性更高。程序化受阻时,回退到 GUI\n- 优先使用页面自身生成的链接,不要手工猜测或裁剪站内 URL 参数\n- 只操作自己创建的标签页,不打扰用户已有标签页;任务结束后关闭自己创建的标签页\n- 遇到登录墙时,先判断它是否真的阻挡目标;只有目标确实拿不到时再要求用户登录\n\n## 并行与核实\n\n- 多个独立调研目标可并行拆分;有依赖关系的目标不要盲目并行\n- 核实类任务要回到一手来源,不要用多个二手报道互相循环印证\n\n来源说明:该内化策略参考 `https://github.com/eze-is/web-access`,并按 Downcity plugin 体系进行了收敛与改写。\n";
7
+ const TEXT_MODULE_CONTENT = "# Web Plugin\n\n此 plugin 主要注入通用联网方法论。它不选择 provider,也不保证某个具体联网工具一定存在。\n\n如果需要准备联网相关依赖,可以通过 `web` plugin 的 `install` action 安装 `web-access`、`agent-browser` skill / CLI 依赖。安装只负责准备能力,不表示运行时必须使用某个 provider。\n\n当任务需要联网、查证、阅读网页、操作网页或使用浏览器时,先根据当前可用 tools、skills 与用户目标选择合适路径。\n\n## 总原则\n\n- 目标驱动:像人一样思考,先定义成功标准,再选择最可能直达的起点。\n- 过程校验:每一步结果都是证据。路径不推进时,及时切换方法,不在错误方式上反复重试。\n- 一手来源优先:搜索引擎用于发现线索,结论尽量回到官网、官方平台、原始页面、官方文档或源码。\n- 完成即停止:达到目标后不要为了“看起来更完整”继续消耗额外步骤。\n- 能力自检:不要假设某个联网 skill/tool 一定存在;优先使用当前 system、tool 列表和已 lookup 的 skill 中明确可用的能力。\n\n## 工具选择\n\n- 需要发现信息来源、查关键词脉络:优先使用当前可用的搜索类工具或 web-access 类 skill。\n- 已知 URL,需要定向提取页面正文或答案:优先使用当前可用的 fetch/read 类工具。\n- 已知 URL,需要原始 HTML、meta、JSON-LD 等结构化内容:优先使用当前可用的 HTTP/curl/shell 能力。\n- 需要登录态、动态渲染、站内导航、复杂交互或反爬站点:优先使用当前可用的浏览器、Chrome、agent-browser 或 computer-use 类能力。\n- 页面正文导向内容可优先考虑 Jina 类 markdown 预处理,以节省 token;但数据面板、商品页、复杂布局页面不要盲信预处理结果\n\n## 浏览器策略\n\n- 进入浏览器层后,先理解页面结构,再决定下一步动作\n- 程序化手段快但更容易触发反爬;GUI 交互更慢但确定性更高。程序化受阻时,回退到 GUI\n- 优先使用页面自身生成的链接,不要手工猜测或裁剪站内 URL 参数\n- 只操作自己创建的标签页,不打扰用户已有标签页;任务结束后关闭自己创建的标签页\n- 遇到登录墙时,先判断它是否真的阻挡目标;只有目标确实拿不到时再要求用户登录\n\n## 并行与核实\n\n- 多个独立调研目标可并行拆分;有依赖关系的目标不要盲目并行\n- 核实类任务要回到一手来源,不要用多个二手报道互相循环印证\n\n## 与 skills/tools 的关系\n\n- 如果当前环境有 `web-access` skill,联网搜索、网页抓取与资料核实任务可以优先参考它的说明。\n- 如果当前环境有 `agent-browser`、browser 或 Chrome 能力,动态页面与登录态任务可以优先使用它们。\n- 如果缺少必要联网能力,直接说明缺失能力,不要假装已经联网。\n\n## 可用 action\n\n- `install`:准备联网相关 skill / CLI 依赖。\n\n调用示例:\n\n```ts\nplugin_call({\n plugin: \"web\",\n action: \"install\",\n payload: {\n target: \"agent-browser\",\n scope: \"user\",\n },\n});\n```\n";
8
8
 
9
9
  export default TEXT_MODULE_CONTENT;
@@ -1,6 +1,10 @@
1
1
  # Web Plugin
2
2
 
3
- 此 plugin 已内化 `web-access` 的核心联网策略。只要 plugin 启用,就应把联网任务当作一等能力处理。
3
+ 此 plugin 主要注入通用联网方法论。它不选择 provider,也不保证某个具体联网工具一定存在。
4
+
5
+ 如果需要准备联网相关依赖,可以通过 `web` plugin 的 `install` action 安装 `web-access`、`agent-browser` 等 skill / CLI 依赖。安装只负责准备能力,不表示运行时必须使用某个 provider。
6
+
7
+ 当任务需要联网、查证、阅读网页、操作网页或使用浏览器时,先根据当前可用 tools、skills 与用户目标选择合适路径。
4
8
 
5
9
  ## 总原则
6
10
 
@@ -8,13 +12,14 @@
8
12
  - 过程校验:每一步结果都是证据。路径不推进时,及时切换方法,不在错误方式上反复重试。
9
13
  - 一手来源优先:搜索引擎用于发现线索,结论尽量回到官网、官方平台、原始页面、官方文档或源码。
10
14
  - 完成即停止:达到目标后不要为了“看起来更完整”继续消耗额外步骤。
15
+ - 能力自检:不要假设某个联网 skill/tool 一定存在;优先使用当前 system、tool 列表和已 lookup 的 skill 中明确可用的能力。
11
16
 
12
17
  ## 工具选择
13
18
 
14
- - 需要发现信息来源、查关键词脉络:优先 `WebSearch`
15
- - 已知 URL,需要定向提取页面正文或答案:优先 `WebFetch`
16
- - 已知 URL,需要原始 HTML、meta、JSON-LD 等结构化内容:优先 `curl`
17
- - 需要登录态、动态渲染、站内导航、复杂交互或反爬站点:直接使用浏览器/CDP 能力
19
+ - 需要发现信息来源、查关键词脉络:优先使用当前可用的搜索类工具或 web-access 类 skill。
20
+ - 已知 URL,需要定向提取页面正文或答案:优先使用当前可用的 fetch/read 类工具。
21
+ - 已知 URL,需要原始 HTML、meta、JSON-LD 等结构化内容:优先使用当前可用的 HTTP/curl/shell 能力。
22
+ - 需要登录态、动态渲染、站内导航、复杂交互或反爬站点:优先使用当前可用的浏览器、Chrome、agent-browser 或 computer-use 类能力。
18
23
  - 页面正文导向内容可优先考虑 Jina 类 markdown 预处理,以节省 token;但数据面板、商品页、复杂布局页面不要盲信预处理结果
19
24
 
20
25
  ## 浏览器策略
@@ -30,4 +35,25 @@
30
35
  - 多个独立调研目标可并行拆分;有依赖关系的目标不要盲目并行
31
36
  - 核实类任务要回到一手来源,不要用多个二手报道互相循环印证
32
37
 
33
- 来源说明:该内化策略参考 `https://github.com/eze-is/web-access`,并按 Downcity plugin 体系进行了收敛与改写。
38
+ ## 与 skills/tools 的关系
39
+
40
+ - 如果当前环境有 `web-access` skill,联网搜索、网页抓取与资料核实任务可以优先参考它的说明。
41
+ - 如果当前环境有 `agent-browser`、browser 或 Chrome 能力,动态页面与登录态任务可以优先使用它们。
42
+ - 如果缺少必要联网能力,直接说明缺失能力,不要假装已经联网。
43
+
44
+ ## 可用 action
45
+
46
+ - `install`:准备联网相关 skill / CLI 依赖。
47
+
48
+ 调用示例:
49
+
50
+ ```ts
51
+ plugin_call({
52
+ plugin: "web",
53
+ action: "install",
54
+ payload: {
55
+ target: "agent-browser",
56
+ scope: "user",
57
+ },
58
+ });
59
+ ```