@tmmk/media-suite 0.1.2 → 0.1.4
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/README.md +53 -27
- package/cordis.patch.yml +14 -4
- package/package.json +17 -6
package/README.md
CHANGED
|
@@ -1,56 +1,82 @@
|
|
|
1
|
-
# media-suite ·
|
|
1
|
+
# media-suite · 媒体工具套装
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
一次安装,得到 Qwen 与 RunningHub 的全部媒体能力。
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## 装一次就有什么
|
|
6
6
|
|
|
7
7
|
```text
|
|
8
8
|
media-suite
|
|
9
|
-
├─
|
|
10
|
-
|
|
11
|
-
└─ 依赖 media-runninghub
|
|
9
|
+
├─ media-qwen 多模态理解 / 语音合成 / 场景音频生成
|
|
10
|
+
└─ media-runninghub 图片生成 / 工作流任务池(11 种任务类型)
|
|
12
11
|
```
|
|
13
12
|
|
|
14
|
-
|
|
13
|
+
装完你会得到:
|
|
15
14
|
|
|
16
|
-
|
|
17
|
-
- `
|
|
18
|
-
-
|
|
15
|
+
**Qwen 媒体**(设置 → Qwen 媒体)
|
|
16
|
+
- `qwen_omni` —— 视频 / 音频 / 图片理解,返回文本
|
|
17
|
+
- `qwen_tts` —— 文字转语音,支持预置音色与情绪指令
|
|
18
|
+
- `qwen_audio` —— 按描述生成完整音频场景,支持参考音色
|
|
19
19
|
|
|
20
|
-
|
|
20
|
+
**RunningHub 媒体**(设置 → RunningHub 媒体)
|
|
21
|
+
- `runninghub_image` —— Nano Banana 2 同步出图(文生图 / 改图 / 多图融合)
|
|
22
|
+
- `runninghub_workflow_submit` / `_types` / `_status` —— 工作流任务池,支持文生图、改图、文生视频、数字人、语音克隆、文生音乐、人声分离
|
|
23
|
+
- 配套技能 `runninghub-workflow`,告诉模型该怎么用任务池
|
|
24
|
+
|
|
25
|
+
两个 provider 各有自己的设置页,各自管理自己的 Key。
|
|
26
|
+
|
|
27
|
+
## 它本身不做什么
|
|
21
28
|
|
|
22
29
|
- 不调用任何 provider API
|
|
23
30
|
- 不保存任何 API Key
|
|
24
31
|
- 不注册任何模型工具
|
|
25
|
-
-
|
|
32
|
+
- 没有自己的设置页
|
|
33
|
+
|
|
34
|
+
它只做一件事:**把两个 provider 挂起来**。所以它的包很小,也几乎不会有 bug。
|
|
26
35
|
|
|
27
36
|
## 输出位置
|
|
28
37
|
|
|
29
|
-
|
|
38
|
+
所有产物默认落在**当前会话目录**下:
|
|
30
39
|
|
|
31
40
|
```text
|
|
32
|
-
|
|
33
|
-
|
|
41
|
+
<会话目录>/output/media/qwen/...
|
|
42
|
+
<会话目录>/output/media/runninghub/...
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
需要写到别处时,在**每次调用**里指定:
|
|
46
|
+
|
|
47
|
+
- RunningHub 任务池:传 `outputDir` / `outputName`
|
|
48
|
+
- Qwen 音频:传 `output`
|
|
49
|
+
- RunningHub 同步出图:传 `output`
|
|
50
|
+
|
|
51
|
+
相对路径按当前工作目录解析,目录自动创建。这样同一个会话里不同任务可以各自落到各自的目录,不需要改插件配置。
|
|
52
|
+
|
|
53
|
+
## 安装
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
dsh plugin --profile <profile> add @tmmk/media-suite
|
|
34
57
|
```
|
|
35
58
|
|
|
36
|
-
|
|
59
|
+
装完重启 DSH,两个设置页都会出现。
|
|
60
|
+
|
|
61
|
+
**也可以只装其中一个**:
|
|
37
62
|
|
|
38
|
-
```
|
|
39
|
-
|
|
63
|
+
```bash
|
|
64
|
+
dsh plugin --profile <profile> add @tmmk/media-qwen
|
|
65
|
+
dsh plugin --profile <profile> add @tmmk/media-runninghub
|
|
40
66
|
```
|
|
41
67
|
|
|
42
|
-
|
|
68
|
+
## 关于「已安装」列表
|
|
43
69
|
|
|
44
|
-
|
|
70
|
+
插件管理器里会**只显示 `@tmmk/media-suite` 一个条目**,它的行里包含三个插件(suite + qwen + runninghub)。这是套装模式的正常表现——provider 不作为独立 bundle 出现在列表里,但工具和设置页都已正常工作。
|
|
45
71
|
|
|
46
|
-
|
|
72
|
+
## 挂载方式(给排查问题的人)
|
|
47
73
|
|
|
48
|
-
|
|
74
|
+
`cordis.patch.yml` **插入三行**:`media-suite` + `media-qwen` + `media-runninghub`。
|
|
49
75
|
|
|
50
|
-
|
|
76
|
+
为什么必须这样:`dsh plugin add` 只把**显式安装的包**(这里是 media-suite)写进 `dsh.profile.bundles`,两个 provider 作为传递依赖只进 `dependencies`。而 DSH 只应用 `bundles` 里包的 patch——所以 provider 自己的 patch 不会跑,必须由套装自己插入它们的行。
|
|
51
77
|
|
|
52
|
-
|
|
78
|
+
> 不要在 profile 里**另外单独**再装 provider:那会让它的 patch 和套装的 patch 插同一个 id,产生冲突。只装套装即可。
|
|
53
79
|
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
80
|
+
## 开源许可
|
|
81
|
+
|
|
82
|
+
Apache-2.0,详见根目录 [LICENSE](../../LICENSE)。
|
package/cordis.patch.yml
CHANGED
|
@@ -1,10 +1,20 @@
|
|
|
1
|
-
# media-suite
|
|
2
|
-
#
|
|
3
|
-
#
|
|
4
|
-
#
|
|
1
|
+
# media-suite is the distribution shell: installing it must mount the provider
|
|
2
|
+
# rows too, because its providers arrive as plain npm dependencies and
|
|
3
|
+
# dependencies are NOT added to dsh.profile.bundles by `dsh plugin add`. Only
|
|
4
|
+
# bundle patches of packages listed in dsh.profile.bundles are applied, so the
|
|
5
|
+
# providers' own patches would never run. The suite therefore inserts all three
|
|
6
|
+
# rows itself.
|
|
5
7
|
#
|
|
6
8
|
# The suite has no config: where files land is a per-call choice, not a profile
|
|
7
9
|
# setting.
|
|
8
10
|
- insert:
|
|
9
11
|
- id: media-suite
|
|
10
12
|
name: '@tmmk/media-suite'
|
|
13
|
+
- id: media-qwen
|
|
14
|
+
name: '@tmmk/media-qwen'
|
|
15
|
+
- id: media-runninghub
|
|
16
|
+
name: '@tmmk/media-runninghub'
|
|
17
|
+
config:
|
|
18
|
+
surface: jobs
|
|
19
|
+
concurrency: 2
|
|
20
|
+
pollIntervalSeconds: 30
|
package/package.json
CHANGED
|
@@ -1,14 +1,25 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tmmk/media-suite",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.4",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "index.js",
|
|
6
|
-
"engines": {
|
|
7
|
-
"node": "^22.19.0 || >=24.0.0"
|
|
8
|
-
},
|
|
6
|
+
"engines": { "node": "^22.19.0 || >=24.0.0", "dsh": ">=0.2.1-rc.3" },
|
|
9
7
|
"packageManager": "pnpm@11.7.0",
|
|
10
8
|
"description": "媒体插件家族:一次安装 Qwen 与 RunningHub 媒体能力,并提供跨 provider 的全局设置。",
|
|
9
|
+
"repository": {
|
|
10
|
+
"type": "git",
|
|
11
|
+
"url": "git+https://github.com/do-nothing/media-suite.git",
|
|
12
|
+
"directory": "packages/media-suite"
|
|
13
|
+
},
|
|
14
|
+
"homepage": "https://github.com/do-nothing/media-suite/tree/main/packages/media-suite",
|
|
15
|
+
"keywords": [
|
|
16
|
+
"dsh-plugin",
|
|
17
|
+
"deepseek-harness",
|
|
18
|
+
"media",
|
|
19
|
+
"bundle"
|
|
20
|
+
],
|
|
11
21
|
"license": "Apache-2.0",
|
|
22
|
+
"publishConfig": { "registry": "https://registry.npmjs.org/", "access": "public" },
|
|
12
23
|
"exports": {
|
|
13
24
|
".": "./index.js",
|
|
14
25
|
"./client": "./client.js",
|
|
@@ -25,8 +36,8 @@
|
|
|
25
36
|
"README.md"
|
|
26
37
|
],
|
|
27
38
|
"dependencies": {
|
|
28
|
-
"@tmmk/media-qwen": "^0.1.
|
|
29
|
-
"@tmmk/media-runninghub": "^0.1.
|
|
39
|
+
"@tmmk/media-qwen": "^0.1.2",
|
|
40
|
+
"@tmmk/media-runninghub": "^0.1.3"
|
|
30
41
|
},
|
|
31
42
|
"dsh": {
|
|
32
43
|
"bundle": {
|